欢迎来到天天文库
浏览记录
ID:22950558
大小:80.50 KB
页数:7页
时间:2018-11-02
《《汇编语言指令》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、8088指令系统总结预备知识:符号含意、数据传送原则符号含意符号含意opr操作数src源操作数dst目的操作数mem存储器im立即数seg段寄存器reg通用寄存器EA偏移地址PA物理地址nn直接地址DISP8:8位偏移地址DISP16:16位偏移地址数据传送原则口诀数据传送原则寄段储间互传数,seg、reg、mem之间的数据可以相互传送。立即只入寄和储。im可入reg、mem只有寄间互换数,reg之间的数据可以传送。Mem间、seg间不可自传CS立即不可目,CS和立即数不可入,不能当目的操作数8088指令系统8088指令系统分六
2、大类一、数据传送指令二、算术运算指令三、逻辑运算与位移指令四、串操作指令五、控制与转移指令六、CPU控制指令一、数据传送指令1.通用传送指令(1)传送指令 MOVdst,src 功能:dst←src(2)堆栈操作指令人WPUSHsrc 作用:SP←SP-2((SP+1)+SP)←srcsrc(regsegmem)POPdst 作用:dst←((SP+1)+SP)SP←SP-2dst(regsegmem)78088指令系统总结 第7页 共7页(3)交换指令XCHGOPR1,OPR2OPR1←→OPR21.累加器传送指令(
3、1)输入输出指令256B短格式:直接寻址,64K长格式:直接、间接寻址,PORT为8位口地址输入指令:直接寻址INAX,PORTINAL,PORT间接寻址INAX,DXINAL,DX输出指令:直接寻址OUTAX,PORTOUTAL,PORT间接寻址OUTAX,DXOUTAL,DX(2)换码指令XLATAL←(BX+AL)(BX)为mem地址2.地址传送指令(1)有效地址传送寄存器LEAreg16,mem作用:mem的EA→reg16(2)指针送寄存器和DS指令LDSreg16,mem32作用:reg16←mem32的低字高字→D
4、S(3)指针送寄存器和有ES指令LESreg16,mem32作用:reg16←mem32的低字高字→ES3.标志寄存器传送指令(1)取标志指令:LAHFF的低字节→AH(2)置标志指令:SAHFAH→flag的低字节(3)标志入栈指令:PUSHFSP-2→SPF→(SP+1):SP(4)标志出栈指令:POPF(SP+1):SP→FSP+2→SP二、算术运算指令1.加法类指令(Add)opr-regmemB/W(1)不带进位加法ADDdst,srcdst←dst+src影响OSZAPC(2)带进位加法 ADCdst,srcdst←
5、dst+src+CF 影响OSZAPC(3)加1指令 INCopropr←opr+1 影响OSZP(4)组合十进制调整 DAA 放在ADD后(5)非组合十进制调整 AAA 放在ADC后原理:2个十进制数相加,可能出现非法数(A到F),需用调整指令,进行加6调整变成合法十进制数。十进制=BCD 组合=压缩 组合BCD占4位 非组合BCD占8位 2.减法类指令(substract)(1)减法指令 SUBdst,src ;dst←dst-src 影响标志位OSZAPC(2)带借位减法指令 SBBdst,src ;dst←
6、dst-src-CF 78088指令系统总结 第7页 共7页影响标志位OSZAPC(3)减1指令 DEC src影响OSZP(4)求补指令 NEG src ;negatesrc←0-src0-src=FFH-src+1 FFH-src=求反(5)比较指令 COMP dst,src难在带符号数比较:SF⊕OF=0 A>B,SF⊕OF=1,A<B(6)组合十进制减法调整指令 DAS(7)非组合十进制减法调整指令 AAS3.乘法类指令multiplication(1)无符号数乘法MUL src;AX←src8×AL
7、DX:AX←src16×AX,影响F:OC(2)有符号数乘法IMUL src;AX←src8×ALDX:AX←src16×AX,影响F:OC(3)组合十进制乘法调整指令 AAM 注意:1乘数和被乘数都是非组合BCD码。2AAM用于乘法指令MUL之后。3影响F:SZP原理:AH←AL/0AHAH←AL%0AH(%为取余操作)4.除法类指令(Division)(1)无符号数除法 DIVsrc;AX÷src8商进AL,余数进AH;(DX:AX)÷src16商进AX,余数进DX,不影响F。(2)有符号数除法 IDIVsrc;算法同上。
8、注意:1不影响F;2余数的符号与被除数相同,3若被除数和除数都是8位,被除数需扩展成16位;若被除数和除数都是16位,被除数需扩展成32位。(3)非组合十进制乘法调整指令 AAD注意:1除数和被除数都是非组合BCD码。2 AAD放在除法指令前。原理:(AL)←(
此文档下载收益归作者所有