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

@@ -800,12 +800,12 @@ static int assemble(
if (!label) {
report(stack->top, "Missing .(I)IF condition\n");
} else if (strcmp(label, "DF") == 0) {
value = parse_expr(cp, EVALUATE_UNDEF);
value = parse_expr(cp, EVALUATE_DEFINEDNESS);
cp = value->cp;
ok = eval_defined(value);
free_tree(value);
} else if (strcmp(label, "NDF") == 0) {
value = parse_expr(cp, EVALUATE_UNDEF);
value = parse_expr(cp, EVALUATE_DEFINEDNESS);
cp = value->cp;
ok = eval_undefined(value);
free_tree(value);