汇编语言程序设计 第5章

汇编语言程序设计 第5章

ID:40610184

大小:945.10 KB

页数:89页

时间:2019-08-05

汇编语言程序设计 第5章_第1页
汇编语言程序设计 第5章_第2页
汇编语言程序设计 第5章_第3页
汇编语言程序设计 第5章_第4页
汇编语言程序设计 第5章_第5页
资源描述:

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

1、汇编语言程序设计吴向军中山大学计算机科学系第5章微机CPU的指令系统5.1汇编语言指令格式5.1.1指令格式汇编语言的指令格式如下:指令助忆符[操作数1[,操作数2[,操作数3]]](*)[;注释]指令助忆符体现该指令的功能,它对应一条二进制编码的机器指令。一条指令可以没有操作数,也可以有一个、二个或三个操作数。绝大多数指令的操作数要显式的写出来,但也有指令的操作数是隐含的。当指令含有操作数,并要求在指令中显式地写出来时,则在书写时必须遵守:指令助忆符和操作数之间要有分隔符,分隔符可以是若干个空格或TAB键;如果指令含有多个操作数,那么,操作数之间要用逗号“,”分开。指令后面还可以书写注释内容

2、,不过,要在注释之前书写分号“;”。(*)操作数1为第一操作数,操作数2(如有的话)为第二操作数,其后以此类推。第5章微机CPU的指令系统5.1.2了解指令的几个方面在学习汇编指令时,指令的功能无疑是我们学习和掌握的重点,但要准确、有效地运用这些指令,我们还要熟悉系统对每条指令的一些规定或约束。归纳起来,对指令还要掌握以下几个方面内容:要求指令操作数的寻址方式指令对标志位的影响、标志位对指令的影响指令的执行时间,对可完成相同功能的指令要选用执行时间短的指令第5章微机CPU的指令系统5.2指令系统5.2.1数据传送指令指令系统是CPU指令的集合,CPU除了具有计算功能的指令外,还有一些实现其它功

3、能的指令,也有为某种特殊的应用而增设的指令。指令按其功能分成以下几大类:数据传送指令、标志位操作指令、算术运算指令、逻辑运算指令、移位操作指令、位操作指令、比较运算指令、循环指令、转移指令、条件设置字节指令、字符串操作指令、ASCII-BCD码运算调整指令和处理器指令等。数据传送指令分:传送指令、交换指令、地址传送指令、堆栈操作指令、查表指令和I/O指令等。除指令SAHF和POPF指令外,本类的其它指令都不影响标志位。第5章微机CPU的指令系统1.传送指令MOV(MoveInstruction)传送指令是使用最频繁的指令,它相当于高级语言中的赋值语句。格式如下:MOVReg/Mem,Reg/M

4、em/Imm(*)指令的功能是把源操作数(第二操作数)的值传给目的操作数(第一操作数)。指令执行后,目的操作数的值被改变,而源操作数的值不变。当存储单元是该指令的一个操作数时,该操作数的寻址方式可以是任意一种存储单元寻址方式。下面列举几组正确的指令例子:源操作数是寄存器源操作数是存储单元源操作数是立即数(*)Reg—Register(寄存器),Mem—Memory(存储器),Imm—Immediate(立即数),它们可以是8位、16位或32位(特别指出其位数的除外)。第5章微机CPU的指令系统对MOV指令有以下几条具体规定,其中有些规定对其它指令也同样有效。两个操作数的数据类型要相同,要同为8

5、位、16位或32位;如:MOVBL,AX等是不正确的;两个操作数不能同时为段寄存器,如:MOVES,DS等;代码段寄存器CS不能为目的操作数,但可作为源操作数,如:指令MOVCS,AX等不正确,但指令MOVAX,CS等是正确的;立即数不能直接传给段寄存器,如:MOVDS,100H等;立即数不能作为目的操作数,如:MOV100H,AX等;指令指针IP,不能作为MOV指令的操作数;两个操作数不能同时为存储单元,如:MOVVARA,VARB等,其中VARA和VARB是同数据类型的内存变量。第5章微机CPU的指令系统对于规定2、4和7,我们可以用通用寄存器作为中转来达到最终目的。功能描述不正确的指令可

6、选的解决方法把DS的值传送给ESMOVES,DSMOVAX,DSMOVES,AX把100H传给DSMOVDS,100HMOVAX,100HMOVDS,AX把字变量VARB的值传送给字变量VARAMOVVARA,VARBMOVAX,VARBMOVVARA,AX第5章微机CPU的指令系统2.传送—填充指令(Move-and-FillInstruction)传送—填充指令是把位数短的数据传送给位数长的目的操作数。MOVSX/MOVZXReg/Mem,Reg/Mem/Imm;80386+指令的主要功能和限制与MOV指令类似,不同之处是:在传送时,对目的操作数的高位进行填充。根据其填充方式,又分为:符号

7、填充和零填充。例5.1已知:AL=87H,指令MOVSXCX,AL,MOVZXDX,AL执行后,问CX和DX的值是什么?第5章微机CPU的指令系统3.交换指令XCHG(ExchangeInstruction)交换指令XCHG是两个寄存器,寄存器和内存变量之间内容的交换指令,两个操作数的数据类型要相同。XCHGReg/Mem,Reg/Mem该指令的功能和MOV指令不同,后者是一个操作数的内容被修改,

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

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

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