Руководство разработчика программного обеспечения Intel для архитектуры , том 2B (инструкции NZ) содержит следующую таблицу (стр. 4-12) о NOP
:
Таблица 4-9,Рекомендованная многобайтовая последовательность инструкции NOP
Length Assembly Byte Sequence
=================================================================================
2 bytes 66 NOP 66 90H
3 bytes NOP DWORD ptr [EAX] 0F 1F 00H
4 bytes NOP DWORD ptr [EAX + 00H] 0F 1F 40 00H
5 bytes NOP DWORD ptr [EAX + EAX*1 + 00H] 0F 1F 44 00 00H
6 bytes 66 NOP DWORD ptr [EAX + EAX*1 + 00H] 66 0F 1F 44 00 00H
7 bytes NOP DWORD ptr [EAX + 00000000H] 0F 1F 80 00 00 00 00H
8 bytes NOP DWORD ptr [EAX + EAX*1 + 00000000H] 0F 1F 84 00 00 00 00 00H
9 bytes 66 NOP DWORD ptr [EAX + EAX*1 + 00000000H] 66 0F 1F 84 00 00 00 00 00H
Это позволяет вам создать "заполнение NOP
" определенных размеров.С двумя из них вы можете соединить 16 байт, хотя я и предлагаю проверить руководства по оптимизации (для целевого процессора), является ли JMP
быстрее двух таких NOPs
.