Fix .psect without argument, add (ignored) pseudo ops

.mdelete, .cross, .nocross
This commit is contained in:
Paul Koning
2022-06-12 16:50:28 -04:00
parent db9cb5a9ee
commit fbb936d1ce
3 changed files with 13 additions and 6 deletions

View File

@@ -293,6 +293,8 @@ O 75 .endc
case P_PAGE:
case P_PRINT:
case P_SBTTL:
case P_CROSS:
case P_NOCROSS:
return 1; /* Accepted, ignored. (An obvious
need: get assembly listing
controls working fully. ) */
@@ -708,6 +710,9 @@ O 75 .endc
return mac != NULL;
}
case P_MDELETE:
return 1; /* TODO: or should it just be a NOP? */
case P_MEXIT:
{
STREAM *macstr;
@@ -1038,12 +1043,8 @@ O 75 .endc
label = get_symbol(cp, &cp, NULL);
if (label == NULL) {
if (op->value == P_CSECT) {
label = memcheck(strdup(". BLK."));
unnamed_csect = 1;
} else {
label = memcheck(strdup("")); /* Allow blank */
}
label = memcheck(strdup(". BLK."));
unnamed_csect = 1;
}
sectsym = lookup_sym(label, &section_st);

View File

@@ -369,6 +369,7 @@ void add_symbols(
add_sym(".BLKW", P_BLKW, S, &pseudo_section, &system_st);
add_sym(".BYTE", P_BYTE, S, &pseudo_section, &system_st);
add_sym(".CSECT", P_CSECT, S, &pseudo_section, &system_st);
add_sym(".CROSS", P_CROSS, S, &pseudo_section, &system_st);
add_sym(".DSABL", P_DSABL, S, &pseudo_section, &system_st);
add_sym(".ENABL", P_ENABL, S, &pseudo_section, &system_st);
add_sym(".END", P_END, S, &pseudo_section, &system_st);
@@ -396,10 +397,12 @@ void add_symbols(
add_sym(".LIMIT", P_LIMIT, S, &pseudo_section, &system_st);
add_sym(".LIST", P_LIST, S, &pseudo_section, &system_st);
add_sym(".MCALL", P_MCALL, S, &pseudo_section, &system_st);
add_sym(".MDELE", P_MDELETE, S, &pseudo_section, &system_st);
add_sym(".MEXIT", P_MEXIT, S, &pseudo_section, &system_st);
add_sym(".NARG", P_NARG, S, &pseudo_section, &system_st);
add_sym(".NCHR", P_NCHR, S, &pseudo_section, &system_st);
add_sym(".NLIST", P_NLIST, S, &pseudo_section, &system_st);
add_sym(".NOCRO", P_NOCROSS, S, &pseudo_section, &system_st);
add_sym(".NTYPE", P_NTYPE, S, &pseudo_section, &system_st);
add_sym(".ODD", P_ODD, S, &pseudo_section, &system_st);
add_sym(".PACKED", P_PACKED, S, &pseudo_section, &system_st);

View File

@@ -57,6 +57,7 @@ enum pseudo_ops { P_ASCII,
P_BLKW,
P_BYTE,
P_CSECT,
P_CROSS,
P_DSABL,
P_ENABL,
P_END,
@@ -81,10 +82,12 @@ enum pseudo_ops { P_ASCII,
P_LIMIT,
P_LIST,
P_MCALL,
P_MDELETE,
P_MEXIT,
P_NARG,
P_NCHR,
P_NLIST,
P_NOCROSS,
P_NTYPE,
P_ODD,
P_PACKED,