Intel8086ASMCode汇编指令的机器码

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

8086指令码汇总表

8086指令有汇编语言指令和指令码两种形式,汇编语言指令形式经过汇编程序处理后生成指令码形式。

通过指令码形式可帮助理解汇编语言指令格式的含义和用法。

O、8086指令码格式

0B/1B 1B或2B 0B/1B 0B/1B/2B/4B 0B/1B/2B/4B 指令前缀操作码段寻址方式段偏移量参数立即数参数说明:偏移量参数和立即数参数的有无由寻址方式段决定。

一、传送类指令

MOV指令

REG/MEM→/←REG 100010dw mod reg r/m

IMME→REG/MEM 1000111w mod 000 r/m data data if w=1 IMME→REG 1011wreg data data if w=1

MEM→AX 1010000w addr-low addr-high

AX→MEM 1010001w addr-low addr-high

REG/MEM→段REG 10001110 mod reg r/m 8E

段REG→REG/MEM 10001100 mod reg r/m 8C

PUSH指令

REG/MEM 11111111 mod 110 r/m FF

REG 01010reg

段REG 000reg110

POP指令

REG/MEM 10001111 mod 000 r/m 8F

REG 01011reg

段REG 000reg111

XCHG指令

REG/MEM←→REG 1000011w mod reg r/m

REG←→AX 10010reg

XLAT指令11010111 D7

LEA指令10001101 mod reg r/m 8D

LDS指令11000101 mod reg r/m C5

LES指令11000100 mod reg r/m C4

LAHF指令10011111 9F

SAHF指令10011110 9E

PUSHF指令10011100 9C

POPF指令10011101 9D

IN指令

直接寻址1110010w port

间接寻址1110110w

OUT指令

直接寻址1110011w port

间接寻址1110111w

CBW指令10011000 98

CWD指令10011001 99 说明:d—0/1表示REG为源/目的操作数;

w—0/1表示操作数类型为BYTE/WORD;

mod、r/m—寻址方式,参见教材P56~57;

IMME—立即数操作数,字段中用data表示;

reg—通用REG用3位编码,段REG只用2位编码(即为0xx)。

二、算术运算类指令

ADD指令

REG/MEM+REG→任一000000dw mod reg r/m

REG/MEM += IMME 100000sw mod 000 r/m data data if sw=01 AX += IMME 0000010w data data if w=1

ADC指令

REG/MEM+REG→任一000100dw mod reg r/m

REG/MEM += IMME 100000sw mod 010 r/m data data if sw=01 AX += IMME 0001010w data data if w=1

INC指令

REG/MEM 1111111w mod 000 r/m

REG 01000reg

SUB指令

REG/MEM-REG→任一001010dw mod reg r/m

REG/MEM -= IMME 100000sw mod 101 r/m data data if sw=01 AX -= IMME 0010110w data data if w=1

SBB指令

REG/MEM-REG→任一000110dw mod reg r/m

REG/MEM -= IMME 100000sw mod 011 r/m data data if sw=01 AX -= IMME 0001110w data data if w=1

DEC指令

REG/MEM 1111111w mod 001 r/m

REG 01001reg

NEG指令1111011w mod 011 r/m

CMP指令

REG/MEM-REG 001110dw mod reg r/m

REG/MEM-IMME 100000sw mod 111 r/m data data if sw=01 AX-IMME 0011110w data data if w=1

MUL指令1111011w mod 100 r/m

IMUL指令1111011w mod 101 r/m

DIV指令1111011w mod 110 r/m

IDIV指令1111011w mod 111 r/m

AAA指令00110111 37

DAA指令00100111 27

AAS指令00111111 3F

DAS指令00101111 2F

AAM指令11010100 00001010 0A D4

AAD指令11010101 00001010 0A D5 说明:sw--01表示16位立即数,11表示8位立即数操作时扩展成16位;

REG/MEM-REG—MEM可为减数或被减数。

三、逻辑运算类指令

NOT指令1111011w mod 010 r/m

AND指令

REG/MEM®→任一001000dw mod reg r/m

REG/MEM &= IMME 1000000w mod 100 r/m data data if w=1 AX &= IMME 0010010w data data if w=1

OR指令

REG/MEM|REG→任一000010dw mod reg r/m

REG/MEM |= IMME 1000000w mod 001 r/m data data if w=1 AX |= IMME 0000110w data data if w=1

XOR指令

REG/MEM^REG→任一001100dw mod reg r/m

REG/MEM ^= IMME 1000000w mod 110 r/m data data if w=1 AX ^= IMME 0011010w data data if w=1

TEST指令

REG/MEM® 100010dw mod reg r/m

REG/MEM&IMME 1111011w mod 000 r/m data data if w=1 AX&IMME 1010110w data data if w=1

SHL/SAL指令110100vw mod 100 r/m

SHR指令110100vw mod 101 r/m

SAR指令110100vw mod 111 r/m

ROL指令110100vw mod 000 r/m

ROR指令110100vw mod 001 r/m

RCL指令110100vw mod 010 r/m

RCR指令110100vw mod 011 r/m

说明:v—0/1表示移位次数为1/(CL)。

相关文档
最新文档