Penguin

The names given to individual instructions in AssemblyLanguage. Different CPU families have different op codes, and assembler has mnemonic names for the different instructions (which to the CPU are just 1s and 0s).

For Intel x86 machines, common codes include JMP, AND, XOR, INT, MOVL, PUSH, POP, CALL, and so on.

Now for some miscalleneous stuff.


You can swap the contents of 2 variables using XOR. In C: x^=y^=x^=y;


(From a slashdot poll on favourite op-codes):

My favorite in the intel world is LOADALL, 0x0F05 on 286 and 0x0F07 on 386. LOADALL was put into the A & B steppings for test purposes, but was removed in the production C stepping of the 286. Then M$ sued intel and they were forced to put it back in all later steppings. They also put it in most, but not all, 386's but with the different opcode, just to fuck over M$. The 486 and later don't have it, because virus writers the world over would take advantage of it.

The reason its my favorite is that M$ used LOADALL as the key to getting around protected and real mode operation built into the 286 when it was developing DOS-286, a precursor to the OS/2 project. Because it allowed any M$ compiled program to switch from protected mode to real mode and back, it made multi-tasking easier than writing a real task handler. M$ was 12+ months and US$20 million into developing DOS-286 when they started testing on the production IBM PC-XT, with the production 286's. At that point there were 200,000+ units shipped, and IBM refused to do a recall. So M$ had to scrap the project and team up with IBM to work on OS/2. It cost them the lead when the Macintosh came out the next year, and as history has shown, they never really recovered :-)


(I think this came from the same slashdot poll)

The best op ever has to be the PowerPC's EIEIO (Ensure Inline Execution of I/O). Someone at IBM has a sense of humor.


An extract from the JargonFile (JargonFile:SEX):

DEC's engineers nearly got a PDP-11 assembler that used the SEX mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of "The Intel 8086 Primer", who was one of the original designers of the 8086, noted that there was originally a SEX instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed CBW and CWD (depending on what was being extended). Amusingly, the Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight SEX but has logical-or and logical-and instructions ORL and ANL.