Андрей Ипполитов – Ассемблер ARM64 (страница 9)
•
Регистры 32‑битной части именуются
W0
–
W30;
операции над
Wn
пишут старшие биты
Xn
обнуляя (
zero
–
extend
).
Stack Pointer и спецификации
•
SP
–
Stack
Pointer
, 64‑бит (есть и
WSP
для 32‑бит операций).
SP
всегда должен быть выровнен по 16 байтам согласно
ABI
при вызове функций.
•
Используйте
FP
(
X
29) и
LR
(
X
30) для организации кадра, если нужен
frame
pointer
; многие компиляторы могут его не использовать (
frame
pointer
omission
).
Специальные регистры
•
NZCV
– флаги состояния
(Negative, Zero, Carry, oVerflow)
в регистре
PSTATE
, устанавливаются арифметическими/логическими инструкциями с суффиксом
S
(например
, ADDS).
•
PC
–
Program
Counter
(не адресуем напрямую как общий регистр, но читается/изменяется косвенно при ветвлениях).
•
PSTATE
– процессорное состояние (флаги и состояние исключений/режимов). Доступ ограничён; для чтения/записи используются специальные инструкции или системные привилегии.
•