第5章汇编语言程序设计ppt课件.ppt

第5章汇编语言程序设计ppt课件.ppt

ID:58699563

大小:336.50 KB

页数:71页

时间:2020-10-04

第5章汇编语言程序设计ppt课件.ppt_第1页
第5章汇编语言程序设计ppt课件.ppt_第2页
第5章汇编语言程序设计ppt课件.ppt_第3页
第5章汇编语言程序设计ppt课件.ppt_第4页
第5章汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第5章汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言程序设计汇编语言是机器语言的符号表示,是用指令的助记符、符号地址、标号等书写程序的语言。用汇编语言编写的程序,叫汇编语言源程序,或简称源程序。只有将源程序翻译成目标程序,才能在机器上运行,这种把汇编语言程序翻译成机器语言程序的过程称为汇编。计算机完成汇编任务是由汇编程序(MASM-MacroAssembler)这样一个软件工具实现的,汇编程序加工的对象是汇编语言源程序,加工的结果是目标程序。5.1汇编语言的基本概念一、分段结构汇编语言的一个实例DATASEGMENTADW123BDW456SUMDW?DATAENDSCODESEGMENTASSUMECS:CODE,

2、DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,AADDAX,BMOVSUM,AXMOVAH,4CHINT21HCODEENDSENDSTART5.1.1汇编语言源程序结构二、汇编语言语句指令性语句是能产生目标代码,CPU可以执行的能完成特定功能的语句。其格式为:[标号:][前缀]指令助记符操作数[;注释]指示性语句,又叫伪指令是没有对应的机器指令,不能执行,只给汇编程序提供一种信息,用来定义变量,分配存储单元,指示程序开始和结束等。其格式为:[名字]伪指令定义符操作数[;注释]名字是给伪指令取的名称,通常是变量名、段名、过程名、符号名等。两种语句的区别

3、:在形式上:带不带冒号,是否可转向它。在本质上:汇编时能否形成对应的机器码。三、操作数(数据项)汇编语言中使用的操作数可以是常数、寄存器、名字(变量)、标号或表达式1、常数1)数字常量用于伪指令中给变量赋值,或作为指令语句中的立即数、直接地址。2)字符串常量用单引号引起来的字符或字符串也代表常数。例:’A’,’BCDE’,汇编时被翻译成对应的ASCII码41H和42H,43H,44H,45H。3)符号常量PORTEQU20HINAL,PORT2、寄存器80X86的寄存器可以作为指令的操作数。8位AHALBHBLCHCLDHDL16位AXBXCXDXBPSPSIDICSDSSSES

4、32位EAXEBXECXEDXEBPESPESIEDIDSESSSCSFSGS3、变量变量是内存中的数据区,在程序中作为存储器操作数来使用。在除代码段以外的其它段中定义。变量主要有三种属性:①段值—变量定义所在段的段地址②偏移量—变量单元地址与段起始地址之间的位移量。③类型—主要有字节、字和双字三种。4、标号标号是可执行指令语句所存放单元的符号地址,可作为转移指令的转移地址。标号也有三种属性:段值总是在CS段寄存器中,偏移量概念与变量同,类型分NEAR和FAR两种。NEAR—表示标号所在语句与转移指令或调用指令在同一代码段内,只需改变IP即可。FAR—标号所在语句与转移指令或调用

5、指令不在同一码段内。5、表达式表达式由运算对象及运算符组成,运算对象可以是常数、寄存器、变量或标号。在汇编时由汇编程序对它进行运算,得到的运算结果可以是一个常数,也可以是一个存储器的地址。表达式中的各类运算符如下:有+、-、*、/,以及MOD,其中MOD表示除法运算后得到的余数。例:19/7的商是2,19MOD7则为5(余数)算术运算符可以用于数字表达式,例:MOVAL,2*7汇编时计算表达式形成指令为:MOVAL,0EH算术运算符也可以用于地址表达式,对地址运算的结果应有明确的物理意义,例两个地址的乘或除无意义,而加或减则可以,例:LEASI,SUM+3表示变量SUM的地址加上

6、3得到的和作为新存储器地址。(1)算术运算符逻辑运算符有AND、OR、XOR和NOT,它们只能用于数字表达式中。例:MOVCL,36HAND0FH汇编时形成指令:MOVCL,06H这些逻辑运算符也是8086/8088的指令助记符,但不会造成混乱,前者在汇编时进行,而后者在指令执行时进行的。例:ANDDX,PORTAND0FEH后一个逻辑运算符AND在汇编时进行,若PORT为81H,则汇编后表达式算出为80H。执行前一个指令助记符AND时,将(DX)与80H相与,结果在DX中。(2)逻辑运算符PORTEQU81H共有6个,它们为:EQ(相等),NE(不等),LT(小于),GT(大于

7、),LE(小于或等于),GE(大于或等于)关系运算符的两个操作数必须都是数字或者是同一段内的两个存储器地址。关系为真,结果为0FFH或0FFFFH关系为假,结果为0例:MOVBX,PORTGE5若PORT的值大于等于5,则汇编后为:MOVBX,0FFFFH若PORT的值小于5,则汇编后为:MOVBX,0(3)关系运算符它可以把存储器一些特征作为数值送回。这些操作符有OFFSET,SEG,TYPE,SIZE及LENGTH。OFFSET运算符用来取存储单元的偏移量。例:MOVSI,O

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。