欢迎来到天天文库
浏览记录
ID:50482883
大小:423.50 KB
页数:125页
时间:2020-03-09
《汇编语言与接口技术 第2版 教学课件 作者 叶继华 第3章 8086指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章8086指令系统3.18086的寻址方式3.28086的指令系统开始8086CPU的指令系统的基本指令包括数据传送类指令、算术运算类指令、位操作类指令、串操作类指令、控制转移类指令、处理机控制类指令。后几节将分别介绍这些指令的语句格式和功能。8086CPU的指令的共同的规律l大多数数据传送类指令、算术运算类指令、位操作类指令及串操作类指令,其双操作数指令有相同的语句格式和操作规定。语句格式:[标号:]操作符OPD,OPS[;注释]l算术运算和位操作类指令的部分单操作数指令有相同的语句格式和操作规定。语句格式:[标号:]操作符OPD[;注释]3.18086的寻址方式3.1.1
2、数据的寻址方式3.1.2程序转移地址的寻址方式3.1.3对端口的寻址方式返回本章首页3.1.1数据的寻址方式1.立即寻址2.寄存器寻址3.直接寻址4.寄存器间接寻址5.寄存器相对寻址6.基址变址寻址7.相对基址变址寻址8.跨段问题返回本节1.立即寻址立即寻址方式中,指令操作码和操作数都在存储器代码段中。汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数)功能:操作数存放在指令代码中,指令下一单元的内容为立即操作数n。图形表示:【例3.1.1】MOVAX,10执行后(AX)=?该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。图形表示:执行:10
3、→AX执行后:(AX)=000AH返回本节2寄存器寻址寄存器寻址方式的操作数在指令指明的寄存器中。汇编格式:R其中R表示寄存器名。功能:操作数直接存放在寄存器R中。图形表示:R指令→操作数【例3.1.2】下列程序执行后,(AX)=?,(BX)=?MOVAX,1234HMOVBX,5678HADDAX,BX该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。图形表示:执行:1234H→AX
4、5678H→BX(AX)+(BX)→AX执行后:(AX)=68ACH,(BX)=5678H返回本节3直接寻址汇编格式:①含有变量的地址表达式。②段寄存器名:[EA]。功能:指令下一字单元的内容是操作数的偏移地址EA。图形表示:【例3.1.3】寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。执行指令:MOVAX,BUF执行后:(AX)=?图形表示:执行:(32000H)→AX执行后:(AX)=4545H返回本节4寄存器间接寻址寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操
5、作数在存储器中。汇编格式:[R]功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。偏移地址EA计算方法如下:EA=[SI]SI作间址寄存器。[DI]DI作间址寄存器。[BX]BX作间址寄存器。[BP]BP作间址寄存器。执行指令:MOVAX,[BP]执行后:(AX)=?,(BP)=?,(SS)=?,(20030H)=?图形表示如下:【例3.1.4】寄存器和存储器内容分别为:(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H返回本节5寄存器相对寻址变址寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中。汇编格式:X[R]
6、(X表示位移量,是8位或16位二进制补码表示的有符号数)功能:操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。图形表示如下:偏移地址EA计算方法如下:执行:(20036H)+(AX)→20036H执行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。返回本节【例3.1.5】设执行前:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0050H执行指令:ADD6[BX],AX执行后:(AX)=?,(BX)=?,(DS)=?,(20036H)=?图形表示如下:6.基址变址寻址基址变
7、址寻址方式中,操作数的偏移地址EA为指令中基址寄存器(BR)内容、变址寄存器(IR)内容之和,操作数在内存中。在80X86微处理器中,一般约定基址寄存器用BR表示,变址寄存器用IR表示汇编格式:[BR][IR]功能:操作数在存储器中,BR的内容加IR的内容形成操作数的偏移地址EA。有效地址EA=+MOVAX,[BX][DI]PA=(DS)×24+(BX)+(DI)或MOVAX,[BP+DI]PA=(SS)×24+(BX)+(DI)MOVAX,ES:[BX][SI]PA=(ES)×
此文档下载收益归作者所有