textfiles/humor/COMPUTER/opcodes1.jok

86 lines
3.3 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From: aty@ucselx.sdsu.edu (young a t)
Newsgroups: alt.folklore.computers
Subject: apocryphal opcode mnemonics,long
Date: 23 Apr 90 04:59:46 GMT
CRN is clearly a parody of the IBM 7090's CRQ instruction, the nearest thing
to a Rube Goldberg machine ever constructed. To quote from IBM publication
A22-6528-4 (March 1962), with acronyms expanded for modern readers:
"CRQ -- Convert by Replacement from the MQ
....
This instruction treats the contents of the MQ register as six 6-bit
quantities and replaces the first C of these quantities by values from
tables in core storage.
....
The instruction is executed in the following steps:
1. The address part replaces the address field of the Storage Register.
2. The count field C is placed in the shift register.
3. The contents of the shift register are tested. If the register
contains 0, step 4a follows. If the register is not 0, step 4b follows.
4a. If position 20 of this instruction contains a 1, the address
field of the Storage Register replaces Index Register A and the computer
proceeds to the next sequential instruction. If position 20 contrins a 0,
the computer proceeds directly to the next sequential instruction.
4b. The address bits of the Storage Register are added to the
signed contents of the MQ register to form an address (X). The contents
of X then replace the contents of the Storage Register.
5. The contents of the MQ are shifted left six places. Bits shifted
out of its sign bit are lost. Positions vacated are filled with zeros.
6. The sign and highest 5 bits of the storage register replace the
lowest 6 bits of the MQ.
7. The contents of the shift register are decreased by one, and the
computer returns to step 3."
This wasn't far from converting to Roman numerals. It was intended to do
arithmetic directly on BCD numbers without converting them to binary.
The complexity of this and other instructions led to claims by other
computer manufacturers that their machines executed programs faster because
they had simpler instruction sets. Similar claims are being made today
under the "RISC vs. CISC" argument -- so what else is new?
I first met HCF in a list of "Proposed System/360 Instructions" about 1969
or '70, posted on a wall near a computer at JPL. The list follows:
BH Branch and Hang
IIB Ignore Inquiry and Branch
TDB Transfer and Drop Bits
DO Divide and Overflow
SRZ Subtract and Reset to Zero
PI Punch Invalid [note use of punched cards.]
SSJ Select Stacker and Jam
FSRA Forms Skip and Run Away [predecessor of Launch Paper?]
RASC Read and Shred Card
SRSD Seek Record and Scar Disc [disks were new then.]
BST Backspace and Stretch Tape
RIRG Read Inter-Record Gap
UER Update and Erase Record
EM Emulate 407 [407 = card-deck lister.]
SPSW Scramble Program Status Word
EIOC Execute Invalid Op Code
EROS Erase Read-Only Storage
PBC Print and Break Chain [chain-type line printers were current]
CM Circulate Memory
MLR Move and Lose Record
CRN Convert to Roman Numerals [see above.]
DMPK Destroy Memory Protect Key
DC Divide and Conquer
EPI Execute Programmer Immediate
LCC Load and Clear Core
HCF Halt and Catch Fire
As I recall, the 360's were introduced late, supposedly because IBM had
trouble getting bugs out of the instruction set....