кодирование команд x64 и байт ModRM
Кодировка
call qword ptr [rax]
call qword ptr [rcx]
является
FF 10
FF 11
Я могу видеть, откуда взялась последняя цифра (0/1) (номер регистра), но я пытаюсь выяснить, откуда взялась вторая последняя цифра (1). Согласно сРуководство по программированию архитектуры AMD64, том 3: Общие и системные инструкции страница 56,
"/ digit - Указывает, что байт ModRM указывает только один операнд регистра или памяти (r / m). Цифра указывается в поле reg ModRM и используется как расширение кода инструкции. Допустимые значения цифр находятся в диапазоне от 0 до 7. "
В аналогичном документе Intel написано нечто подобное, иcall
через регистр указывается для кодирования как
FF /2
и ... я понятия не имею, что это значит, или как 2 в спецификации соединяется с старшей цифрой 1 в конечном результате. Есть ли где-нибудь другое объяснение?