diff options
Diffstat (limited to 'asm/parser.c')
-rw-r--r-- | asm/parser.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/asm/parser.c b/asm/parser.c index c76696c2..9349e25e 100644 --- a/asm/parser.c +++ b/asm/parser.c @@ -767,7 +767,8 @@ is_expression: } first = false; op->type = 0; /* so far, no override */ - while (i == TOKEN_SPECIAL) { /* size specifiers */ + /* size specifiers */ + while (i == TOKEN_SPECIAL || i == TOKEN_SIZE) { switch (tokval.t_integer) { case S_BYTE: if (!setsize) /* we want to use only the first */ @@ -835,7 +836,8 @@ is_expression: mref = true; bracket = (i == '['); i = stdscan(NULL, &tokval); /* then skip the colon */ - while (i == TOKEN_SPECIAL || i == TOKEN_PREFIX) { + while (i == TOKEN_SPECIAL || i == TOKEN_SIZE || + i == TOKEN_PREFIX) { process_size_override(result, op); i = stdscan(NULL, &tokval); } @@ -880,7 +882,8 @@ is_expression: } i = stdscan(NULL, &tokval); /* then skip the colon */ - while (i == TOKEN_SPECIAL || i == TOKEN_PREFIX) { + while (i == TOKEN_SPECIAL || i == TOKEN_SIZE || + i == TOKEN_PREFIX) { process_size_override(result, op); i = stdscan(NULL, &tokval); } |