Справочник по Intel, том 2 Справочник по наборам инструкций - 325383-056US Сентябрь 2015 Раздел 3.2 «MOV - Перемещение»
"имеет таблицу, которая содержит:
Opcode Instruction
---------------- ----------------
C6 /0 ib MOV r/m8, imm8
C7 /0 iw MOV r/m16, imm16
C7 /0 id MOV r/m32, imm32
REX.W + C7 /0 io MOV r/m64, imm32
Тогда вы должны знать, что:
r/m
означает регистр или ячейку памяти
imm
означает немедленное
Итак, это те кодировки, которые вы ищете.
Более эмпирически, вы могли бы просто попробовать и декомпилировать:
mov byte [0x1234678], 0x9A
Тогда:
as --32 -o a.o a.S
nasm -felf32 -o a.o a.asm
Дает:
00000000 <.text>:
0: c6 05 78 56 34 12 9a movb $0x9a,0x12345678
Итак, мы заключаем, что c6
- это код операции с ModR / M 05
, и сразу же следует следующий.