Undefined instruction.

????? ?????? x86-??????????? ??????????? ?? ???? ???????? ?????? ??????? ?????????? ?????? ????????. ???? ?? ???????? ????? ???????? – ?????????? UD2. ?????? ???? ?????????? ??????? ? ???, ?????… ???? ?????????????? ???????????. ?????????? UD2 ?????? ???????? ? ????????? ?????????? «Invalid opcode». ??????? UD2 ?? ????? ?????? ?????????????? ?????????? ? ???, ??? ??? ?????????? ?????????????? ?? ?????? ?????????? ??????????? ? ???????.

????????? ????????? ???? ???????. ??????? «2» ?????????????, ??? ???? ??? ? ??? ??????? UD1 ??? UD, ?? ?? Intel ?? AMD ?? ????????? ????? ??????????. ????? ?? ????????? ??????????, ??? ????????? ??????????? ???????????? (??? ????????????) ??? ???????? ???? ???????:

  • UD0 (0F FF)
  • UD1 ??? UD2B (0F B9)
  • UD2 ??? UD2A (0F 0B)

?? ???? ?? ???? ?????? ?? ???????? ?????????? ????????, ?? ??? ??? ??-??????? ??????????? ? ???????????? Intel ? AMD. ?????????? UD0 (0F FF) ????????????? ?????? ?????? ? ??????? ??????????? ??????. ?.?. ??? ?????????? ?? ?????????? ??????, ?? ????? ???? ?????????????? ? ???????.

????????? UD1 ?? ??????????? ? “Programmer’s Manual”, ?? ?????????? 0F B9 ??????? ? ??????? ??????????? ?????????? ??? «Undefined instruction opcode» ?, ??????????????, ??? ?? ????? ???? ?????????????? ????????????. ????? ????? ???????????, ??? ?? 0F B9 ?????? ????????? ModRM ????, ???????????? ?????????? ???? ??????????. ???????, ??? ????????? ?????????? ModRM ????? ? ????????? ? ????? ?????????? 0F B9 ??? ????? ????????? ??? «Undefined instruction». ???????? ?????? ? ???, ??? ? ????????, ????????? ? ?????????, ?? 0F B9 ?? ??????? ??????. ???? ?????? – ?? ???????.

UD2, ??????, ???????? ????? ????????? ??????? «?????????????? ??????????». ??? ???????? ????? ??? ?????, ?? ????????? ???????????? ? ??? ?????? ???????? ???? ?????? ? ??????? ??????????? ??????.

Cross-posted from blog.not-a-kernel-guy.com.