【发布时间】:2016-09-26 01:11:20
【问题描述】:
在汇编编程中我理解:
EAX : 22 66 77 55
AX : 77 55
AH : 77
AL : 55
但是当从带有指针偏移的数组中读取数据时,我真的不明白它是如何工作的:
.data
arrayW WORD 1233h,2245h, 1176h
ptr2 PWORD arrayW
.code
mov esi, ptr2
mov ax, [esi]
mov ah, [esi + 1]
mov ax, [esi + 2]
mov eax, [esi + 2]
mov ax, [esi] 寄存器 EAX = 12331233。我以为寄存器 EAX 会是 00001233?
另外,mov ax, [esi + 2] 寄存器 = EAX = 12334455。我不明白寄存器是怎么变成 12334455 的。
谁能解释一下执行后寄存器的所有值是什么?
【问题讨论】: