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 <epekstrom(a)gmail.com> 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 <
cctalk(a)classiccmp.org> 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
>
>