The Importance of Terminology's Quality

George Neuner gneuner2 at comcast.net
Fri Aug 22 11:11:09 EDT 2008


On Thu, 21 Aug 2008 02:30:27 GMT, sln at netherlands.com wrote:

>On Wed, 20 Aug 2008 21:18:22 -0500, rpw3 at rpw3.org (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".]
>>
>>
>>-Rob
>>
>>[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 rpw3.org>
>>627 26th Avenue			<URL:http://rpw3.org/>
>>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.

>sln

George



More information about the Python-list mailing list