<--- Turn the page     (contents page)     Turn the page --->


Undocumented

The Undocumented POP CS Instruction




Did you know about the undocumented POP CS instruction? What would you possibly use it for?

It isn't as simple as you might think. The POP CS instruction was included with the INTEL 8088/8086 processor.

If we look at the opcode makeup, we see that it fits between POP ES and POP SS:

  Opcode Bit Pattern of POP segreg = 0000nn111 where:
Instruction   nn   opcode
  POP  ES     00    07h
  POP  CS     01    0Fh
  POP  SS     10    17h
  POP  DS     11    1Fh
Maybe INTEL left it in to save microcode chip logic. Unknown. Anyway, we need to look at the opcode of POP CS, which is 0Fh. In the newer processors, INTEL used this opcode to denote a new set of opcodes. So if you try to use POP CS on a 386 or higher, you will get an "unknown instruction" fault and probably crash the machine. ¥
 


<--- Turn the page     (contents page)     Turn the page --->

Page 13