8086/8088指令集简单解释

以下为我以前整理的指令简单解释。可能有些地方有错误。这些在以后学习中再找啦。

MOV复制

PUSH入栈

POP出栈

XCHG交换

XLAT换码:AL=DS:[BX+AL]

IN读端口

OUT写端口

LEA装有效地址

LDS装DS远指针

LES装ES远指针

LAHF读标志至AH

SAHF写标志为AH

PUSHF标志入栈

POPF出栈为标志

CBW符号字节扩展为字

CWD符号字扩展为双字

ADD加

INC自加

ADC带进位加

SUB减

SBB带借位减

DEC自减

NEG求补:OP=0-OP

CMP减比较

MUL无符乘

IMUL符乘

DIV无符除

IDIV符除

DAA加后BCD

DSS减后BCD

AAA加后ASCII

AAS减后ASCII

AAM乘后ASCII

AAD除前BCD2BIN

AND按位与

OR按位或

XOR按位异或

NOT按位反

TEST与比较

SHL逻辑左

SHR逻辑右

SAR算术右//算术左SAL等同逻辑左

ROL循环左

ROR循环右

RCL带进位循环左

RCR带进位循环右

MOVSB源至目_计数传送_按字节

MOVSW源至目_计数传送_按字

MOVS按字节_计数传送seg:[SI]至ES:[DI]

REP重复

REPZ为零则重复

REPNZ不为零则重复

CMPSB源减目比较_按字节

CMPSW源减目比较_按字

CMPS按字节比较seg:[SI]减ES:[DI]

REPNE

REPE

SCASB查找_AL/AX按字节减比较ES:[DI]

SCASW查找_AL/AX按字减比较ES:[DI]

STOSB写目的为AL值

STOSW写目的为AX值

LODSB写源为AL

LODSW写源为AX

LODS写seg:[si]为AL或AX

LOOP

LOOPZ

LOOPE

LOOPNZ

LOOPNE

CALL过程调用

RETN   (RET)近过程返回

RETF远过程返回

INT调用中断处理例程

INTO溢出则中断

IRET中断返回

CLC清除进位

STC设置进位

CMC进位反

CLD方向正

STD方向反

CLI禁中断

STI允许中断

NOP无操作

HLT停止

JA(Above大于,c'*z')

JAE(c')

JB(Below小于,c)

JBE(c+z)

JG(s'*z')

JGE(s'+z)

JL(s*z')

JLE(s+z)

JE(z)

JMP

JCXZ(cx')

JZ(z)

JNZ(z')

JC(c)

JNC(c')

JS(s)

JNS(s')

JO(o)

JNO(o')

JP(p)

JNP(p')
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值