ПРИМЕЧАНИЕ. Я использую систему на основе 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
для новых регистров?
Кроме того, если есть какие-либо хорошие ресурсы, где можно найти дополнительную информацию.Или учебники, учебники всегда весело.