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