Почему неопределённая инструкция x86 называется ud2?
Why is the x86 undefined instruction called ud2? Why 2?
Инструкция ud2 гарантированно вызывает исключение «invalid opcode» и используется компиляторами для пометки недостижимого кода. Раньше программисты полагались на последовательности 0F FF и 0F B9, которые неофициально вызывали то же исключение. Когда Intel столкнулась с зависимостью от этих байтов, она официально закрепила их как ud0 и ud1, а рекомендованной сделала ud2 — двухбайтовую инструкцию без параметров.
С достаточным числом пользователей любое наблюдаемое поведение станет от кого-то зависеть.