2015-02-12 3 views
-2

Мы используем gdb для отладки некоторых строк кода. Есть две строки, которые мы не уверены в том, что она делает:mov и добавить операнд в код ассемблера?

mov -0x8(%edx) %eax 
add -0x4(%edx) %eax 

Я всегда смущен круглыми скобками в сборке. Есть ли учебник или ссылка там?

+0

Вы можете переключить gdb в режим синтаксиса Intel, используя 'set disassembly-flavor intel'. Вот быстрый [at & t cheat sheet] (http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html). – Jester

ответ

0

mov -0x8(%edx) %eax эквивалентен mov eax, [edx-8]. (загружает eax из памяти)

add -0x4(%edx) %eax равнозначно add eax, [edx-4]. (загружает eax из памяти)

Смежные вопросы