diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2020-08-09 17:52:46 -0400 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2020-08-09 17:52:46 -0400 |
commit | 2b03202a30e9da09bfc5c0d382b1f5d2287287a4 (patch) | |
tree | 6b918e0f2eee2b56e07a95d8b8397143d24f9106 /asmmon.c | |
parent | f16af793a58a9f398fc598a0c129e3bb90eb61f6 (diff) |
Added the bitwise OR, left shift, and right shift
expressions to the emulator's assembler.
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; } |