Что означает код сборки `movl% 1, %% ebx`? - PullRequest
2 голосов
/ 06 апреля 2011

Я пытаюсь понять какой-то ассемблерный код:

movl $244, %eax
movl %1, %%ebx

Первый означает поместить число 244 в регистр eax, но что означает второй? заранее спасибо за любую помощь

P.S see the difference %1 and $244 and %eax and %%ebx

Ответы [ 2 ]

4 голосов
/ 07 апреля 2011

% 1 используется встроенной сборкой gcc для указания параметра.Здесь вы найдете несколько советов по встроенной сборке:

http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#s4

3 голосов
/ 06 апреля 2011

movl %1, %%ebx

movl переместит первый параметр ко второму параметру.Первый параметр - это переменная %1.Вторым параметром является регистр %%ebx.Компилятор изменит двойной знак процента на один знак процента, чтобы вы могли так же хорошо написать:

movl %1, %ebx

...