Address Value Register Value
0x100 0xFF %rax 0x100
0x104 0xAB %rcx 0x1
0x108 0x13 %rdx 0x3
0x10C 0x11
Fill in the following table showing the values for the indicated operands:
Operand Value //Solutions at the end of the chapter
%rax _____ //0x100
0x104 _____ //0xAB
$0x108 _____ //0x108
(%rax) _____ //0xFF
4(%rax) _____ //0xAB
9(%rax, %rdx) _____ //0x11
260(%rcx, %rdx) _____ //0x13
0xFC(,%rcx,4) _____ //0xFF
(%rax, %rdx,4) _____ //0x11
I found a similar question on this site, but I still don't understand how 9(%rax, %rdx) works. I thought it was supposed to be 9+100+3 = 112 and find the value at address 0x112, but there is no address 0x112 given to us? And in the similar problem I found here: Hard time understanding assembly language it seems that with 260(%rcx, %rdx) we needed to convert the value to hexadecimal? But that didn't work for 9(%rax, %rdx). Same with (%rax, %rdx,4). I still get 112. How does that lead to address 0x10C to get a value of 0x11?