当前位置:文档之家› 微机原理(8086指令系统)

微机原理(8086指令系统)

8086指令系统一览表 类型 汇编指令格式 功 能 操作数说明 时钟周期数 字节数 数 据 传 送 类

MOV dst, src (dst) ← (src) mem, reg reg, mem reg, reg reg, imm mem, imm seg, reg seg, mem mem, seg reg, seg mem, acc acc, mem 9+EA 8+EA 2 4 10+EA 2 8+EA 9+EA 2 10 10 2 ~ 4 2 ~ 4 2 2 ~ 3 3 ~ 6 2 2 ~ 4 2 ~ 4 2 3 3 PUSH src (SP) ← (SP)-2 ((SP)+1, (SP)) ← (src) reg seg mem 11 10 16+EA 1 1 2 ~ 4 POP dst (dst) ← ((SP)+1, (SP)) (SP) ← (SP)+2 reg seg mem 8 8 17+EA 1 1 2 ~ 4 XCHG op1, op2 (op1) ←→ (op1) reg, mem reg, reg reg, acc 17+EA 4 3 2 ~ 4 2 1 IN acc, port IN acc, DX (acc) ← (port) (acc) ← ((DX)) 10 8 2 1 OUT port, acc OUT DX, acc (port) ← (acc) ((DX)) ← (acc) 10 8 2 1 XLAT 11 1 LEA reg, src (reg) ← src reg, mem 2+EA 2 ~ 4 LDS reg, src (reg) ← src (DS) ← (src+2) reg, mem 16+EA 2 ~ 4

LES reg, src (reg) ← src (ES) ← (src+2) reg, mem 16+EA 2 ~ 4 LAHF (AH) ← (FR低字节) 4 1 SAHF (FR低字节) ← (AH) 4 1 PUSHF (SP) ← (SP)-2 ((SP)+1, (SP)) ← (FR低字节) 10 1

POPF (FR低字节) ← ((SP)+1, (SP)) (SP) ← (SP)+2 8 1 算 术 运 算 类

ADD dst, src (dst) ← (src) + (dst) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 ADC dst, src (dst) ← (src) + (dst) + CF mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 INC op1 (op1) ← (op1)+1 reg mem 2 ~ 3 15+EA 1 ~ 2 2 ~ 4 SUB dst, src (dst) ← (src) - (dst) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 SBB dst, src (dst) ← (src) - (dst) - CF mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 DEC op1 (op1) ← (op1) - 1 reg mem 2 ~ 3 15+EA 1 ~ 2 2 ~ 4 NEG op1 (op1) ← 0 - (op1) reg mem 3 16+EA 2 2 ~ 4 CMP op1, op2 (op1) - (op2) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 9+EA 9+EA 3 4 10+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 MUL src (AX) ← (AL) * (src) (DX, AX) ← (AX) * (src) 8位reg 8位mem 16位reg 16位mem 70 ~ 77 (76 ~ 83)+EA 118 ~ 133 (124 ~ 139)+EA 2 2 ~ 4 2 2 ~ 4 IMUL src (AX) ← (AL) * (src) (DX, AX) ← (AX) * (src) 8位reg 8位mem 16位reg 16位mem 80 ~ 98 (86 ~ 104)+EA 128 ~ 154 (134 ~ 160)+EA 2 2 ~ 4 2 2 ~ 4 DIV src (AL) ← (AX) / (src) 的商 (AH) ← (AX) / (src) 的余数 (AX) ← (DX, AX) / (src) 的商 (DX) ← (DX, AX) / (src) 的余数 8位reg 8位mem 16位reg 16位mem 80 ~ 90 (86 ~ 96)+EA 144 ~ 162 (150 ~ 168)+EA 2 2 ~ 4 2 2 ~ 4 IDIV src (AL) ← (AX) / (src) 的商 (AH) ← (AX) / (src) 的余数 (AX) ← (DX, AX) / (src) 的商 (DX) ← (DX, AX) / (src) 的余数 8位reg 8位mem 16位reg 16位mem 101 ~ 112 (107 ~ 118)+EA 165 ~ 184 (171 ~ 190)+EA 2 2 ~ 4 2 2 ~ 4 DAA (AL) ← AL中的和调整为组合BCD 4 1 DAS (AL) ← AL中的差调整为组合BCD 4 1 AAA (AL) ← AL中的和调整为非组合BCD (AH) ← (AH)+调整产生的进位值 4 1

AAS (AL) ← AL中的差调整为非组合BCD (AH) ← (AH)-调整产生的进位值 4 1 AAM (AX) ← AX中的积调整为非组合BCD 83 2 AAD (AL) ← (AH) * 10 + (AL) (AH) ← 0 (注意是除法进行前调整被除数) 60 2

逻 辑 运 算 类

AND dst, src (dst) ← (dst) ∧ (src) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 OR dst, src (dst) ← (dst) ∨ (src) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 NOT op1 (op1) ← (1op) reg mem 3 16+EA 2 2 ~ 4 XOR dst, src (dst) ← (dst) ⊕ (src) mem, reg reg, mem reg, reg reg, imm mem, imm acc, imm 16+EA 9+EA 3 4 17+EA 4 2 ~ 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 TEST op1, op2 (op1) ∧ (op2) reg, mem reg, reg reg, imm mem, imm acc, imm 9+EA 3 5 11+EA 4 2 ~ 4 2 3 ~ 4 3 ~ 6 2 ~ 3 SHL op1, 1 SHL op1, CL 逻辑左移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 SAL op1, 1 SAL op1, CL 算术右移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 SHR op1, 1 SHR op1, CL 逻辑右移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 SAR op1, 1 SAR op1, CL 算术右移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 ROL op1, 1 ROL op1, CL 循环左移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 ROR op1, 1 ROR op1, CL 循环右移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 RCL op1, 1 RCL op1, CL 带进位位的循环左移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 RCR op1, 1 RCR op1, CL 带进位位的循环右移 reg mem reg mem 2 15+EA 8 + 4/bit 20+EA+ 4/bit 2 2 ~ 4 2 2 ~ 4 串 操 作 类

MOVSB MOVSW ((DI)) ← ((SI)) (SI) ← (SI)±1, (DI) ← (DI)±1 ((DI)) ← ((SI)) (SI) ← (SI)±2, (DI) ← (DI)±2 不重复:18 重复:9+17/rep 不重复:18 重复:9+17/rep 1 1 STOSB STOSW ((DI)) ← (AL) (DI) ← (DI)±1 ((DI)) ← (AX) (DI) ← (DI)±2 不重复:11 重复:9+10/rep 不重复:11 重复:9+10/rep 1 1 LODSB LODSW (AL) ← ((SI)) (SI) ← (SI)±1 (AX) ← ((SI)) (SI) ← (SI)±2 不重复:12 重复:9+13/rep 不重复:12 重复:9+13/rep 1 1

相关主题