我被问到以下问题,但我看不出它如何有足够的信息来回答。
“如果EAX
contains 00000200H
,EBX
contains 00000003H
,并且数据段包含1000H
,那么这条指令生成的有效地址是什么?”
MOV ECX,[ESI][EDI]
我怎么知道ESI
和EDI
寄存器中包含哪些值? 我知道ESI
andEDI
寄存器通常用于字符串操作......
我也知道创建有效地址的一般格式是:
1) 左移DS
四位。
2) 将移位DS
值与偏移值相加。
在上面的代码片段中[ESI][EDI]
,我认为偏移量与[ESI + EDI]
. 我[ESI][EDI]
用英语解释为以下内容:
“偏移量等于寄存器中包含ESI
的值加上寄存器中包含的值EDI
。”
这是我在为期 8 周的 x86 微处理器课程中的第一周,因此我很感谢您的反馈。