If you haven't heard of undocumented instructions, here's a quick primer.
They are opcodes that used to be present in early microprocessors due to side effects of different wiring circuits in them. They were usually left undocumented or rather cleanly left out from the official documentation and hence the name. But such policies were not to deter the exquisite brains of the geeks and they found out ways to exploit them. These instructions were not guaranteed hundred percent success. Usually, they amounted to a system crash, but in some rare cases, they produced something of value.
Early game developers of systems like Amiga, Commodore 64 etc used such instructions to speed up certain time critical process and hence optimized the system.
Certain instructions
Such instructions usually provided the programmer shorter ways to attain results. These instructions were actually curses to the chip designers. With each revision, such instructions were bound to change and resulted in crashing a perfectly working program.
Designers later began to trap such instructions in design phase itself and as a result, the volume of such instructions have sunk to a minimum. Certain instructions like SALC (set the AL register depending on the Carry Flag, opcode D6), AAM immd8 (Divide AL by immd8, put quotient in AH, Remainder in AL, opcode : D4) from the x86 family were later documented.
Friday, August 31, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment