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