digplanet beta 1: Athena
Share digplanet:


Applied sciences






















An illegal opcode, also called an undocumented instruction, is an instruction to a CPU that is not mentioned in any official documentation released by the CPU's designer or manufacturer, which nevertheless has an effect. Illegal opcodes were common on older CPUs designed during the 1970s, such as the MOS Technology 6502, Intel 8086, and the Zilog Z80. They exist as a side effect of the wiring of transistors in the CPU, and usually combine functions of the CPU that were not intended to be combined.

While most illegal instructions have useless or even highly undesirable effects (such as crashing the computer), a few might by accident do something that can be useful in certain situations. Such instructions were sometimes exploited in computer games of the 1970s and 1980s to speed up certain time-critical sections. Another common use of them was in the ongoing battle between copy protection implementations and cracking. Here, they were a form of security through obscurity, and their secrecy usually did not last very long.

A danger associated with the use of illegal instructions was that, given the fact that the manufacturer did not guarantee their existence and function, they might disappear or behave differently with any change of the CPU internals or any new revision of the CPU, rendering programs that use them incompatible with the newer revisions. For example, a number of older Apple II games do not work correctly on the newer Apple IIc, because the latter uses a newer CPU revision — 65C02 — that does away with illegal opcodes.

More recent CPUs, such as the 80186, 80286, 68000 and its descendants or the PowerPC processor, usually do not have illegal opcodes. Their manufacturers guarantee that the CPU will behave in a well-defined way when it finds an unknown opcode in the instruction stream: usually, this means triggering a certain exception or fault condition. The operating system's exception or fault handler will then usually terminate the application that caused the fault. Another, less common way of handling illegal instructions is by defining them to do nothing except taking up time and space (equivalent to the CPU's official NOP instruction); this method is used by the TMS9900 and 65C02 processor, among others.

Today, the details of these instructions are mainly of interest for exact emulation of older systems.

See also[edit]


Original courtesy of Wikipedia: http://en.wikipedia.org/wiki/Illegal_opcode — Please support Wikipedia.
This page uses Creative Commons Licensed content from Wikipedia. A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia.
47 videos foundNext > 

PSXfin executes illegal opcodes before Sony logo

I just downloaded the SCPH5502.bin and tried it in PSXfin but seems to shoot out r3000 illegal opcodes BEFORE the Sony Logo! Insane! All other BIOS work ...

Demo Arigato by SquoQuo

Demo Arigato SquoQuo@SillyVenture 2012 ______ ______ _____ ______ ______ __ _) \\__\ \\_____) (_____// /__// (_ __ )_\ \ ...

Reverse Engineering the MOS 6502 CPU [27C3]

Reverse Engineering the MOS 6502 CPU 3510 transistors in 60 minutes The MOS 6502 CPU, which was designed in 1975 and powered systems like the Apple ...

Opcode Meaning

Video shows what opcode means. A mnemonic used to refer to a microprocessor instruction in assembly language.. Opcode Meaning. How to pronounce ...

#days: Ange Albertini: Such a weird processor - messing with x86 opcodes

days Security & Risk Conference: Ange Albertini: Such a weird processor - messing with x86 opcodes.

Pokemon Yellow Glitching Part 4: Missingno and Opcodes

In this episode we: Rage at crashes Get lots of masterballs HEX: 1F, 20, 32, 34, 38, 3D, 3E, 3F, 43, 44, 45, 4F, 50, 51, 56, 57, 5E, 5F, 73, 79, 7A, 7F, 86, 87, 89, ...

What does opcode mean?

What does opcode mean? A spoken definition of opcode. Intro Sound: Typewriter - Tamskp Licensed under CC:BA 3.0 Outro Music: Groove Groove - Kevin ...

r_gb - A gameboy emulator written in Java

Gameboy Emulator written in Java by xampf. Sourcode available (under GPL): https://bitbucket.org/xampf/r_gb/overview Its goal isnt to achieve full compatibility.


http://www.centsports.com/?opcode=100354 Q: What is CentSports? A: CentSports is just one of many places on the Internet where you can place bets on major ...

The Mill CPU Architecture - Specification (8 of 10)

Please share via this link: http://MillComputing.com/docs/specification/ 00:00:00 01 Start 00:00:51 02 A configurable architecture 00:02:46 03 Talk 8 in a series ...

47 videos foundNext > 

1 news items

Mon, 05 Mar 2012 07:56:15 -0800

NDS developer Patrick Aalto is back with another update to the DSx86 PC emulator for the NDS. This brings the release to Beta version 0,41 and will let you play some old DOS Games. Check out the official website for specific instructions and a ...

Oops, we seem to be having trouble contacting Twitter

Support Wikipedia

A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia. Please add your support for Wikipedia!

Searchlight Group

Digplanet also receives support from Searchlight Group. Visit Searchlight