2013-02-16 2 views
0
Address Value   Register Value 
0x100  0xFF   %eax  0x100 
0x104  0xAB   %ecx  0x1 
0x108  0x13   %edx  0x3 
0x10C  0x11 

Instruction      Destination    Value 
imull $16, (%eax, %edx, 4)  ___________    _____ 

Я продолжаю получать 0x10C в качестве адресата (что является правильным). Но по какой-то причине, когда я умножаю 10C * 16 (источник * destination), я получаю 1708, что является неправильным. Может кто-нибудь, пожалуйста, помогите мне? Спасибо!ATT ассемблер ассемблера

+1

Синтаксис AT & T должен умереть. –

ответ

0

Вы не умножаете 0x10C на 16, вы умножаете то, что находится по адресу 0x10C, что равно 0x11, на 16. И это дает вам 0x110 (или 272).

+0

О, ладно спасибо. – juice