diff options
Diffstat (limited to 'src/as_op.c')
| -rw-r--r-- | src/as_op.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/as_op.c b/src/as_op.c index 71ba0f3..a50812a 100644 --- a/src/as_op.c +++ b/src/as_op.c @@ -94,7 +94,7 @@ struct op_table_entry op_table [] = { }; int op_size(enum op op) { - if (op == OP_IMM || op == OP_REL) { + if (op == OP_IMM) { return 8 + 1; } if (op == OP_CALL @@ -104,23 +104,16 @@ int op_size(enum op op) { || op == OP_SYSCALL) { return 8 + 1 + 1; } - if (op == OP_LDARG || op == OP_STARG) { - return 9 + 9 + 1 + 9 + 4; - } - if (op == OP_LDVAR || op == OP_STVAR) { - return 9 + 9 + 2 + 9 + 4; + if (op == OP_REL) { + return 11; } - return 1; -} - -int is_pseudo_op(enum op op) { if (op == OP_LDARG || op == OP_STARG) { - return 1; + return 12; } if (op == OP_LDVAR || op == OP_STVAR) { - return 1; + return 12; } - return 0; + return 1; } enum op str2op(const char* str) { |
