diff options
-rw-r--r-- | main.c | 3 | ||||
-rwxr-xr-x | test.sh | 1 | ||||
-rw-r--r-- | tests/test4.S | 2 |
3 files changed, 6 insertions, 0 deletions
@@ -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; @@ -13,4 +13,5 @@ END echo "asm68 -l -Q -o test1.o test1.S" >>"$dosbuild_dir/build.bat" echo "asm68 -l -Q -o test2.o test2.S" >>"$dosbuild_dir/build.bat" echo "asm68 -l -Q -o test3.o test3.S" >>"$dosbuild_dir/build.bat" +echo "asm68 -l -Q -o test4.o test4.S" >>"$dosbuild_dir/build.bat" dosemu -quiet -K "$dosbuild_dir" -E'build.bat' diff --git a/tests/test4.S b/tests/test4.S new file mode 100644 index 0000000..cadc9c2 --- /dev/null +++ b/tests/test4.S @@ -0,0 +1,2 @@ + move.b 0(a3,d0.w),-(a2) + move.b 0(a4.w,a3),-(a2) |