8086的指令系统

一、汇编语言指令格式

1.组成

标号:指令助记符     目的操作数,源操作数           ;           注释

 2.数据传送类指令

(1)概念:传送指令把数据从一个位置传送到另一个位置

         注意:除标志寄存器传送指令外,均不影响标志位

(2)重点掌握

  • MOV XHCG
  • PUSH POP
  • LEA
提高方便灵活的通用传送操作
  • MOV
  • XCHG
  • XLAT

(4)传送指令MOV

  • 存储器传送:不存在存储器向存储器的传送指令
  • 寄存器传送:也分为字节传送和字传送
  • 立即数传送:

 注意立即数是字节量还是字量

明确指令是字节操作还是字操作

byte ptr说明是字节操作

word ptr说明是字操作

 

 以下是非法传送类型:

  • 两个操作数的类型不一致,例如源操作数 是字节,而目的操作数是字;绝大多数的双操作数指令,除非特殊说明,目的操作数与源操作数必须类型一致,否则为非法指令
  • 两个操作数不能都是存储器
  • 对于存储器单元与立即数同时作为操作数的情况,必须显式指明:byte ptr指示字节类型,word ptr指示字类型
  • 8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可以通过寄存器间接实现
  • 不允许立即数传送给段寄存器
  • 不允许直接改变CS值
  • 不允许段寄存器之间的直接数据传送

 (5)交换指令XCHG

作用:把两个地方的数据进行互换

形式:

  • 寄存器与寄存器之间对换数据
  • 寄存器与存储器之间对换数据
  • 不能在存储器与存储器之家对换数据

 (6)换码指令XLAT

换码指令没有显式的操作数

堆栈操作指令

堆栈:位于堆栈段;SS段寄存器记录其段地址

堆栈只有一个出口,即当前栈顶用堆栈指针寄存器SP指定

PUSH :进栈指令先使堆栈指令SP减2,然后把一个字操作数存入堆栈顶部

POP:    出栈指令把栈顶的一个字传送至指定的目的操作数,然后堆栈指针SP加2

堆栈的特点:

堆栈操作的单位是字,进栈和出栈只对字量

字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节

堆栈操作遵循先进后出原则,但可用存储器寻址方式随机存取堆栈中的数据

标志传送指令

标志寄存器传送指令用来传送标志寄存器FLAGS的内容

标志位操作指令直接对CF,DF,IF标志进行复位或置位 

有2对4条指令

3.标志位操作

概念:标志位操作直接对CF、DF、IF标志进行复位或置位

对标志位进行设置的指令:

  • CLC  STC CMC
  • CLD STD
  • CLI STI

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值