The Importance of Terminology's Quality
sln at netherlands.com
sln at netherlands.com
Fri Aug 22 18:56:09 EDT 2008
On Thu, 21 Aug 2008 09:11:48 -0500, rpw3 at rpw3.org (Rob Warnock) wrote:
>sln at netherlands.com> wrote:
>+---------------
>| rpw3 at rpw3.org (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
More information about the Python-list
mailing list