the test platform is x86-32bit
.
I know that on x86-32bit
, we have two opcodes movsbl
and movzbl
which has the following semantics:
%eax = 0x12345678
%edx = 0xAAAABBBB
MOVB %dh, %al %eax = 0x123456BB
MOVSBL %dh, %eax %eax = 0xFFFFFFBB
MOVZBL %dh, %eax %eax = 0x000000BB
The above example is from here.
Then I am kind of confused with the semantics of the following instruction:
mov %dl, 0x2c(%esp)
What is the exact meaning of the above mov
, is it equal to movsbl
? or equal to movzbl
? Or neither?