[Simh] link11

Kevin Handy khandy21yo at gmail.com
Tue Jun 30 16:54:23 EDT 2020


Something to play with.

I have the beginning of a pdp11 linker to go with the macro11 simh tool. It
is in an early version, and many things don't work yet, but it can handle
some simple programs, like the hello world program included in the test
subdirectory. It needs a lot more work to handle larger, more complicated
programs.

It is quite limited currently, and has little error checking code, I only
coded the parts necessary to build the hello program, but it should be a
decent starting point.

Some limitations include:
- psects of 256 bytes or less.
- only handles a few of the relocations (1-4, but not 5-17)
- only produces an lda or a simh script
- no common psects
- only handles rt11 object files
- does not handle object libraries
- many more.

It's part of 'http://github.com/khandy21yo/emutools.git', in the link11
subdirectory. It is coded in C++, and uses cmake to build. It includes the
source of the 'unix archive' linker in this subdirectory, but that one is
far from working.

The documentation is quite lacking at the moment. It only started working
right yesterday for my test program.


~/emutools/link11/test$ ls *.obj
hello.obj  putconch.obj
~/emutools/link11/test$ ../link11 hello.obj putconch.obj -lda hello.lda
:~/emutools/link11/test$ pdp11

PDP-11 simulator V4.0-0 Current        git commit id: f95ac7dd
sim> load hello.lda
sim> g
Hello world!
HALT instruction, PC: 001040 (ADD (R5)+,(R0))
sim> exit
Goodbye
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20200630/20c104ca/attachment.html>


More information about the Simh mailing list