资源描述:
《汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计主讲:王建荣Tel:27402104E_mail:wjr@tju.edu.cnFtp://202.113.12.9/wjr/汇编语言/2005助教:罗成E_mail:luocheng19820101@hotmail.com教材:课程介绍专业基础课、必修课计算机组成原理的一个部分软件开发的一个组成部分一种低级语言的程序设计高级语言程序设计的扩展相关课程先修课高级语言程序设计计算机组成原理后续课微机接口技术计算机控制技术计算机语言发展简史机器语言汇编语言高级语言FORTRANBASICCOBOLPASCALC/C++JAV
2、A…...汇编语言汇编语言是一种面向机器的低级程序设计语言汇编语言以助记符形式表示每一条计算机指令助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号助记符一般就是表明指令功能的英语单词或其缩写用助记符表示的指令就是汇编语言中的汇编格式指令汇编格式指令以及使用它们编写程序的规则就形成汇编语言(AssemblyLanguage)汇编语言源程序以.ASM为默认的扩展名汇编程序(Assembler)80x86CPU的汇编程序主要有微软的宏汇编程序MASM。较著名的还有Borland公司的TASM,无实质差别本课程采用
3、Borland的TASM5.0汇编语言的特点汇编语言程序与处理器指令系统密切相关程序员可直接、有效地控制系统硬件资源形成的可执行文件运行速度快、占用主存容量少汇编语言可操作的系统硬件资源中央处理单元存储器(主存储器)外部设备(接口电路)汇编语言和高级语言(1)汇编语言与处理器密切相关↘汇编语言程序的通用性、可移植性较差高级语言与具体计算机无关↗高级语言程序可以在多种计算机上编译后执行汇编语言和高级语言(2)汇编语言功能有限、涉及硬件细节↘编写程序比较繁琐,调试起来也比较困难高级语言提供了强大的功能,不必关心琐碎问题↗类似自然语言的语法
4、,易于掌握和应用汇编语言和高级语言(3)汇编语言本质上就是机器语言↗可以直接、有效地控制计算机硬件↗易于产生速度快、容量小的高效率目标程序高级语言不针对具体计算机系统↘不易直接控制计算机的各种操作↘目标程序比较庞大、运行速度较慢汇编语言和高级语言(4)汇编语言的优点:直接控制计算机硬件部件可以编写在“时间”和“空间”两方面最有效的程序汇编语言的缺点:与处理器密切有关需要熟悉计算机硬件系统、考虑许多细节编写繁琐,调试、维护、交流和移植困难汇编语言和高级语言(5)汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的汇编语言的缺点
5、使得人们主要采用高级语言进行程序开发工作有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题汇编语言的应用场合程序要具有较快的执行时间,或者只能占用较小的存储容量程序与计算机硬件密切相关,程序要直接、有效地控制硬件大型软件需要提高性能、优化处理的部分没有合适的高级语言、或只能采用汇编语言的时候分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等70%以上的系统软件是用汇编语言编写的。一个简单的汇编语言源程序举例分别用C语言和汇编语言编制一程序,实现如下功能:给定两个整数(<128),将其进
6、行加法运算并在屏幕上显示加法运算结果。一个简单的汇编语言源程序举例#include"stdafx.h"#include"stdio.h"intmain(){inta,b,c;a=1;b=2;c=a+b;printf("c=%d",c);return0;}编译后的目标文件达到3.59KB一个简单的汇编语言源程序举例datasegmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssuba
7、x,axpushaxmovax,datamovds,axmoves,axmova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart汇编后的目标文件只有208字节学习汇编语言,你需要胆量:不要害怕去接触那些计算机的内部工作机制。知识:了解计算机常用的数制,特别是二进制、十六进制、八进制,以及计算机保存数据的方法
8、。开放:接受汇编语言与高级语言的差异,而不是去指责它如何的不好读。经验:要求你拥有任意其他编程语言的一点点编程经验。头脑。为什么学习汇编如果你仅仅只是想混口饭吃,找个工作,可能教你成为MFC的高手之类的书对你就足够了。但