I don't know why I hadn't thought of this before... I setup SIMH as before as an 11/23, started booting up RSX11M but aborted it after the RSX11M banner. Then I loaded my test program and jumped to 14000, and it runs!
So this would point to interrupts I would guess? Meaning, I am not handling them properly? - Peter On Thu, Oct 30, 2025 at 8:15 PM Peter Ekstrom <[email protected]> wrote: > I purposely kept it simple. The thing is, if I change the CPU to an 11/23+ > it keeps running. I did notice most other CPU models also aborts. > A loop waiting for keyboard input could stay waiting for quite some time. > Although I could see an interrupt happening. I disabled all the > devices I wasn't using in SIMH, hoping to prevent stray interrupts but it > still did the same thing. > > And just for clarity, this little program is the only thing I am loading. > I start the simulator, set the cpu, load the binary and jump to its start > address. > There is no operating system or anything else running. Just the bare > simulated metal. > > - Peter > > On Thu, Oct 30, 2025 at 8:03 PM Jon Elson via cctalk < > [email protected]> wrote: > >> On 10/30/25 09:39, Peter Ekstrom via cctalk wrote: >> > Anyone here familiar with programming the 11/23 (KDF11-A) in assembler, >> > bare metal? >> > I have been trying to get a very simple test program to run on it but it >> > keeps halting on >> > an address outside of the program. Seems to always be the same address >> > which is why >> > I am thinking I must be missing something. The program runs fine on an >> > 11/23+ or 11/70. >> > >> > Below is the listing: >> > >> > 1 000000 .asect >> > 2 014000 .=14000 >> > 3 014000 012706 002000 start: mov #2000,sp >> > 4 014004 000240 loop: nop >> > 5 014006 000776 br loop >> > 6 .end >> > >> > I have a hardware 11/23 but for convenience I have been testing on a >> SIMH >> > 11/23 by >> > loading the binary from the simh prompt and then jumping to the start >> > address. >> > I have tested the same code on 11/23+ and 11/70 CPUs and it runs fine. >> > >> > I am working in Linux and am using the following Macro11 >> cross-assembler: >> > >> > macro11 - portable MACRO11 assembler for DEC PDP-11 >> > Version 0.8 (07 Jul 2022) >> > Copyright 2001 Richard Krehbiel, >> > modified 2009 by Joerg Hoppe, >> > modified 2015-2017,2020-2021 by Olaf 'Rhialto' Seibert. >> > >> > I then use the obj2bin.pl utility by Don North to convert from object >> > format to binary load format. >> > >> > The following is what happens: >> > >> > PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 29d39002 >> > sim> set cpu 11/23 >> > sim> load test.bin >> > sim> g 14000 >> > >> > HALT instruction, PC: 005271 (HALT) >> > sim> >> > >> > Am I missing some initialization parts or something? I have looked >> through >> > various manuals and >> > the processor handbook for the LSI-11 but if it is in there, I am >> missing >> > it. >> > >> WOW, that code is insanely simple. Is it possible there is >> a timer (or other) interrupt happening? I can't see any >> reason the CPU will jump out of that do-nothing loop. >> >> Jon >> >>
