资源描述:
《微机原理课后答案-第03章-8086的指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章8086的指令系统8086指令特点8086的寻址方式8086的指令格式及数据类型8086的指令集3.18086指令特点1.8086具有灵活的指令格式2.8086有较强的运算指令3.8086指令有极强的寻址能力4.8086指令有处理多种数据能力3.28086的寻址方式寻址方式就是指令中用于说明操作数所在地址的方法MOVAX,1234H;B83412MOVAX,[1234H];A13412一、8086的寻址方式说明1.有效地址EA(EffectiveAddress)当操作数在内存中时,指令的地址码(操作码)给出所访问的内存单元
2、的逻辑地址。在寻址方式中,逻辑地址的形成是由多个分量组合而成,该组合地址又叫有效地址。2、MOV数据传送指令其格式为:MOV目的操作数,源操作数目的操作数和源操作数均可采用不同的寻址方式,两个操作数的类型必需一致。二、寻址方式介绍1.立即寻址(Immediateaddressing)操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。例:MOVAX,34EAHB8EA34MOVBL,20HB3202、寄存器寻址(Registeraddressing)操作数在寄存器中,指令中源操作数和目的
3、操作数都可用这种寻址方式。例:MOVAL,BL88D8MOVAX,1234HB83412MOVAL,AH88E03、直接寻址(Directaddressing)当指令中的源操作数或目的操作数,采用直接给出被访问内存单元的逻辑地址时,这种寻址方式称直接寻址。例:MOVAX,[3E4CH]A14C3EMOV[1234H],ALA234124、寄存器间接寻址(Registerindirectaddressing)内存单元的逻辑偏移地址通过寄存器间接给出。例:MOVSI,61A8HMOVDX,[SI]5、基址/变址寻址(Based/In
4、dexedaddressing)这种寻址方式中提出位移量的概念,即在寄存器间接寻址给出的偏移地址上,加一相对位移量。位移量是一带符号的16位16进制数。当使用BX或BP寄存器时,称基址寻址;使用SI或DI寄存器时,称变址寻址。例:MOVCX,36H[BX]MOV-20[BP],AL6、基址加变址寻址(BasedIndexedaddressing)它的EA是由三部分组成的,基址寄存器BX或BP的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。例:MOVAX,8AH[BX][SI]该例中
5、EA=8AH+BX+SI物理地址=DS×10H+8AH+BX+SI7、其他A、隐含寻址在指令中没有明显的标出,而指定寄存器参加操作,称之为“隐含寻址”。DAAMULBLB、串寻址(Stringaddressing)串寻址方式仅在8086的串指令中使用。规定源操作数的逻辑地址为DS:SI;目的操作数的逻辑地址为ES:DI。当执行串指令的重复操作时,根据设定的方向标志DF,SI和DI会自动调整。c、I/O(输入/输出)端口寻址(I/Oportaddressing)当操作数在外部设备时,使用I/O指令。此时有两种不同的寻址方式访问I/
6、O端口。(1)直接端口寻址方式。(2)采用DX寄存器间接寻址方式(3)输入指令中目的操作数可为AL或AX;输出指令中源操作数可为AL或AX。例:INAL,25HE525HMOVDX,3E4HOUTDX,ALEE3.38086的指令格式及数据类型指令由操作码和操作数(地址码)组成。8086的指令长度是可变的,一条指令一般由1-6个字节组成。一、指令中的操作数1、单操作数指令指令助记符指令的16进制代码INCAX40HINCBX43H2、双操作数指令指令助记符指令的16进制代码MOVAL,04B004HMOVAX,04B804003
7、、三个操作数指令8086指令系统中,大多数指令中只有1-2个操作数,但也有少数指令中有3个操作数,不过有一操作数隐含在操作码中。例:ADCAX,BX该指令完成操作数AX、BX和CF位相加。二、指令中的数据类型无符号数带符号数ASCII码BCD数(压缩BCD和非压缩BCD)3.48086的指令集8086指令系统按功能可分为6大类型:1、数据传输类2、算术运算类3、逻辑运算类4、串操作类5、程序控制类6、处理机控制类一、数据传送指令数据传送指令又可以分成4种:l通用数据传送l输入/输出数据传送l目的地址传送l标志寄存器转送指令的共同
8、特点是:1、除POP和SAHF指令外,这类指令的操作结果不会影响FR寄存器中的标志。2、指令中有两个操作数,目的操作数和源操作数,其执行过程为:目的操作数源操作数,当指令中仅列出一个操作数时,另一操作数为隐含。常用的符号累加器aax,al寄存器r:ax,bx,c