通用数据传送指令

本文主要探讨8086指令系统中的数据传送类指令,包括一般数据传送、堆栈操作、交换、查表和字位扩展等5个类别。通用数据传送指令如MOV用于在源和目标地址间传递数据;堆栈操作遵循先进后出原则,常用指令有push和pop;交换指令用于两个操作数之间的内容互换,不能使用立即数;查表指令用于从表格中检索数据;字位扩展指令则涉及有符号数的符号位扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8086指令系统一共有96条指令,从功能上分为六大类
在这里插入图片描述
我们需要关注的店点:
在这里插入图片描述

1. 数据传送类指令

分为4类:
在这里插入图片描述

(1)通用数据传送类指令

分为5类:
在这里插入图片描述
对标志位不产生影响的指令意味着在它的后面不能跟基于某个标志位的状态来控制程序转移的指令(比如条件转移指令)

① 一般数据传送指令MOV

在这里插入图片描述

将源地址里的内容或源数据送到目标地址里
注意点:
在这里插入图片描述

应用举例:
在这里插入图片描述
应用举例:
在这里插入图片描述在这里插入图片描述
左边第二列是指令助记符,它的旁边是操作数,最右边是注释

② 堆栈操作指令
  • 原则
    先进后出
    以字(一个字=2字节)为单位
    操作数可以是寄存器或存储器两单元,不能是立即数,如果是存储器操作数必须声明字长
    不能从栈顶弹出一个字给CS
  • push指令
    在这里插入图片描述
    push指令执行过程
    在这里插入图片描述
    上图,底下是高地址,上面是低地址
    例:
    在这里插入图片描述
  • pop指令
    执行过程
    在这里插入图片描述
    pop相对于一个读操作,非破坏性的,最初sp指向值还是原来的值,并没有删掉,只不过sp+2了,下次入栈的时候就会覆盖掉,我们就认为不存在了
    例:
    在这里插入图片描述
③交换指令
  • 格式
    在这里插入图片描述
  • 注意
    在这里插入图片描述
    因为交换是把你的给我,我的给你,所以两个操作数既是源操作数,又是目标操作数,所以他们都不能为立即数
    例:
    在这里插入图片描述
④查表指令
  • 格式
    在这里插入图片描述
    说明:
    在这里插入图片描述
  • 操作
    在这里插入图片描述
⑤字位扩展指令

在这里插入图片描述

它针对有符号数的扩展,扩展原则就是将符号位扩展到更高位

  • 字节到字的扩展指令
    在这里插入图片描述
  • 字到双字的指令
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值