2015-10-04 5 views
0

Я работаю над некоторым кодом газовой сборки, и я не могу найти значения скобок и вкладок в коде. Приведите несколько примеров:Что такое скобки и табуляция в газе на сборке langurage x86

cmpl $99,-4(%ebp) 

movl $1,(%eax,%edx) 

leal 0(,%edx,4),%eax 

pushl %ebp 
movl %esp,%ebp 
subl $2,%esp 
movl $0,tab 

Имеет ли скобки математическую операцию? Если да, то что означает (% eax,% edx) и 0 (,% edx, 4)? Является ли вкладка участником газовой сборки?

+0

Для получения этих инструкций найдите инструкцию. Ключевое слово для того, что вы ищете («значение ... y»), является ** синтаксисом **. Поэтому найдите сеть для синтаксиса «leal» [leal 0 (,% edx, 4),% eax] == [eax = '' + 0 + 4 * edx] –

+0

[Этот ответ] (http: /stackoverflow.com/a/32704450/547981) объясняет синтаксис эффективного адреса, я закрываю его как дубликат. Что касается 'tab', это просто символ, определенный в другом месте кода. – Jester

ответ

0

Насколько я знаю, о скобке в Ассамблее означает перемещение регистра, хранящийся в качестве указателя в место, которое находится в круглых скобках, например:

мы (% EAX)/перемещает значения, хранящиеся в указателе to eax