Вот некоторые инструкции и их соответствующие кодировки:
55 push %ebp
89 e5 mov %esp,%ebp
83 ec 18 sub $0x18,%esp
a1 0c 9f 04 08 mov 0x8049f0c,%eax
85 c0 test %eax,%eax
74 12 je 80484b1 <frame_dummy+0x21>
b8 00 00 00 00 mov $0x0,%eax
85 c0 test %eax,%eax
74 09 je 80484b1 <frame_dummy+0x21>
c7 04 24 0c 9f 04 08 movl $0x8049f0c,(%esp)
Сегодня микропроцессоры часто 32- или 64-битные, и я предполагаю, что они обычно читают данные из памяти в 4 байтах или 8 байтовых кусках. Однако инструкции могут иметь переменную длину. Как микропроцессор декодирует эти инструкции и почему они не имеют постоянной длины, чтобы облегчить реализацию?