程序集8086中的SHR命令

问题描述 投票:2回答:1

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

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

现在唯一令我困惑的是SHR命令。我知道它会将AX的价值转移3倍,但它会怎样做呢?

assembly x86 emu8086
1个回答
4
投票

它将采用AX中的位值并将它们向右移动。例如,假设:

  • AX = 15
  • CL = 3

15位二进制将是一个16位寄存器中的00000000 00001111AX是)将这些位移到右边3位将导致:00000000 00000001

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

最低的三位已经“移位”到比特桶或空白中。他们走了。

© www.soinside.com 2019 - 2024. All rights reserved.