我很担心SHR的意思,
SHR CL, 1
在SHR成为0x2A
之后,最初CL为0x15
。
SHR 42,1 = 21
答案 0 :(得分:6)
简单地说,Shift Right。第二个操作数定义要向右移位的位数。所以:
CL = 42(十六进制)= 0100 0010(二进制)
右移一次,所有位都正确。最低有效位(最右边)进入进位标志,并且在最高有效位(最左边)附加零。因此,该值变为:
<0010> 0010 0001(十六进制21) - &gt;最右边的0进入进位标志。答案 1 :(得分:3)
以二进制表示形式查看两个值,而不是十六进制数字,这使得指令的作用更加明显。 在将第一个数字除以第二个数字时注意到不同模式的额外点。