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....