Как занести в eax единицу, уложившись в 3 байта кода, на x86_64?
С x86 всё просто:
xor eax,eax
inc eax
эквивалентно в hex
31 C0 40
Но c x86_64 засада. Согласно докам от AMD, однобайтовые INC и DEC были выпилены из 64-битного режима.
mov 1, eax
не подходит, потому что в 32-битном режиме оно уже занимает 5 байт, а в 64-битном ещё больше.