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