[Simh] pdp11 and unix
John Forecast
john at forecast.name
Sat Feb 27 15:55:08 EST 2016
> On Feb 27, 2016, at 2:01 PM, Paul Koning <paulkoning at comcast.net> wrote:
>
>
>> On Feb 26, 2016, at 7:13 PM, Clem Cole <clemc at ccc.com> wrote:
>>
>>
>> On Fri, Feb 26, 2016 at 6:28 PM, Nigel Williams <nw at retrocomputingtasmania.com> 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
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
More information about the Simh
mailing list