欢迎来到天天文库
浏览记录
ID:50283746
大小:484.00 KB
页数:12页
时间:2020-03-11
《(补充讲稿)8086指令二进制编码的格式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章:4.1计算机指令格式操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分,其长度取决于指令系统中的指令条数操作对象(操作数)是指令执行的参与者,即各种操作的对象有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数操作码操作对象指令由操作码和操作对象两部分组成4.1计算机指令格式零地址指令,一般有如下两种情况:无需任何操作数,如空指令所需操作数是隐含约定的一地址指令,一般有如下两种形态:只有目标操作数,功能:OP(D1)→D1隐含约定目的操作数,功能:按D1取
2、出源操作数,从约定的累加器A中取出目的操作数进行OP运算,结果存入A。即(D1)OP(A)→AOP格式:NOP;空操作CLI;清除中断标志OP格式:D1例如:INCCX;(CX)+1→CXOP格式:D1例如:MULBL;(AL)*(BL)→AL4.1计算机指令格式二地址指令格式功能(D1)OP(D2)→D1举例目的OPD1D1源ADDCX,2000H;(CX)+2000H→CXADDAX,BX;(AX)+(BX)→AX4.1计算机指令格式三地址指令格式功能(D1)OP(D2)→D3大、中型机上采用,微型机一般不用OPD1D2D3第4章:指
3、令的助记符格式(补充)操作数2,常被称为源操作数src(一般在执行过程中保持不变),它表示参与指令操作的一个对象操作数1,成被称为目的操作数dest(一般涌来存放结果),它不仅可以作为指令操作的一个对象,还可以用来存放指令操作的结果分号后的内容是对指令的解释操作码[操作数1],[操作数2];注释汇编语句格式8086/8088CPU指令系统格式举例操作码寻址方式与寄存器号位移量/立即数位移量/立即数立即数立即数第1字节2字节3字节4字节5字节6字节4.380X86指令(编码)格式与寻址方式4.3.18086/8088/80286指令编码格式
4、opcodemodregr/mdispData操作码方式寄存器(Mod字节)位移量立即数第一个字节为操作码第二个字节为操作数的寻址方式,分三个域第三部分为操作数关于寻址方式字节的分析操作码字节中的D1、D0位分别用于表示指令中数据传送的方向和操作数类型D=0,则reg域指定的寄存器用作源操作数D=1(目的Destination),则reg域指定的寄存器用作目的操作数,而源操作数可来自r/m域中的存储器或另一个寄存器W(宽度)用于表示操作数是8位还是16位。W=0,指令中两个操作数均为8位,W=1,则为16位。DWD7D6D5D4D3D2D
5、1D0D7D6D5D4D3D2D1D0Modregr/m操作码字节寻址方式字节Reg域:规定一个寄存器操作数,他在指令中作为源操作数还是目的操作数由D位规定Mod域:用来区分另一个操作数是在寄存器,还是在存储器中关于寻址方式字节的分析r/m域:受寻址方式mod域所控制。若mod=11为寄存器寻址,r/m域指出第二个操作数所在寄存器号;mod=00、01、10时均为存储器寻址方式,r/m域指出应如何求得操作数存放在寄存器中的有效地址举例例1:写出指令MOV[BX+DI-6],CL的机器语言编码1.可用符号写成MOVmem,reg的形式,故该
6、指令编码形式为:100010DWmodregr/mdisp82.由于目的数是存储器寻址,D=0和reg域指定了源寄存器。CL的reg编码为001,操作数为8位,W=0,则有:10001000mod001r/mdisp83.r/m=001,是对[BX+DI+disp]的寻址计算。位移量disp=-6,为FAH。当mod=01时,为选取8位位移量,则有:100010000100100111111010=88H、49H、FAH例2:写出MOVAH,[BX+DI+50H]的机器语言编码。例3:写出ADDAX,[BX+DI+0826H]的机器语言编
7、码。opcodeDWmodregr/mdisp8100010100110000101010000=8AH、61H、50HopcodeDWmodregr/mDisp-LDisp-H00000011010000010010011000001000=03H、41H、26H、08H
此文档下载收益归作者所有