Программная архитектура Alpha. Характеристики программной архитектуры Alpha. Использование регистров в Alpha Linux. Команды архитектуры Alpha, страница 2

Целочисленные команды чтения и записи

LDA

Загрузка адреса в регистр

LDAH

Загрузка старшей части адреса в регистр

LDBU

Загрузка байта (8 бит) из памяти в регистр

LDL

Загрузка длинного слова (32 бита) из памяти в регистр

LDL_L

Загрузка длинного слова (32 бита) из памяти в регистр с блокированием

LDQ

Загрузка учетверенного слова (64 бита) из памяти в регистр

LDQ_L

Загрузка учетверенного слова (64 бита) из памяти в регистр с блокированием

LDQ_U

Загрузка невыровненного учетверенного слова (64 бита) из памяти в регистр

LDWU

Загрузка слова (16 бит) из памяти в регистр

STB

Записать байт (8 бит) из регистра в память

STL

Запись длинного слова (32 бита) из регистра в память

STL_C

Условная запись длинного слова (32 бита) из регистра в память

STQ

Запись учетверенного слова (64 бита) из регистра в память

STQ_C

Условная запись учетверенного слова (64 бита) из регистра в память

STQ_U

Запись невыровненого учетверенного слова (64 бита) из регистра в память

STW

Запись слова (16 бит) из регистра в память

Операции LDx_L и STx_C предназначены для межпроцессорных коммуникаций в SMP-системе.

Целочисленные команды управления

Bxx

Переход, если значение регистра удовлетворяет условию

BLBC

Переход, если младший бит регистра равен 0

BLBS

Переход, если младший бит регистра равен 1

BR

Безусловный переход по смещению

BSR

Переход к подпрограмме по смещению

JMP

Переход

JSR

Переход к подпрограмме

RET

Возврат из подпрограммы

JSR_COROUTINE

Переход к возврату из подпрограммы

Целочисленные арифметические команды

ADDL

Сложение DWord

ADDQ

Сложение QWord

S4ADDL

Сложение DWord с масштабированием (C=A*4+B)

S4ADDQ

Сложение QWord с масштабированием (C=A*4+B)

S8ADDL

Сложение DWord с масштабированием (C=A*8+B)

S8ADDQ

Сложение QWord с масштабированием (C=A*8+B)

CMPEQ

Знаковое сравнение «равно»

CMPLT

Знаковое сравнение «меньше»

CMPLE

Знаковое сравнение «меньше или равно»

CMPULT

Беззнаковое сравнение «меньше»

CMPULE

Беззнаковое сравнение «меньше или равно»

CTLZ

Посчитать число старших нулевых битов в регистре

CTPOP

Посчитать число ненулевых битов в регистре

CTTZ

Посчитать число младших нулевых битов в регистре

MULL

Умножение DWord

MULQ

Умножение QWord (младшие 64 бита результата)

UMULH

Беззнакового умножения QWord (старшие 64 бита результата)

SUBL

Вычитание DWord

SUBQ

Вычитание QWord

S4SUBL

Вычитание DWord с масштабированием (C=A*4–B)

S4SUBQ

Вычитание QWord с масштабированием (C=A*4–B)

S8SUBL

Вычитание DWord с масштабированием (C=A*8–B)

S8SUBQ

Вычитание QWord с масштабированием (C=A*8–B)

Логические команды и команды сдвига