1、 PUSH r PUSH M PUSH data POP r POP m PUSHF,POPF,PUSHA,POPA 堆栈指令群 PUSHF POPF PUSHA POPA LEA,LDS,LES 取地址至寄存器 LEA r,m LDS r,m LES r,mXLAT(XLATB 查表指令 XLAT XLAT m算数运算指令ADD,ADC 加法指令 ADD OP1,OP2 ADC OP1,OP2 ADD r1,r2 ADD r,m ADD m,r ADD r,data 影响标志 : C,P,A,Z,S,OSUB,SBB减法指令 SUB OP1,OP2 SBB OP1,OP2 SUB r1,r2
2、 SUB r,m SUB m,r SUB r,data SUB m,data影响标志 :INC,DEC 把 OP 的值加一或减一 INC OP DEC OP INC r/m DEC r/m P,A,Z,S,ONEG 将 OP 的符号反相 (取二进制补码 NEG OP NEG r/mMUL,IMUL 乘法指令 MUL OP IMUL OP MUL r/m IMUL r/m C,P,A,Z,S,O(仅 IMUL 会影响 S 标志 DIV,IDIV除法指令 DIV OP IDIV OP DIV r/m IDIV r/mCBW,CWD 有符号数扩展指令 CBW CWDAAA,AAS,AAM,AAD 非
3、压 BCD 码运算调整指令 AAA AAS AAM AAD A,C(AAA,AAS S,Z,P(AAM,AADDAA,DAS 压缩 BCD 码调整指令 DAA DAS C,P,A,Z,S位运算指令集AND,OR,XOR,NOT,TEST 执行 BIT 与 BIT 之间的逻辑运算 AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m C,O,P,Z,S(其中 C 与 O 两个标志会被设为 0 NOT指令不影响任何标 志位SHR,SHL,SAR,SAL 移位指令 SHR r/m,data/CL SHL
4、 r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影响标志 : C,P,Z,S,OROR,ROL,RCR,RCL 循环移位指令 ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 影响标志 :程序流程控制指令集CLC,STC,CMC 设定进位标志 CLC STC CMC标志位 : CCLD,STD 设定方向标志 CLD STD DCLI,STI 设定中断标志 CLI STI ICMP 比较 OP1与 OP2的值 CMP r/m,r/m/data C,P,A,Z,OJMP 跳往指定
5、地址执行 JMP 地址JXX 当特定条件成立则跳往指定地址执行 JXX 地址注 :A: ABOVE,当 C=0,Z=0时成立B: BELOW,当 C=1时成立C: CARRY,当弁时成立 CXZ: CX寄存器的值为 0(ZERO时成立E: EQUAL,当 Z=1时成立G: GREATER(大于 , 当 Z=0且 S=0时成立L: LESS(小于 , 当 S 不为零时成立N: NOT(相反条件 , 需和其它符号配合使用O: OVERFLOW,O=1时成立P: PARITY,P=1时成立PE: PARITY EVEN,P=1时成立PO: PARITY ODD,P=0时成立S: SIGN,S=1时成
6、立Z: ZERO,Z=1时成立LOOP 循环指令集 LOOP 地址LOOPE(Z地址 LOOPNE(Z 地址 无CALL,RET 子程序调用 , 返回指令 CALL 地址 RET RET nINT,IRET 中断调用及返回指令 INT n IRET 在执行 INT 时 ,CPU 会自动将标志寄存器的值入栈 , 在执行 IRET 时则会 将堆栈中的标志值弹回寄存器字符串操作指令集MOVSB,MOVSW,MOVSD 字符串传送指令 MOVSB MOVSW MOVSDCMPSB,CMPSW,CMPSD 字符串比较指令 CMPSB CMPSW CMPSDSCASB,SCASW 字符串搜索指令 SCAS
7、B SCASWLODSB,LODSW,STOSB,STOSW 字符串载入或存贮指令 LODSB LODSW STOSB STOSWREP,REPE,REPNE 重复前缀指令集 REP 指令 S REPE 指令 S REPNE 指令 S 依指令 S 而定对于 IBM PC机它有它的指令系统,其中包括:数据传送指令、串处理指令、算 术指令、控制移动指令、逻辑指令、处理机控制指令。这里将简单介绍其指令类型及指令说明, 如有要求给具体的指令格式及应用, 请 与 amay 联系, amay 加以更新。1 数据传送指令:负责把数据、地址或立即数传送到寄存器或存储单元中。 数据传送指令类型指令说明通用数据传
8、送指令 MOV (传送、 PUSH (进栈、 POP (出栈、 XCHG (交 换累加器专用传送指令 IN (输入指令、 OUT (输入指令地址传送指令 LEA (有效地址送寄存器、 LDS (指针送寄存器和 DS 、 LES (指针送寄存器和 ES 标志寄存器传送指令 LAHF (标志送 AH 、 SAHF (AH 送标志寄存器 、 PUSHF (标志进栈、 POPF (标志出栈2算术指令:用来执行算术运算。算术指令类型指令说明加法指令 ADD (加法、 ADC (带进位加法、 INC (加 1减法指令 SUB (减法、 SBB (带借位减法、 DEC (减 1、 NEG (求补、 CMP
9、(比较乘法指令 MUL (无符号数乘法、 IMUL (带符号数乘法除法指令 DIV (无符号数除法、 IDIV (带符号数除法、 CBW (字节转换为 字、 CWD (字转换为双字3逻辑指令:对字或字节执行逻辑运算。逻辑指令类型指令说明逻辑运算指令 AND (逻辑与、 OR (逻辑或、 NOT (逻辑非、 XOR (异 或、 TEST (测试移动指令 SHL (逻辑左移、 SAL (算术左移、 SHR (逻辑右移、 SAR (算 术右移、 ROL (循环左移、 ROR (循环右移、 RCL (带进位循环左移、 RCR (带进位右移4串处理指令:处理存放存储器里的数据串。串处理指令类型指令说明指
10、令 MOVS (串传送、 CMPS (串比较、 SCAS (串扫描、 LODS (从串 取、 STOS (存入串5控制转移指令:用来控制程序的执行流程。控制转移指令类型指令说明无条件转移指令 JMP(段间和段内转移) 条件转移指令 JZ(结果为 0(或相等)则转移)、JS(结果为负则转移)、JNS (结果为正则转移)、JO(溢出则转移)、JNO(不溢出则转移)、JP(奇偶 位为 1 则转移)、JNP(奇偶位为 0 则转移) 循环指令 LOOP (循环指令) LOOPPZ/LOOPE 、 (当为 0 或相等时循环指令) 、 LOOPNZ/LOOPNE(当不为 0 或不相等时循环指令) 子程序指令 CALL(调用指令)、RET(返回指令) 中断指令 INT(中断)、INTO(如溢出则中断)、RIET(从中断返回)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1