资源描述:
《第3章汇编语言-寻址方式ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章8086/8088机器语言指令movax,12hcalldisplayJmp1234h1主要内容:指令格式操作数的寻址方式六大类指令的操作原理:操作码的含义指令对操作数的要求指令执行的结果23.1寻址方式指令——控制计算机完成指定操作的命令机器指令——指令的二进制代码形式。例如:CD21H汇编指令——助记符形式的指令。例如:INT21H指令系统——CPU所有指令及其使用规则的集合8088/8086指令系统:(1)指令向后兼容(x86系列)(2)应用广泛,资料易于寻找操作码操作数指令一般格式:1010101
2、1001000013指令的基本构成操作码[操作数],[操作数]说明要执行的是什么操作操作对象,可以有0个、1个或2个目的源例:4指令举例:ADDAX,[SI+6]MOVAX,BX操作码操作数INC[BX]INCBXHLT53.1.1操作数种类两大类:数据操作数、转移地址操作数1、数据操作数:分四类(1)立即数(常数)指令中要操作的数据在指令中立即数只能用作源操作数,如立即数的取值范围如下:8位16位无符号数00H-FFH(0-255)0000H-FFFFH(0-65535)带符号数80H-7FH(-128~12
3、7)8000H-7FFFH(-32768~32767)MOVAX,0FA00H;正确MOV8000H,DX;错误6(2)寄存器操作数指令中要操作的数据放在指定的寄存器中8个通用寄存器或4个段寄存器中的操作数7只能存放字操作数段寄存器存放当前操作数的段基地址SIDIBPSPCSDSESSSmovax,bxmovcs,ax8(3)存储器操作数指令中要操作的数据存放在存储单元中存储器操作数字节字双字124类型存储单元个数(4)I/O操作数:操作数来自(送往)I/O端口(设备)2.转移地址寻址方式:程序运行不能顺序,需
4、要转到其它地方继续执行。9寻址方式——寻找操作数的方法寻找操作数的地址(一般指源操作数)寻找要执行的下一条指令的地址在8086指令系统中,说明操作数所在地址的寻址方式可分为8种:①立即寻址⑤寄存器相对寻址②直接寻址⑥基址-变址寻址③寄存器寻址⑦相对的基址-变址寻址④寄存器间接寻址⑧隐含寻址3.1.28086的寻址方式10操作数(为一常数)直接由指令给出(此操作数称为立即数)立即寻址只能用于源操作数例:MOVAX,1C8FHMOVBYTEPTR[2A00H],8FH错误例:×MOV2A00H,AX;错误!1)立即
5、数寻址11立即数操作码低8位高8位存储器MOV操作码02H31HAHAL代码段代码段立即寻址指令在存储器中的存放形式AX指令操作例:MOVAX,3102H;AX3102H执行后,(AH)=31H,(AL)=02H122)寄存器寻址操作数放在某个寄存器中源操作数与目的操作数字长要相同寄存器寻址与段地址无关例:MOVAX,BXMOV[3F00H],AXMOVES:[3F00H],AXMOVCL,AL错误例:×MOVAX,BL;字长不同×MOVES:AX,DX;寄存器与段无关13AXSI2233H2233H指令操作例
6、:MOVSI,AX;SI(AX)指令执行前:(AX)=2233H指令执行后:(AX)=2233H,(SI)=2233H143)直接寻址操作数在内存中,操作数的16位偏移地址在指令中直接给出偏移地址也称为有效地址(EA,EffectiveAddress)默认的段寄存器为DS,但也可以显式地指定其他段寄存器——称为段超越前缀偏移地址也可用符号地址来表示,如ADDR、VAR例:MOVAX,[2A00H]MOVDX,ES:[2A00H]MOVSI,TABLE_PTRMOVSI,[TABLE_PTR]15指令操作例:MO
7、VAX,[3102H]AL(3102H),AH(3103H)如果(DS)=2000H,(23012H)=CDH,(23013H)=ABH则操作数的物理地址为:20000H+3102H=23102H(20000H=2000H*10H)指令执行后:(AX)=ABCDHMOV操作码02H31HAHAL23102HCDHABH存储器代码段数据段..164)寄存器间接寻址操作数在内存中,操作数的偏移地址(有效地址EA)放在寄存器中只有SI、DI、BX和BP可作间址寄存器例:MOVAX,[BX]MOVCL,CS:[DI]错
8、误例:×MOVAX,[DX]×MOVCL,[AX]EA=(BX)(BP)(SI)(DI)17指令操作例:MOVCX,[SI]若(DS)=6000H,(SI)=1200H,(61200H)=44H,(61201H)=33H则指令执行后,(CX)=3344H。44H33H60001200DSSI600006120061200HCX存储器数据段+)120044H33H185)寄存器相对寻址E