汇编(二)8086指令系统

本篇介绍8086的指令系统,包括常用指令及寻址方式。

CPU的全部指令集称为指令系统,8086指令系统有如下特性:
采用可变长指令,指令格式比较复杂
寻址方式多样灵活,处理数据能力较强,可处理字节、字、符号等
有重复指令和乘、除运算指令。扩充了条件转移、移位/循环指令
增加了软件中断和支持多处理器有关指令

学习指令的几个要点:指令的功能、支持的寻址方式、对标志位的影响等。
一、数据传送指令
1、通用数据传送指令(不影响标志位)
  MOV 传送
  PUSH 进栈
  POP 出栈
  XCHG 交换
2、累加器专用传送指令
  IN 输入
  OUT 输出
  XLAT 换码
3、有效地址送寄存器指令
  LEA 有效地址送寄存器
  LDS 指针送寄存器和DS
  LES 指针送寄存器和ES
4、标志送寄存器传送指令
  LAHF 标志送AH
  SAHF AH送标志寄存器(低字节)
  PUSHF 标志进栈
  POPF 标志出栈
二、算术指令
1、加法指令
  ADD 加法  SRC+DIST->DIST
  ADC 带进位加法
  INC 加1
2、减法指令
  SUB 减法
  SBB 带借位减法
  DEC 减1
  CMP 比较 只设置符号位,不保存结果
  NEG 求补 按位求反后+1
3、乘法指令
  MUL (AX)<-(AL)*(SRC) (DX,AX)<-(AX)*(SRC) 若乘积的高一半为0,则OF=CF=0
  IMUL 带符号乘法 若乘积高一半是低一半的符号扩展 则OF=CF=0
4、除法指令
  DIV 除法
  IDIV 带符号除法
  字节操作:(AL)<-(AX)/(SRC)的商
         (AH)<-(AX)/(SRC)的余数
  字操作:  (AX)<-(DX,AX)/(SRC)的商
          (DX)<-(DX,AX)/(SRC)的余数
  除法错中断:当被除数远大于除数,商溢出 产生除法错中断
5、类型转化指令
 CBW BYTE->WORD
 CWD WORD->DOUBLE
三、逻辑指令  
1、逻辑运算指令
  AND OR NOT XOR TEST
2、移位指令
  SHL SHR SAL SAR ROL ROR RCL RCR
四、串处理指令
五、控制转移指令
 1、无条件转移
   JMP
 2、条件转移
   JZ(JE) ZF=1转移
   JNZ(JNE) ZF=0转移
   JS SF=1转移
   JNS SF=0转移
   JO OF=1转移
   JNO OF=0转移
   JP PF=1转移
   JNP PF=0转移
   JB(JAE,JC) CF=1转移
   JNB(JNAE,JNC) CF=0转移
 3、循环指令
   LOOP OPR CF<>1 LOOP
   LOOPZ/LOOPE OPR  CF<>1 ZF=1 LOOP
   LOOPNZ/LOOPNE OPR CF<>1 ZF==0 LOOP
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值