summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-08-12 23:50:12 +0300
committerOxore <oxore@protonmail.com>2023-08-12 23:55:42 +0300
commitbac14a58c850e4b3b7fad4e145952c6fd0725015 (patch)
tree72015d94b5b96d7a390c89ff50a6c61510c78ad2 /main.c
parent2c7aba23cbb753860cd3a16e202239061797826e (diff)
Fix (d8,An,Xi) parsing, just a bit
Diffstat (limited to 'main.c')
-rw-r--r--main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main.c b/main.c
index 3cac095..f718149 100644
--- a/main.c
+++ b/main.c
@@ -2401,6 +2401,9 @@ static int pars_parse_arg_inside_parens(
// It is (d8,An,Xn)
assert((state.an2_found && !state.dn_found) || (!state.an2_found && state.dn_found));
arg->type = ARG_AN_ADDR_8_XI;
+ // FIXME an1 can be just an index register if it has size specifier, in
+ // that case an2 should be used here
+ arg->xn = state.an1;
arg->xi = state.an2_found ? (state.an2 | 0x8) : state.dn;
arg->num_tokens = self->cur_tok_id - arg->first_token;
arg->briefext_size = state.size;