Intel® 64 и IA-32 Архитектура Руководство разработчика: Том. 2A , раздел 2.2.1 дает ответ на ваш вопрос.
Префиксы REX - это байты префикса инструкции, используемые в 64-битном режиме. Они делают следующее:
- Укажите GPR и регистры SSE.
- Укажите размер 64-битного операнда.
- Укажите расширенные регистры управления.
Особенности приведены в разделе 2.2.1.2:
- Настройка REX.W может быть используется для определения размера операнда, но не только определяет ширину операнда.
- REX.R изменяет поле reg ModR / M, когда это поле кодирует регистр GPR, SSE, управления или отладки.
- Бит REX.X изменяет поле индекса SIB.
- REX.B либо изменяет базу в поле ModR / M r / m, либо в поле базы SIB; или изменяет поле opcode reg, используемое для доступа к GPR.
Пожалуйста, обратитесь к руководству Intel о том, как именно они кодируются.
Согласно разделу 3.1.1.1 ,
/ r - указывает, что байт ModR / M инструкции содержит операнд регистра и операнд r / m.
Объясняется байт ModR / M в разделе 2.1 Руководства. 88
, 89
, 8A
, 8B
, 8C
и др. c. это просто байты кода операции, также объясненные в этом разделе Руководства.