2.3 shl,shr,inc,dec,xchg,neg指令,中断int指令

汇编语言

1. shl左移指令

  • shl是逻辑左移指令,它的功能是将一个reg或内存单元中的数据向左移位;将最后移出的一位写入cf中;最低位用0补充
  • shl:shift left
  • 例如:0100 1000b 往左移一位,变成10010000b,即48h变成90h
    在这里插入图片描述

2. shr右移指令

  • shr是逻辑右移指令,它的功能是将一个reg或内存单元中的数据向右移位;将最后移出的一位写入cf中;最高位用0补充
  • shr:shift right
  • 例如:10010000b往右移一位变成0100 1000b ,即90h变成48h
    在这里插入图片描述

3. inc增加指令

  • 给reg增加1位,例如0002h inc 后变成0003 h
  • inc:increase增加

在这里插入图片描述

4. dec减少指令

  • 给reg减少1位,例如0004 h变成0003 h
  • dec:decrease减少

在这里插入图片描述

5. xchg交换指令

  • 将两个reg的值交换,这样子就不用第三个reg来做中间的水桶,即倒水法交换两个reg的值,更方便

在这里插入图片描述

6. neg取反指令

  • 例如:1111h取反之后就是eeeeh,即0001 0001 0001 0001b取反后为 1110 1110 1110 1110b。

在这里插入图片描述

7. int中断指令

  • 中断,可以int 0来中断程序
    在这里插入图片描述

  • 安全退出程序的写法

mov ax,4c00
int 21

t

t

在这里插入图片描述
当cs = f000时,说明程序已经中断,为了跳出中断的程序,cs会从073f指向f000,同时程序也已经退出了。

8. nop空指令

  • 可以用来占位,刚好占一个字节,可以将其当做一个空的代码段
    在这里插入图片描述

  • 这里用了3个nop
    在这里插入图片描述

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值