The Importance of Terminology's Quality

sln at sln at
Sat Aug 23 01:14:10 CEST 2008

On Fri, 22 Aug 2008 11:11:09 -0400, George Neuner <gneuner2 at> wrote:

>On Thu, 21 Aug 2008 02:30:27 GMT, sln at wrote:
>>On Wed, 20 Aug 2008 21:18:22 -0500, rpw3 at (Rob Warnock) wrote:
>>>Martin Gregorie  <martin at see.sig.for.address.invalid> wrote:
>>>| I was fascinated, though by the designs of early assemblers: I first 
>>>| learnt Elliott assembler, which required the op codes to be typed on 
>>>| octal but used symbolic labels and variable names. Meanwhile a colleague 
>>>| had started on a KDF6 which was the opposite - op codes were mnemonics 
>>>| but all addresses were absolute and entered in octal. I always wondered 
>>>| about the rationale of the KDF6 assembler writers in tackling only the 
>>>| easy part of the job.
>>>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!  ;-}
>>>[Or you could type in the actual hex digits, since the low 4 bits
>>>of *their* character codes were also their corresponding binary
>>>nibble values... "but that would have been wrong".]
>>>[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.
>>>Rob Warnock			<rpw3 at>
>>>627 26th Avenue			<URL:>
>>>San Mateo, CA 94403		(650)572-2607
>>Whats os interresting about all this hullabaloo is that nobody has
>>coded machine code here, and know's squat about it.
>A friend of mine had an early 8080 micros that was programmed through
>the front panel using knife switches ... toggle in the binary address,
>latch it, toggle in the binary data, latch it, repeat ad nauseam.  It
>had no storage device initially ... to use it you had to input your
>program by hand every time you turned it on.
>I did a little bit of programming on it, but I tired of it quickly.
>As did my friend - once he got the tape storage working (a new prom)
>and got hold of a shareware assembler, we hardly ever touched the
>switch panel again.  Then came CP/M and all the initial pain was
>forgotten (replaced by CP/M pain 8-).
>>I'm not talking assembly language. Don't you know that there are routines
>>that program machine code? Yes, burned in, bitwise encodings that enable
>>machine instructions? Nothing below that.
>>There is nobody here, who ever visited/replied with any thought relavence that can
>>be brought foward to any degree, meaning anything, nobody....
>What are you looking for?  An emulator you can play with?  
>Machine coding is not relevant anymore - it's completely infeasible to
>input all but the smallest program.  My friend had a BASIC interpreter
>for his 8080 - about 2KB which took hours to input by hand and heaven
>help you if you screwed up or the computer crashed.

I'm not looking for anything didn't you know?

I guess I wasn't talking assembly language, I was talking machine language.
The language behind the op codes, the one that takes cycles per 'op'eration.

It is entirely disgusting to listen to a littany of old time has beens who
did or did not work on old time cpu's that did or did not have an accumulator.

I worked with many cpu's at the assembly level, hell my first endevour was
writing dissasemblers, like Zilogs and pass through's to gain a whole different
instruction set.

I moved on, but before I did, I fully understood everyting I touched.
I've programmed over 14 million lines of code in my lifetime, but who gives
a rats ass.

Cpu's aren't complicated, far from it. Its having to eat the dubious constructs
of higher level languages built on those platforms.

Get your head out of the ground!


More information about the Python-list mailing list