~~ 汇编语言左移确认

~~ Assembly language shift left confirmation

我无法理解 "arithmetic shift left"。我有以下指令:

SAL   [=10=]x2, edx

哪里edx = 0xFC

0xFC = 1111 1100

通过向左移动 2,我们应该有:

1111 0000 = 0xF0

正确吗?

由于edx是一个32位寄存器,而edx = 0xFC(相当于edx = 11111100b),算术左移会得到1111110000b,换句话说, edx = 0x3F0