汇编 8086 中的 SHR 命令

SHR command in assembly 8086

我得到了以下代码,我想在每一步之后写下观察结果。代码是:

MOV AL,15
MOV AH,0FFH
XOR AL,AL
MOV CL,3
SHR AX,CL

现在唯一让我困惑的是 SHR 命令。我知道它会将 AX 的值移动 3 次,但它会怎么做呢?

它将获取 AX 中的位值并将它们右移。例如,假设:

  • AX = 15
  • CL = 3

15 在二进制中将是 00000000 00001111 在 16 位寄存器中(AX 是) 将这些位向右移动 3 位将导致:00000000 00000001

(请注意:我没有尝试使用您问题中的值,因为它们似乎是学校作业)

最低的三位已"shifted"进入位桶或空白。他们走了。