永发信息网

汇编语言shl指令的问题

答案:1  悬赏:10  手机版
解决时间 2021-02-08 02:30
  • 提问者网友:火车头
  • 2021-02-07 11:18
关于shl和shr两条指令,我是这样理解的:就像一个十进制数10,如果左移,后面加0,那就等于乘以10,同样的2进制数+0等于乘以2
现在不明白的是:在寄存器中,寄存器的长度是有限的,不管左移右移,寄存器必然会溢出,所以有了cf标志位保存进位借位值。那么移位之后,结果保存在哪里呢?
比如:10000001,左移后寄存器是00000010,cf=1,结果应该是100000010。这样的结果不就是相当于在10进制后面加0,只不过10进制后面加0=原数X10,2进制后面加0=原数X2。那么100000010怎么表示呢? 难道进行8位位移,结果还要用16位寄存器存储?这好像有点麻烦啊
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-02-07 12:29
多余的位就不见了
比如AX=1001010010101111,SHL AX,1后,AX=0010100101011110
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯