资源描述:
《第4章8086指令系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第4章8086/8088指令系统共7类:数据传送指令、算术运算、位操作、串处理(11章)、程序控制指令(6、7、8章)输入/输出(9章)、处理机控制指令一、数据传送指令MOV(Move)传送PUSH(Pushontothestack)进栈POP(Popfromthestack)出栈XCHG(Exchange)交换XLAT换码指令1.通用数据传送指令・MOV指令格式为:MOVDST,SRC执行的操作:(DST)<-(SRC)dst目的操作数,src源操作数例:MOVAX,10;10->AXMOVBX,DX;(DX)->BXMem:存储器(内存:寻址方式包括直接寻
2、址、寄存器间接寻址、基址或变址、基址加变址);ac:累加器(AX,AL)reg:寄存器segreg:段寄存器(ds,cs,ss,es)九种格式:(1)MOVmem,ac;将累加器的内容送存储单元例:MOV[X],AL;(AL)->X指向的存储单元MOV[bx],ax;(Ax)-〉bx指向的存储单元MOV[BX+SI],AX(2)MOVac,memMovax,[x]/movax,x;X指向的存储单元的内容二〉ax(3)movsegreg,reg/mem注:cs不能用(CS不能作为目的操作数,能用DS,ES,SS)例MOVDS,BX;(BX)=>DS(4)MOVr
3、eg/mem,segregMovax,es;(es)=>ax(5)movregl,reg2;(reg2)=>reglmovdx,ex/movdh,ex;(x)(6)movmem,regmov[si],exmovx,bx;(bx)=>X指向的存储单元中(7)movreg,mem(8)movreg,data;将立即数送寄存器Movbx,555;movcl,555;(X)555操作数超界(9)movmem,data;将立即数送存储器(存储在内存单元中)Movwordptr[OlOOh],10;将立即数10以字方式存储到数据段0100H单元中。Movbyteptr[s
4、i],40Mov[y],[x];x->y(错){MOVAX,[X](正确)MOV[Y],AX}・交换指令(XCHG)格式为:XCHG0PR1,0PR2执行的操作:(0PR1)(0PR2)将两个操作数的内容互换。Oprl、opr2:mem/reg例:XCHGAX,BX;(AX)〈--―(BX)XCHGEX],AX,(变量X)GT(AX)X,丫为变量,交换内容。Movax,[x];x->axXchgax,[y];axGTyMov[x],ax;axTx•PUSH进栈指令格式为:PUSHSRC执行的操作:(SP)〈-(SP)-2((SP)+1,(SP))<-(SRC)
5、.POP出栈指令格式为:POPDST执行的操作:(DST)<-((SP+1),(SP))(SPX-(SP)+21.累加器专用传送指令IN(Input)输入OUT(Output)输出XLAT(Translate)换码这组指令只限于使用累加器AX或AL传送信息.・IN输入指令长格式为:咽AL,PORT(字节)INAX,PORT(字)执行的操作:(AL)<-(PORT)(字节)(AX)〈-(PORT+1,PORT)(字)短格式为:INAL,DX(字节)INAX,DX(字)执行的操作:AL<-((DX))(字节)AX<-((DX)+1,DX)(字).OUT输出指令长格
6、式为:OUTPORT,AL(字节)OUTPORT,AX(字)执行的操作:(PORT)<-(AL)(字节)(PORT+1,PORT)<-(AX)(字)短格式为:OUTDX,AL(字节)OUTDX,AX(字)执行的操作:((DX))<-(AL)(字节)((DX)+1,(DX))<-AX(字)在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000WFH.其屮前256个端口((TFFH)可以直接在指令中指定,这就是长格式中的PORT,此吋机器指令用二个字节表示,第二个字节就是端口号•所以用长格式时可以在指定中直接指定端口号,但只
7、限于前256个端口•当端口号>=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFII),然后再用IN或OUT指令来传送信息..XLAT换码指令格式为:XLATOPR或:XLAT执行的操作:(AL)<-((BX)+(AL))二、地址送寄存器指令LEA(Loadeffectiveaddress)有效地址送寄存器LDS(LoadDSwithPointer)指针送寄存器和DSLES(LoadESwithPointer)指针送寄存器和ES.LEA有效地址送寄存器格式为:LEAREG,SRC执行的操作:(REG)GSRC将源
8、操作数的有效地址送目的(寄存器)指令把