Muh*_*mad 2 x86 assembly emu8086
我得到了以下代码,我想在每一步之后写下观察结果。代码是:
MOV AL,15
MOV AH,0FFH
XOR AL,AL
MOV CL,3
SHR AX,CL
Run Code Online (Sandbox Code Playgroud)
现在唯一让我困惑的是 SHR 命令。我知道它会将 AX 的值移动 3 倍,但它是如何做到的呢?
它将获取其中的位值AX并将它们向右移动。例如,假设:
AX= 15CL= 3二进制的 15 将00000000 00001111位于 16 位寄存器中(即AX)将这些位向右移动 3 位将导致:00000000 00000001
(请注意:我不想使用您问题中的值,因为它们似乎是学校作业)
最低三位已被“转移”到位桶或空位中。他们走了。