diff options
Diffstat (limited to 'asmmon.c')
-rw-r--r-- | asmmon.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -204,10 +204,10 @@ void list(uint16_t start, uint16_t end, uint8_t all, uint8_t ln, uint8_t addr, u case TOK_BIN: if (rs != 0xFF) { bitnum = (rs << 3); } else { - opsize += (t->qword <= 0x000000FF) + 0; - opsize += (t->qword > 0x000000FF) + 1; - opsize += (t->qword > 0x0000FFFF) + 2; - opsize += (t->qword > 0xFFFFFFFF) + 3; + opsize = 1; + opsize = (t->qword > 0x000000FF) ? 2 : opsize; + opsize = (t->qword > 0x0000FFFF) ? 3 : opsize; + opsize = (t->qword > 0xFFFFFFFF) ? 4 : opsize; if (opsize) { bitnum = bitsize[opsize-1]; } @@ -251,6 +251,11 @@ void list(uint16_t start, uint16_t end, uint8_t all, uint8_t ln, uint8_t addr, u switch (t->type) { case EXPR_PLUS : putchar('+'); break; case EXPR_MINUS: putchar('-'); break; + case EXPR_LSHFT: putchar('<'); /* Falls through. */ + case EXPR_HIGH : putchar('<'); break; + case EXPR_RSHFT: putchar('>'); /* Falls through. */ + case EXPR_LOW : putchar('>'); break; + case EXPR_OR : putchar('|'); break; } break; } |