移位指令的应用

已锁定

海阔天空19

  • 帖子

    100
  • 精华

    0
  • 被关注

    27

论坛等级:侠士

注册时间:2015-12-02

黄金 黄金 如何晋级?

移位指令的应用

1297

1

2016-03-11 11:36:55

展开查看
引用自找答案,问题ID:136596

移位指令有什么用?B,D,W在移位时知道可以一次移一位,D,W可以一次移一位或四位,那么可以移二位,三位或六位,七位吗?是什么原理?请分别讲解下B,W,D的移位要求,指一次可以移 几位,我是说三,六或七位能行不,能行会出现什么结果,在实际生产中的应用?请举例说明。本人新手,请详细讲解,万分感谢!

提问者:海阔天空19


流星fly 回答道:

1.移位指令有什么用?
移位指令同其它汇编指令的移位没有什么不同,一般都是用来对操作数进行一些顺序性的变化,也有些人用来做乘除法。
2.B,D,W可以移二位,三位或六位,七位吗?是什么原理?
当然可以。它们都有相应的指令支持,指令里面的N就是需要移动的位数。
3.能行会出现什么结果?
循环移位指令可以使里面的数据在移出后又返回到后面的位置。
普通移位指令在数据移出后,后面的位置直接补0
4.在实际生产中的应用?
比如电机或者灯挨个启动关闭,移位指令就比其它指令更加简洁。
有些人也喜欢用移位指令做乘除法,当计算量很大时可以明显加快计算速度。

还有2人在找答案上回答了该问题,查看全部>

B是以一个字节为单位进行的移位,如0000 0001 左移一位就变成0000 0010 移三位就变成0000 1000,是这样的吗?那么W和D为什么是以四个字节为一个单位进行的移位,如VW0为1001 1101 1111 1011 左移二位后为1111 1011 0000 0000 VD也是这样的对不对?为什么不是以一个字节为单位进行的移位,我不太理解。字和双字就是16位的和32位的必须以四个字节为一个单位进行移位,8位的就是以一个字节为单位进行的移位。请您详细的给讲解下。新手不太理解,谢谢!

移位指令的应用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33307条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。