63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-
+
-
+
|
Since all those links chew into the 4 to 32 kW core limit of any given PDP-8 machine, one of the common games PDP-8 masters play is reusing *instruction and data* words for target address values and operands to save a word or two.
PDP-8 master Rick Murphy taught me one of these games. Instead of saying:
JMP 7600
and taking a "link" penalty, you find a nearby CLA instruction, give it a label in the assembly code, and jump indirectly through that label:
and taking a "link" penalty, you find a nearby CLA instruction, change it from the [group 1](http://gunkies.org/wiki/PDP-8_architecture#Group_1_.22operate.22_instruction_operations) to the [group 2](http://gunkies.org/wiki/PDP-8_architecture#Group_2_.22operate.22_instruction_operations) form of the `OPR` instruction, give it a label in the assembly code, and jump indirectly through that label:
OS8ENT, CLA / CLA = 7600, the OS/8 entry point
OS8ENT, 7600 / group 2 form of CLA, also the OS/8 entry point
... / some number of other instructions, but less than a page worth
JMP I OS8ENT / return control to OS/8
The `I` modifies the `JMP` instruction, telling the PDP-8 to load the value at the memory location referred to by the `OS8ENT` label, load up the value it finds there (7600₈) and jump to *that* address.
Barf bags are in the seat pocket ahead of you.
|