From 8bfd9169aa0e4ec24cc41684c46b5f7efe1eb200 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Sun, 22 Apr 2018 00:33:03 +0100 Subject: [PATCH] Have MIDAS define the right constant area start symbol. When building MUDDLE, I was seeing 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 should define this symbol as .; however, it was defining it with the wrong name. There's a special case in RPWRD1 to output 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. Modify it to output the squoze instead. --- /midas.323 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a//midas.323 b//midas.323 index bbb37e7..413ce8d 100644 --- a//midas.323 +++ b//midas.323 @@ -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 -- 2.31.1