On Thu, 21 Aug 2008 09:11:48 -0500, [EMAIL PROTECTED] (Rob Warnock) wrote: >[EMAIL PROTECTED]> wrote: >+--------------- >| [EMAIL PROTECTED] (Rob Warnock) wrote: >| >In the LGP-30, they used hex addresses, sort of[1], but the opcodes >| >(all 16 of them) had single-letter mnemonics chosen so that the >| >low 4 bits of the character codes *were* the correct nibble for >| >the opcode! ;-} >... >| >[1] The LGP-30 character code was defined before the industry had >| > yet standardized on a common "hex" character set, so instead of >| > "0123456789abcdef" they used "0123456789fgjkqw". [The "fgjkqw" >| > were some random characters on the Flexowriter keyboard whose low >| > 4 bits just happened to be what we now call 0xa-0xf]. Even worse, >| > the sector addresses of instructions were *not* right-justified >| > in the machine word (off by one bit), plus because of the shift- >| > register nature of the accumulator you lost the low bit of each >| > machine word when you typed in instructions (or read them from >| > tape), so the address values you used in coding went up by *4*! >| > That is, machine locations were counted [*and* coded, in both >| > absolute machine code & assembler] as "0", "4", "8", "j", "10", >| > "14", "18", "1j" (pronounced "J-teen"!!), etc. >| >| Whats os interresting about all this hullabaloo is that nobody has >| coded machine code here, and know's squat about it. >+--------------- > >Think again! *BOTH* of the two examples I gave -- for the LGP-30 & the >IBM 1410 -- *WERE* raw machine code, *NOT* assembler!!! Please read again >what I wrote about the character codes for the instruction mnemonics >*BEING* the machine instruction codes. For the IBM 1410, the bootstrap >code that ones types in: > > v v > L%B000012$N > >*IS* raw machine code, *NOT* assembler!! [snip]
I don't see the distinction. Just dissasemble it and find out. > >you're typing *RAW* machine code, *NOT* assembler!! You see, the >lower 4 bits of character "b" -- the "mnemonic" for "Bring" -- were >binary 0001, the *same* as the lower 4 bits of the digit "1" (and two >other characters as well). So when you typed a "b" in that position >in "4-bit input mode" you were typing the same thing as the character "1" >which was the same thing as *binary* 0001 which was the absolute machine >opcode for the ""Bring" instruction!! "No assembler required" (pardon >the pun). > >+--------------- >| I'm not talking assembly language. >+--------------- > >Neither was I. The fact that for the two machines I mentioned >absolute machine code was somewhat readable to humans seems to >have confused you, but that's the way some people liked to design >their hardware back in those days -- with clever punning of character >codes with absolute machine opcodes (for the convenience of the user). > >+--------------- >| Don't you know that there are routines that program machine code? >+--------------- > >What do you mean "routines"?!? For the above two machines, you can >enter machine code with *no* programs ("routines?") running; that is, >no boot ROM is required (or even available, as it happened). > [snip all the bullshit] Each op is a routine in microcode. That is machine code. Those op routines use machine cycles. You hit the wall of understanding along time ago, a wall you never looked past. sln -- http://mail.python.org/mailman/listinfo/python-list