《2022年2022年汇编语言指令 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言指令 2.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8088 指令系统总结第 1 页共 7 页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 指令系
2、统8088 指令系统分六大类一、数据传送指令二、算术运算指令三、逻辑运算与位移指令四、串操作指令五、控制与转移指令六、CPU 控制指令一、数据传送指令1通用传送指令(1)传送指令MOV dst, src功能: dstsrc (2)堆栈操作指令人 W PUSH src作用: SPSP2 ((SP+1)SP)src src(reg seg mem) POP dst 作用: dst( (SP+1)SP)SPSP2 dst(reg seg mem) (3)交换指令 XCHG OPR1,OPR2 OPR1OPR2 2累加器传送指令(1)输入输出指令名师资料总结 - - -精品资料欢迎下载 - - - -
3、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 2 页共 7 页2 256B短格式:直接寻址, 64K 长格式:直接、间接寻址,PORT为 8 位口地址输入指令:直接寻址IN AX,PORT IN AL ,PORT 间接寻址IN AX,DX IN AL,DX 输出指令:直接寻址OUT AX ,PORT OUT AL,PORT 间接寻址OUT AX ,DX OUT AL,DX (2)换码指令XLAT AL ( BXAL)(BX)为 mem地址3地址传送指令(1
4、)有效地址传送寄存器LEA reg16, mem作用: mem的 EAreg16 (2)指针送寄存器和DS 指令LDS reg16, mem32 作用: reg16 mem32的低字高字 DS (3)指针送寄存器和有ES指令LES reg16, mem32 作用: reg16mem32的低字高字 ES 4标志寄存器传送指令(1)取标志指令: LAHF F 的低字节 AH (2)置标志指令: SAHF AHflag 的低字节(3)标志入栈指令: PUSHF SP2SP F(SP+1):SP (4)标志出栈指令: POPF (SP+1):SP F SP2SP 二、算术运算指令1加法类指令 (Add
5、)opr-reg mem B/W (1)不带进位加法 ADD dst, src dstdstsrc 影响 OSZAPC (2)带进位加法ADC dst, src dstdstsrcCF影响 OSZAPC (3)加 1 指令INC opr opropr1影响 OSZP (4)组合十进制调整DAA放在 ADD 后(5)非组合十进制调整AAA放在 ADC 后原理:2 个十进制数相加,可能出现非法数(A 到 F) ,需用调整指令,进行加6调整变成合法十进制数。十进制BCD组合压缩组合 BCD 占 4 位非组合 BCD 占 8 位2 . 减法类指令( substract )(1)减法指令SUB dst,
6、 src; dstdst src影响标志位OSZAPC (2)带借位减法指令SBB dst, src;dstdstsrcCF影响标志位OSZAPC (3)减 1 指令DECsrc 影响 OSZP (4)求补指令NEGsrc ; negate src0src 0src=FFHsrc1FFHsrc求反名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 3 页共 7 页3 (5)比较指令COMPdst, src
7、难在带符号数比较:SFOF0 AB, SFOF1,AB (6)组合十进制减法调整指令DAS (7)非组合十进制减法调整指令AAS 3乘法类指令 multiplication (1)无符号数乘法MULsrc ;AX src8AL DX:AX src16AX ,影响F:OC (2)有符号数乘法 IMULsrc ;AXsrc8AL DX:AX src16AX,影响F:OC (3)组合十进制乘法调整指令AAM注意:1 乘数和被乘数都是非组合BCD 码。2 AAM 用于乘法指令 MUL 之后。3影响 F:SZP 原理: AHAL/0AH AHAL%0AH (%为取余操作)4除法类指令 (Division
8、)(1)无符号数除法DIV src ; AXsrc8 商进 AL ,余数进 AH; (DX:AX )src16商进 AX ,余数进 DX,不影响 F。(2)有符号数除法IDIV src ;算法同上。注意:1 不影响 F;2 余数的符号与被除数相同, 3 若被除数和除数都是8 位,被除数需扩展成 16 位;若被除数和除数都是16 位,被除数需扩展成32位。(3)非组合十进制乘法调整指令AA D 注意: 1 除数和被除数都是非组合BCD 码。2AAD 放在除法指令前。原理: (AL)( AH)0AH(AL )(AH)0 (4)字节扩展成字指令CBW;AL 中的符号扩展为AX,不影响 F 原理: (
9、AL)80H(正数)使 AH00H; (AL )80H(负数)使 AHFFH (5)字扩展成双字指令CWB;AX 中的符号扩展为DX:AX ,不影响 F 原理: (AH)8000H(正数)使 DX0000H; (AX )8000H(负数)使 DXFFFFH 三、逻辑运算与位移指令1逻辑运算(1)与ANDdst, src ;dstdst AND src 影响 F: SZP (2)或ORdst, src ;dstdst OR src 影响 F: SZP (3)异或 XORdst, src ;dstdst XOR src 影响 F: SZP (4)非NOTopr ;dstopr 逐位求反不影响 F
10、(5)测试 TEST reg, src ;dst AND src 影响 F: SZP 不入 dst 逻辑运算 dst src opr符合基本传输原则(不允许seg )2移位(1)逻辑左移SHLopr, 1 或 SHL opr, CL0 填最右位名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 4 页共 7 页4 (2)逻辑右移SHRopr, 1 或 SHR opr, CL0 填最左位(3)算术左移SALo
11、pr, 1 或 SAL opr, CL0 填最右位(4)算术右移SARopr, 1SAR opr, CL最左位不变注意: opr: reg mem 3循环移位(1)无进位左循环ROL opr, 1 ROL opr, CL (2)无进位右循环ROR opr, 1 ROR opr, CL (3)有进位左循环RCL opr, 1 RCL opr, CL (4)有进位右循环RCR opr, 1 RCR opr, CL 注意: opr: reg mem B/W 四、串操作和重复指令 (唯一的 src dst 可以均为 mem 的指令)特点:A 源操作数 src在 DS:SI,目的操作数在 dst ES:
12、DI B 修改指针决定于DF,0 增 1 减,字节 1 字 2 C 串长置于 CX D 重复靠 REP 1串操作指令(1)串传送MOVS / MOVSB / MOVSW dst, src ;dstsrc (2)串比较COMP / COMPB / COMPW dst, src ;dstsrc影响 F: OSZAPC(3)串搜索SCAS / SCASB / SCASW dst ;ALdst或 AXdst 影响 F: OSZAPC (4)串进 A LODS / LODSB /LODSW src ;ALsrc或 AXsrc (5)A 进串STOS / STOSB / STOSW dst ;dstAL
13、或 dstAX (6)重复指令 REP,RETZ / REPE,REPNZ / REPNE 2重复指令(1)REP与 MOVS/B/W ,STOS/B/W 联用若 CX0 则重复,执行下一条,否则退出串操作CX(CX1)执行字符串命令重复 13 (2)RETZ / REPE与 CMPS/B/W,SCAS/B/W 联用若 CX0 且 ZF1 则重复,执行下一条,若CX0 或 ZF0(两数不等)退出串操作CX(CX1)执行字符串命令重复 13 (3)REPNZ / REPNE与 CMPS/B/W,SCAS/B/W 联用若 CX0 且 ZF0 则重复,执行下一条,若CX0 或 ZF1(两数不等)退名
14、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 5 页共 7 页5 出串操作CX(CX1)执行字符串命令重复 13 五、控制与转移指令1无条件转移指令注意: SHORT 为运算符,页内, 128127。偏移量用补码表示,8 位偏移量与 IP 相加需扩展成 16 位(1)段内直接短转移JMPSHORT偏移量 8;IPIP8 位偏移量(2)段内直接近转移JMPNEATPTR偏移量 16 注意: NEATPTR
15、 为运算符偏移量用补码表示: 64K 范围3276832767 (3)段内间接寻址JMPsrc ;IPsrcsrc: reg mem 注意: mem寻址要加 WORDPTR (4)段间直接寻址JMPFARPTRLABEL;CS下 2 字节IP上 2 字节注意: FARPTR 为段内转移运算符LABEL 为四字节转移地址的首地址,下CS 上 IP (5)段间间接寻址JMPDWORDPTRmem 注意:与段间直接寻址一样,仅mem需要寻址去找,如相对寻址、基址加变址等2条件转移指令(共19 条)特点:双字节指令,短转移。转移范围128127 ,IPopr opr: reg mem,通常为标号(1)
16、 以标志位为条件( F: OSZPC 十种情况)JOopr ;OF1 转移,溢出转移,JNO opr ;OF0 转移,不溢出转移JS opr ;SF1 转移,负数转移JNS opr ;SF0 转移,正数转移JZ opr ;ZF1 转移,结果为 0 转移又 JE JNZ opr ;ZF0 转移,结果不为 0 转移又 JNE JP opr ;PF1 转移,偶数转移JNP opr ;PF0 转移,奇数转移JC opr ;CF1 转移,有进(借)位转移又 JBJNAJNC opr ;CF0 转移,无进(借)位转移又 JAJNB (2)无符号数比较大于用 A,小于用 B,等于用 E,四种情况:设参与比较
17、的两数按序为M、N JA opr ; MN 转移到地址 oprCF0 且 ZF0 JAE opr ;MN 转移到地址 oprCF0 或 ZF1 JB opr ; MN 转移到地址 oprCF1 且 ZF0 JBE opr ;MN 转移到地址 oprCF1 或 ZF1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 6 页共 7 页6 (3)有符号数比较大于用 G,小于用 L,等于用 E,四种情况:设参与
18、比较的两数按序为M、N JG opr ;MN 转移到地址 oprSFOF0 且 ZF0 JGE opr ;MN 转移到地址 oprSFOF0 或 ZF1 JL opr ;MN 转移到地址 oprSFOF1 且 ZF0 JLE opr ;MN 转移到地址 oprSFOF1 或 ZF1 (4)根据 CX 值转移JCXZopr ;当 CX0 转移到地址 opr 3循环控制指令以 CX 为计数器,短转移,不影响F,IPLabel 或 IPIP+扩展的 opr8Label 通常为符号地址(1)循环指令LOOPSHORT Label CX1若 CX0,则循环,改变IP若 CX0 执行下一条指令零循环指令L
19、OOPZSHORT Label 或 LOOPESHORT Label CX1若 CX0 且 ZF1,则循环,改变 IP若 CX0 或 ZF1 执行下一条指令(2)非零循环指令LOOPNZSHORT Label 或 LOOPNESHORT Label CX1若 CX0 且 ZF0,则循环,改变 IP若 CX0 或 ZF0 执行下一条指令4子程序调用指令子程序过程调用转子返回返子(1)段内直接调用 CALLdst ;dst为子程序入口地址( D16 范围)现 IP 入栈: SP(SP2)(SP1)SPIP 子程序入口地址入IP:IPdst (2)段内直接调用 CALLdst ;dst:各种 reg
20、 mem寻址的 EA,D16 现 IP 入栈: SP(SP2)(SP1)SPIP 子程序入口地址入IP:IPEA (3)段间直接调用 CALLdst ;dst为子程序入口地址( D32 范围)现 CS 入栈: SP(SP2)(SP1)SPCS 现 IP 入栈: SP(SP2)(SP1)SPIP 子程序入口有效地址入IP:IP有效地址子程序入口段地址入IP:CS段地址(4)段间间接调用 CALLdst ;dst为各种 mem寻址的 EA,D32 范围现 CS 入栈: SP(SP2)(SP1)SPCS 现 IP 入栈: SP(SP2)(SP1)SPIP 名师资料总结 - - -精品资料欢迎下载 -
21、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 8088 指令系统总结第 7 页共 7 页7 子程序入口有效地址入IP:IPEA 子程序入口段地址入IP:CSEA2 5子程序返回指令(1)段内返回指令RET;与 CALLdst 成对出现原 IP 出栈: IP(SP1)SP 修改 SP指针: SP(SP2)(2)段内带立即数返回指令RETim;与 CALLdst 成对出现, im 为 D16 原 IP 出栈:IP(SP1)SP修改 SP指针: SP(SP2)IP 加立即数:
22、 IPIP im (3)段间返回指令RET;与 CALLdst 成对出现原 IP 出栈: IP(SP1)SP 修改 SP指针: SP(SP2)原 CS 出栈: IP(SP1)SP 修改 SP指针: SP(SP2)(4)段间带立即数返回指令;与 CALLdst 成对出现, im 为 D16 原 IP 出栈: IP(SP1)SP 修改 SP指针: SP(SP2)原 CS 出栈: IP(SP1)SP 修改 SP指针: SP(SP2)IP 加立即数: IPIP im 六、CPU 控制指令1状态标志位操作指令D 置位复位, I 置位复位, C 反置位复位STD;使 DF1CLD;使 DF0 STI;使 IF1CLI;使 IF0 STC;使 CF1CLC;使 CF0CMC;CFCF 的非2外部同步HLT;暂停,等待中断或复位WAIT;当引脚 TEXT 等于 0 时,等待外部中断,否则顺序执行LOCK;总线封锁前缀3NOP;空操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -