汇编语言 SHL区别 SAL 相同为何还要两个

SHL区别 SAL 这两个指令 相同,那为什么要整2个
2025-02-26 21:03:19
推荐回答(2个)
回答1:

汇编语言,是人们研究出来,用来代替机器码编程的。

现在用的 80x86 汇编语言的编译软件,出自微软公司。

当年,比尔·盖茨,还十分年轻,手下的程序员,牛,跳槽也是常事。

这个人,想用 SHL,那个人,说用 SAL。

盖茨不得罪人,和稀泥,两个词,就都流传下来了。

像乔布斯,当年,就太强势了,反而,被驱逐出去了。

回答2:

  因为,现实世界的对称性是有限的,不会有无限的对称,汇编语言,只是用来代替机器码的。
  比如,加法与减法是一对关系极为密切的运算,但加法中两个数可以交换次序(交换律),减法就不行。
  二进制数的左移与右移也类似。
  算术移位与逻辑移位,既有相同点,也有不同点。
  相同点是:在不溢出的时候,都是左移等于乘以2,右移等于除以2(忽略余数)。
  不同点是:算术移位是将数据看成是有正有负的补码数时候的运算,逻辑移位是将数据看成是无符号数。
  左移时,算术移位和逻辑移位最右端都是用0补充,操作相同,所以指令等价。
  右移时,两者最左端用什么数补充的情况不一样,所以指令不同。
  若论根源,这与补码的编码方法跟原码的关系有关。
  如果不是使用补码,而是使用原码、反码等其它编码方式,指令功能就会不一样。