Что такое постфиксный синтаксис AT & T для кодов операций? - PullRequest
1 голос
/ 27 марта 2012

ПРИМЕЧАНИЕ. Я использую систему на основе BSD, поэтому, если я правильно помню, это означает, что аргументы для вызываемых подпрограмм / функций помещаются в стек, а не помещаются в регистры.

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

.globl _start

_start:
    movl $0x20, %eax
    pushl %eax
    movl $0x1, %eax
    subl $0x4, %esp
    int $0x80

в 64-битной сборке.

Я помню, что читал, что большая разница в том, что регистры теперь переименованы *Префикс 1010 * вместо 32-битного стандарта префикса e.

Но каков новый постфикс для 64-битных кодов операций, если l уже означает long для 32 бит?

Из любопытства, почему это префикс r для новых регистров?

Кроме того, если есть какие-либо хорошие ресурсы, где можно найти дополнительную информацию.Или учебники, учебники всегда весело.

1 Ответ

2 голосов
/ 27 марта 2012

Постфикс: q для qword , а r предположительно означает регистр . Вот введение в синтаксис AT & T.

...