无法理解大会

时间:2019-05-02 02:00:40

标签: assembly x86 att addressing-mode

这是我需要帮助的下表。我了解4(%eax)之前的解决方案操作数,但是在那之后我感到困惑。

Address    Value            Register     Value
0x100      0xFF             %eax         0x100
0x104      0xAB             %ecx         0x1
0x108      0x13             %edx         0x3
0x10C      0x11


Fill in the following table showing the values for the indicated operands:

Operand           Value    //Solutions at the end of the chapter
%eax              _____    //0x100
0x104             _____    //0xAB
$0x108            _____    //0x108
(%eax)            _____    //0xFF
4(%eax)           _____    //0xAB
9(%eax, %edx)     _____    //0x11
260(%ecx, %edx)   _____    //0x13
0xFC(,%ecx,4)     _____    //0xFF
(%eax, %edx,4)    _____    //0x11

例如9(%eax, %edx),据我了解,我们做9 + EAX + EDX。使用此,您将获得0x9 + 0x100 + 0x3 = 0x13。您如何获得0x11甚至0x10C?如果有任何意义,它应该是0x13或0x108。

对于260人,我完全迷失了。在答题纸上说(0x104 + 0x1 + 0x3)= 0x108在表上说0x13。我看到了这两个答案的来源,但是我什至看不到它们如何通过将其设置为0x104来处理260

0xFC(,%ecx,4)在我的答题纸上有点有意义,它显示为0x100,而在表格上它的答案显示为0xFF。据我了解,它的0xFC +(0x1 * 4)= 0xFC + 0x4 = 0xF(C + 4 = 16)= 0x1

有人可以帮我吗?我缺少这一关键部分,但似乎无法弄清楚到底是什么。

0 个答案:

没有答案