请问能简单的讲一下汇编移位指令的用途吗?

来源:百度知道 编辑:UC知道 时间:2024/06/25 20:54:56
拜托了。

实现乘2和除2,前提是没有溢出

用一个直观的例子(单片机轮流点亮发光二极管)告诉你:
用1代表点亮,用0代表熄灭。
首先点亮第一个二极管,
1.00000001
现在点亮第二个,用循环右移指令RR后:
2.00000010
反复执行就行了。
移位指令还包括好几种,带进位的,不带进位的,循环等等。

简单讲其实汇编的移位指令应属于逻辑运算类,所以最直接的用途当然是在工程上做一些移位操作,譬如说:象点亮二极管这些简单的移位操作;另外它还经常被用作算术运算类,简单理解就是乘2、除2等,当然你还可以把移位的次数放在cl中,然后调用移位操作;更高级的操作是关于有符号数如何把高位的数或者地位的数,比如说从这个字节传到那个字节,这个时候好像只能用移位操作才能实现吧? 剩下还有一些用在数据通信中,其实这类也主要是利用的逻辑运算指令吧。