Я генерирую следующую инструкцию для 64-битной x86:
41 F3 0F 10 46 10 movss XMM0,014h[R14]
К сожалению, в этой строке возникают ошибки seg. gdb разбирает это как:
0x0000000000402054 <+320>: rex.B
0x0000000000402055 <+321>: movss 0x14(%rsi),%xmm0
Обратите внимание, что переопределение rex.B не распознается, а индекс - RSI вместо R14.
Является ли инструкция недействительной? Я могу' Я не нашел никаких признаков того, что эта кодировка недопустима в справочнике по 64-битной инструкции AMD.
objdump также не может распознать ее как действительную инструкцию:
41 rex.B
f3 0f 10 46 10 movss 0x10(%rsi),%xmm0
Что здесь происходит?