微机原理指令表

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本传送指令

MOV reg/mem, imm MOV reg/mem/seg, reg

MOV reg/seg, mem MOV reg/mem, seg

入栈指令

PUSH MEM/REG PUSH SEG

出栈指令

POP MEM/REG POP SEG

交换指令:XCHG REG,MEM/REG

查表指令:XLAT SRC_Table;(AL)←((BX)+(AL))端口输入指令

IN AL,n IN AX,n

IN AL,DX IN AX,DX

端口输出指令

OUT n,AL OUT n,AX

OUT DX,AL OUT DX,AX

取有效地址指令:LEA REG,MEM

地址指针装入DS:LDS REG,MEM

地址指针装入ES:LES REG,MEM

标志装入AH指令:LAHF

设置标志指令:SAHF

标志入堆栈指令:PUSHF

标志出堆栈指令:POPF

不带进(借)位的加减法指令:

ADD 目标,源;

SUB 目标,源;

带进(借)位的加减法指令:

ADC 目标,源

SBB 目标,源

加法调整指令:

非压缩BCD码-----AAA

压缩BCD码-----DAA

减法调整指令:

非压缩BCD码-----AAS

压缩BCD码-----DAS

加1/减1指令INC/DEC 目标

求补指令:NEG 目标

比较指令:CMP 目标,源

CWB:将AL的符号位扩展到AH中;

CWD:将AX的符号位扩展到DX中;

非指令:NOT 目标

与指令:AND 目标,源

或指令:OR 目标,源

异或指令:XOR 目标,源

逻辑测试指令:TEST 目标,源

逻辑左移指令:SHL reg/mem,1/CL

逻辑右移指令:SHR reg/mem,1/CL

算术左移指令:SAL reg/mem,1/CL

算术右移指令:SAR reg/mem,1/CL

小循环左移:ROL REG/MEM,CNT

小循环右移:ROR REG/MEM,CNT

大循环左移:RCL REG/MEM,CNT

大循环右移:RCR REG/MEM,CNT

字符串传送指令

MOVSB;[DS:SI] →[ES:DI],

并修改指针SI=SI+1,DI=DI+1 (DF=0);SI=SI-1,DI=DI-1 (DF=1)

MOVSW;[DS:SI] →[ES:DI],修改指针同上字符串比较指令

CMPSB;[ES:DI]-[DS:SI] →FLAGS CMPSW;[ES:DI]-[DS:SI]→FLAGS,修改指针同上字符串搜索

SCASB;AL—[ES:DI] →FLAGS

SCASW;AX—[ES:DI] →FLAGS,修改指针同上

字符串装入

LODSB;[DS:SI] →AL

LODSW;[DS:SI] →AX,修改指针同上

字符串转储

STOSB;[ES:DI] ←AL

STOSW;[ES:DI]←A X,修改指针同上

重复前缀指令

REP 重复执行其后的字符串指令,直到CX=0 REPE/ERPZ 当相等/为零时重复执行其后的字符串指令REPNE/REPNZ 当不相等/不为零时重复执行其后的字符串指令

无条件转移指令:JMP XUL

无符号数比较后根据其比较结果形成的条件转移指令

JA/JNBE; 若目的操作数>源操作数则转移JAE/JNB; 若目的操作数≥源操作数则转移

JB/JNAE; 若目的操作数< 源操作数则转移

JBE/JNA; 若目的操作数≤源操作数则转移

两个带符号数比较后根据其比较结果形成条件转移指令JG/JNLE; 若目的操作数>源操作数则转移

JGE/JNL; 若目的操作数≥源操作数则转移

JL/JNGE; 若目的操作数< 源操作数则转移

JLE/JNG; 若目的操作数≤源操作数则转移

根据CF、ZF、SF、OF、PF的状态形成的条件转移指令JE/JZ; ZF=1,结果为零时,转移

JNE/JNZ;ZF=0,结果不为零时,转移

JC;CF=1,有借(进)位,转移

JNC;CF=0,无借(进)位,转移

JO;OF=1,有溢出(带符号数)转移

JNO;OF=0,无溢出(带符号数)转移

JP/JPE;PF=1,结果为偶数个1转移

JNP/JPO;PF=0,结果为奇数个1转移

JS;SF=1,最高位为1转移

JNS;SF=0,最高位为0转移

循环指令

LOOP;CX—1 →CX,若C X≠0循环LOOPZ/LOOPE;CX—1 →CX,若C X≠0且ZF=1循环

LOOPNZ/LOOPNE;CX—1 →CX,若C X≠0且ZF=0循环

JCXZ;若C X=0转移

中断返回指令:IRET;

进位标志清零指令:CLC

进位标志置1指令:STC

相关文档
最新文档