Я генерирую файлы сборки AT & T-синтаксиса. Я хочу закодировать некоторые данные в сгенерированном потоке команд. (Я хочу встроить маску указателя регистра, которую я могу найти, используя фиксированное смещение на ПК.)
Я могу просто использовать директиву .byte или .ascii и jmp для встроенных данных:
movq _label6@GOTPCREL(%rip), %rax
jmp _skip0
.ascii "garbage instructions; scares GDB\0"
_skip0:
movq %rax, -8(%r15)
Однако это кажется немного абсурдным. Есть ли более чистый способ сделать это? В руководствах Intel говорится, что есть многобайтовые инструкции NOP. Есть ли способ кодировать данные в NOP? Если это так, могу ли я сделать это с помощью сборки? (Я не хочу создавать двоичные файлы самостоятельно.)
Спасибо.