Эта команда имеет некоторые запутанные режимы, вот таблица для 64-разрядной версии на странице 862 руководства Intel x64:x64 инструкция LAR (Load Права доступа Byte)
Opcode Instruction Description
0F 02 /r LAR r16, r16/m16 r16 ← access rights referenced by r16/m16
0F 02 /r LAR reg, r32/m16 reg ← access rights referenced by r32/m16
Какой размер регистра является то, что ' р '? Это инструкция, которая нуждается в 16-битном префиксе 66H? Или может быть префикс 67H или REX.W? Я предполагаю, что нужен префикс, поскольку оп-коды одинаковы ...
Это 'р/mem16' всегда 16-битный регистр? Справочник Intel перечисляет его как r16, так и r32 ... –
@RyanBrown В документе AMD он всегда 16-бит. В Intel упоминается небольшая заметка о том, что «используются только биты 16-0. Другие биты игнорируются», поэтому это означает, что 32-бит принимается, но бесполезен. Кроме того, я часто использую [this] (https://defuse.ca/online-x86-assembler.htm) для быстрых тестов (не на 100% надежных, но удобных), и он, похоже, принудительно 16-бит. – ElderBug
Ницца, спасибо! Это пригодится –