Fix a few instances of missing renumbers
authorH. Peter Anvin <hpa@zytor.com>
Mon, 17 Sep 2007 23:31:33 +0000 (16:31 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 17 Sep 2007 23:31:33 +0000 (16:31 -0700)
parser.c: change hard-coded argument count 3 to MAX_ARGUMENTS
assemble.c: change a few missed code renumbers

assemble.c
parser.c

index 0821101..f1b4dbb 100644 (file)
@@ -1272,7 +1272,7 @@ static void gencode(int32_t segment, int32_t offset, int bits,
                     errfunc(ERR_WARNING, "word value exceeds bounds");
                 }
                 out(offset, segment, &data, OUT_ADDRESS + 2,
-                    ins->oprs[c - 0140].segment, ins->oprs[c - 0130].wrt);
+                    ins->oprs[c - 0140].segment, ins->oprs[c - 0140].wrt);
                 offset += 2;
             }
             break;
@@ -1302,7 +1302,7 @@ static void gencode(int32_t segment, int32_t offset, int bits,
                 offset++;
             } else {
                 out(offset, segment, &data, OUT_ADDRESS + 4,
-                    ins->oprs[c - 0150].segment, ins->oprs[c - 0140].wrt);
+                    ins->oprs[c - 0150].segment, ins->oprs[c - 0150].wrt);
                 offset += 4;
             }
             break;
index 1c7b8d9..16164d7 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -339,10 +339,10 @@ insn *parse_line(int pass, char *buffer, insn * result,
         return result;
     }
 
-    /* right. Now we begin to parse the operands. There may be up to three
+    /* right. Now we begin to parse the operands. There may be up to four
      * of these, separated by commas, and terminated by a zero token. */
 
-    for (operand = 0; operand < 3; operand++) {
+    for (operand = 0; operand < MAX_OPERANDS; operand++) {
         expr *value;            /* used most of the time */
         int mref;               /* is this going to be a memory ref? */
         int bracket;            /* is it a [] mref, or a & mref? */