Include undefined symbols in the symbol table for listing purposes.

MACRO11 V05.05 does this:

```
.MAIN.  MACRO V05.05  Sunday 18-APR-2021 16:29  Page 1

      1
      2 000000  012700  000000G                 mov #lab1,r0
      3
      4                                         .dsabl gbl
      5
U     6 000004  012700  000000                  mov #lab2,r0
      7
      8         000001                          .end

.MAIN.  MACRO V05.05  Sunday 18-APR-2021 16:29  Page 1-1
Symbol table

LAB1  = ****** GX       LAB2  = ******

. ABS.  000000    000   (RW,I,GBL,ABS,OVR)
        000010    001   (RW,I,LCL,REL,CON)
Errors detected:  1

*** Assembler statistics

Work  file  reads: 0
Work  file writes: 0
Size of work file: 34 Words  ( 1 Pages)
Size of core pool: 9260 Words  ( 35 Pages)
Operating  system: RSX-11M/M-PLUS

Elapsed time: 00:00:00.01
GBL,GBL/-SP=GBL
```
This commit is contained in:
Olaf Seibert
2021-04-18 18:31:35 +02:00
parent d0445ef8f4
commit 7bbcbba5f5
10 changed files with 73 additions and 12 deletions

View File

@@ -281,7 +281,7 @@ EX_TREE *evaluate(
/* Change some symbols to "undefined" */
if (flags & EVALUATE_UNDEF) {
if (flags & EVALUATE_DEFINEDNESS) {
int change = 0;
/* I'd prefer this behavior, but MACRO.SAV is a bit too primitive. */
@@ -296,6 +296,10 @@ EX_TREE *evaluate(
if ((sym->flags & (SYMBOLFLAG_GLOBAL | SYMBOLFLAG_DEFINITION)) == SYMBOLFLAG_GLOBAL)
change = 1;
/* A symbol marked as undefined is undefined */
if (sym->flags & SYMBOLFLAG_UNDEFINED)
change = 1;
if (change) {
res = new_temp_sym(tp->data.symbol->label, tp->data.symbol->section,
tp->data.symbol->value);