> On Feb 27, 2016, at 2:01 PM, Paul Koning <[email protected]> wrote:
>
>
>> On Feb 26, 2016, at 7:13 PM, Clem Cole <[email protected]> wrote:
>>
>>
>> On Fri, Feb 26, 2016 at 6:28 PM, Nigel Williams
>> <[email protected]> wrote:
>> Perhaps not unusual for the 1960s but laborious none-the-less.
>>
>> Depends who you are. For grins look for the original Cray-1 "assembler"
>> box. You'll discover there are no mnemonics like "add", "branch" - just
>> octal codes. Seymor didn't need them.
>
> Obviously, to get an assembler you'd first have to bootstrap *that*, unless
> you could write a cross-assembler. And early assemblers weren't necessarily
> all that fancy.
>
> I've been reading some 1950s era computer descriptions, for machines without
> assemblers. Opcodes are simply written as op/addr so you'd remember, say,
> that 0 is add and 6 is store, and so forth. A machine introduced in Holland
> in 1958 -- the EL-X1 -- had a very bare-bones assembler, or slightly smart
> loader, depending on how you'd want to think about it. Just a few hundred
> instructions; it had opcodes like "0A" (add to A) or "6S" (store S register).
> And it had symbolic addresses, but you couldn't label individual locations,
> only "paragraphs" because symbols were only pairs of one of 13 letters, i.e.,
> a max of 169 symbols per program. Still, with that primitive tool some large
> software was written, such as the world's first ALGOL compiler.
>
> It isn't really all that much harder than a modern assembler once you get
> used to the different look.
>
> paul
>
When I was in secondary school in the mid-1960’s, I had a weekend job as an
operator on the
Atlas 2 (Titan) at Cambridge University in the UK and later worked as a junior
programmer there over the summer when I went to university. Atlas instructions
were fixed format (10-bit opcode field, 2 7-bit B-register addresses and a
24-bit memory address) and the assembler
accepted numeric input for each of the fields. I still remember some of the
basic instructions:
121 3 0 5 would load 5
into B-register 3
121 127 0 addr would jump to addr
since B127 was the “PC”
The hardware did not include a subroutine call instruction so you had to use an
“Extracted”
(sort of like a trap to BIOS) IIRC:
1362 0 0 addr would call the
routine at addr and leave a return
link in B90
121 127 90 0 would return from the
subroutine
This was the first computer I had contact with and it really wasn’t that hard
to remember the
basics although there were something like 300 instructions and a similar number
of extracodes!
John.
> _______________________________________________
> Simh mailing list
> [email protected]
> http://mailman.trailing-edge.com/mailman/listinfo/simh
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh