我得到了以下代码,我想在每一步之后写下观察结果。代码是:
MOV AL,15
MOV AH,0FFH
XOR AL,AL
MOV CL,3
SHR AX,CL
现在唯一让我感到困惑的是SHR命令。我知道它将AX的值移动3倍,但是它将如何执行呢?
答案 0 :(得分:3)
它将采用AX
中的位值并将它们向右移动。例如,假设:
AX
= 15 CL
= 3 二进制的15将在16位寄存器(00000000 00001111
中)为AX
将这些位右移3位将导致:00000000 00000001
(请注意:由于它们似乎是学校的作业,因此我不尝试使用您问题中的值)
最低的三位已“移到”位桶或空白中。他们走了。