1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-14 23:55:40 +00:00

Define the right symbol at the start of a CONSTANTS area.

Linking Muddle showed various unresolved symbols of the form
"$   42". These are used by MIDAS when it wants to refer to something in
a CONSTANTS area, but doesn't know the location at assembly time (for
example, because it's the other side of a LOC X where X is a global).
At the start of a CONSTANTS area, MIDAS defines this symbol as .;
however, it was defining it with the wrong name.

There's a special case in RPWRD1 to output references to these symbols
as squoze rather than symbol table numbers, but the code in CNST2 that
defines the symbol was using PDEFPT, which always outputs the number.
Make it output the squoze instead.
This commit is contained in:
Adam Sampson 2018-04-23 16:45:40 +01:00 committed by Adam Sampson
parent 1bb6ced04c
commit f5e54fd700

View File

@ -3857,7 +3857,10 @@ CNST2: MOVEI D,(T) ;STE IDX IN D FOR OUTSM0
MOVE SYM,(T) ;GET NAME OF AREA
TLC SYM,400000#LCUDF ;CLEAR LCUDF, SET HALF-KILL
TRNE FF,FRGLOL
PUSHJ P,PDEFPT ;DEFINE SYM FOR BEGINNING OF CONSTANTS AREA
JRST [ MOVEI A,CDEFPT ;Define sym for beginning of constants area
PUSHJ P,P7X
PUSHJ P,OUTSM ;As PDEFPT but punch squoze (see RPWRD1)
JRST .+1]
MOVE A,CONTBA
CNSTH: CAML A,PLIM
JRST CNSTA ;THRU