| PLEX86 | ||
That OctalDecimal Table 385+--------------- I can't believe someone actually designed a scheme like that. What was the buttembly language like, buttuming it had one? +--------------- The "buttembly language" was just machine language with symbolic addresses. For small programs, it was often easier to write machine code directly than to use the buttembler. Write down your code, then go back and fill in the addresses once you knew what they were. Then type it in... +--------------- Did you have to enter everything in anagrams? +--------------- That OctalDecimal Table 386 Nah, these were new-hires getting broken in. Back in those days, these are guys who would have come from an IBM background and had the... Hey, it wasn't *that* bad!! ;-} ;-} Think of it this way: System360 Hardwired vs. Microcoded 388 On Mon, 4 Apr 2005 12:50:59 +0000 (UTC), Joe Morris The 2314 had almost an identical microword as the 2841, which was the first 360 DASD controller and supported the 2311, 2302, and the... 1. The buttembler syntax had distinct 1-letter abbreviations for each instruction -- not hard, when there are only 16 instructions, even when the abbreviations were chosen to be distinct-disjoint from the characters used for hex digits. The instruction abbreviations were *mostly* mnemonic, except for "Z" (which was easy enough to remember), "N" (which was an alternate "M", which was mnemonic), and "Y" (the weirdo, admittedly): hex opcode digit char 0 z Stop conditional on console switches & track addr 1 b Bring load 4 i Input shift one 4--6-bit char from KBD-tape into AC 5 d Divide 6 n Multiply saves lower half of result, usually an integer 7 m Multiply saves upper half of result, usually a fraction 8 p Print shift one char out of AC to typewriter-tape 9 e Extract logical-AND memory to AC f u Unconditional branch g t Test and branch if AC negative j h Hold store AC, leaving AC unchanged k c Clear store & clear accumulator (AC) q a Add memory to AC w s Subtract 2. The high-order 4 bits of the Flexowriter typewriter code for the 1-letter abbreviations of the instructions (what would be read when you typed it while the machine was in 4-bit input mode) was the *same* as the actual internal 4-bit machine op-code for the corresponding instruction, and in fact was the same as the matching hex digit shown above. 3. There were 64 tracks of 64 sectors in memory (the drum), only six bits of address, but in the internal instruction format there was a two bit gap between the instruction code and the track address and between the sector address and the RHS of the word, which meant that all of instructions, track address, and sector address were aligned within nibble boundaries, but also meant that addresses incremented by 4: 0, 4, 8, j, 10, 14, 19, 1j, ... 3wqj, 3ww0, 3ww4, 3ww8, 3wwj. The latter is 0x3ffc in modern hex. 4. Therefore: If you typed an instruction and a hex machine address with no space between them, the resulting bit pattern that got read into the accumulator (in 4-bit mode) *was* the corresponding machine instruction! So the machine code not "buttembler", raw machine code to add memory locations 1000 & 1004 and store the result in location 1008 was simply: b1000 a1004 c1008 Quite easy to read, once you knew the opcodes. -Rob p.s. Yes, as you can see from the above table, you could swap the roles of hex digits and instruction abbreviations and get the same instructions into your program by typing this: 1bzzz qbzzi kxzzp but that would have just been silly. System360 Hardwired vs. Microcoded 387 Peter Flbutt 44PS was the "native" operating system. There was some extra-cost hardware and software that provided a slow emulator for the missing instructions (plus hardware implementations of a few of... ----- San Mateo, CA 94403 (650)572-2607
|
||||
Alt Folklore Computers from Newsgroups The #1 Usenet Provider on the Internet
|
||||