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
>>
>>

Reply via email to