OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [h8300/] [mova.s] - Diff between revs 24 and 157

Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 157
# Hitachi H8 testcase 'mova'
# Hitachi H8 testcase 'mova'
# mach(): h8sx
# mach(): h8sx
# as(h8300):    --defsym sim_cpu=0
# as(h8300):    --defsym sim_cpu=0
# as(h8300h):   --defsym sim_cpu=1
# as(h8300h):   --defsym sim_cpu=1
# as(h8300s):   --defsym sim_cpu=2
# as(h8300s):   --defsym sim_cpu=2
# as(h8sx):     --defsym sim_cpu=3
# as(h8sx):     --defsym sim_cpu=3
# ld(h8300h):   -m h8300helf
# ld(h8300h):   -m h8300helf
# ld(h8300s):   -m h8300self
# ld(h8300s):   -m h8300self
# ld(h8sx):     -m h8300sxelf
# ld(h8sx):     -m h8300sxelf
 
 
        .include "testutils.inc"
        .include "testutils.inc"
 
 
        .data
        .data
foo:    .long   0x01010101
foo:    .long   0x01010101
        .long   0x10101010
        .long   0x10101010
        .long   0x11111111
        .long   0x11111111
 
 
        start
        start
 
 
movabl16_reg8:
movabl16_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/b.l        @(1:16, r2l.b), er3
        mova/b.l        @(1:16, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0xa6 er3
        test_h_gr32     0xa6 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movabl16_reg16:
movabl16_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/b.l        @(1:16, r2.w), er3
        mova/b.l        @(1:16, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0xa5a6 er3
        test_h_gr32     0xa5a6 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movabl32_reg8:
movabl32_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/b.l        @(1:32, r2l.b), er3
        mova/b.l        @(1:32, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0xa6 er3
        test_h_gr32     0xa6 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movabl32_reg16:
movabl32_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/b.l        @(1:32, r2.w), er3
        mova/b.l        @(1:32, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0xa5a6 er3
        test_h_gr32     0xa5a6 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movawl16_reg8:
movawl16_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/w.l        @(1:16, r2l.b), er3
        mova/w.l        @(1:16, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x14b er3
        test_h_gr32     0x14b er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movawl16_reg16:
movawl16_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/w.l        @(1:16, r2.w), er3
        mova/w.l        @(1:16, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x14b4b er3
        test_h_gr32     0x14b4b er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movawl32_reg8:
movawl32_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/w.l        @(1:32, r2l.b), er3
        mova/w.l        @(1:32, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x14b er3
        test_h_gr32     0x14b er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movawl32_reg16:
movawl32_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/w.l        @(1:32, r2.w), er3
        mova/w.l        @(1:32, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x14b4b er3
        test_h_gr32     0x14b4b er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movall16_reg8:
movall16_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/l.l        @(1:16, r2l.b), er3
        mova/l.l        @(1:16, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x295 er3
        test_h_gr32     0x295 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movall16_reg16:
movall16_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/l.l        @(1:16, r2.w), er3
        mova/l.l        @(1:16, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x29695 er3
        test_h_gr32     0x29695 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movall32_reg8:
movall32_reg8:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/l.l        @(1:32, r2l.b), er3
        mova/l.l        @(1:32, r2l.b), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x295 er3
        test_h_gr32     0x295 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
movall32_reg16:
movall32_reg16:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mova/l.l        @(1:32, r2.w), er3
        mova/l.l        @(1:32, r2.w), er3
 
 
        test_cc_clear
        test_cc_clear
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    0        ; Make sure other regs not affected
        test_gr_a5a5    1
        test_gr_a5a5    1
        test_gr_a5a5    2
        test_gr_a5a5    2
        test_h_gr32     0x29695 er3
        test_h_gr32     0x29695 er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
t02_mova:
t02_mova:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/b.c @(0x1234:16,r1l.b),er1 ; 7A891234
        mova/b.c @(0x1234:16,r1l.b),er1 ; 7A891234
        test_h_gr32     0x1235, er1 ; 1s
        test_h_gr32     0x1235, er1 ; 1s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/b.c @(0x1234:16,r1.w),er1 ; 7A991234
        mova/b.c @(0x1234:16,r1.w),er1 ; 7A991234
        test_h_gr32     0x1335, er1 ; 2s
        test_h_gr32     0x1335, er1 ; 2s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/w.c @(0x1234:16,r1l.b),er1 ; 7AA91234
        mova/w.c @(0x1234:16,r1l.b),er1 ; 7AA91234
        test_h_gr32     0x1236, er1 ; 3s
        test_h_gr32     0x1236, er1 ; 3s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/w.c @(0x1234:16,r1.w),er1 ; 7AB91234
        mova/w.c @(0x1234:16,r1.w),er1 ; 7AB91234
        test_h_gr32     0x1436, er1 ; 4s
        test_h_gr32     0x1436, er1 ; 4s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/l.c @(0x1234:16,r1l.b),er1 ; 7AC91234
        mova/l.c @(0x1234:16,r1l.b),er1 ; 7AC91234
        test_h_gr32     0x1238, er1 ; 5s
        test_h_gr32     0x1238, er1 ; 5s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/l.c @(0x1234:16,r1.w),er1 ; 7AD91234
        mova/l.c @(0x1234:16,r1.w),er1 ; 7AD91234
        test_h_gr32     0x1638, er1 ; 6s
        test_h_gr32     0x1638, er1 ; 6s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/b.c @(0x12345678:32,r1l.b),er1 ; 7A8112345678
        mova/b.c @(0x12345678:32,r1l.b),er1 ; 7A8112345678
        test_h_gr32     0x12345679, er1 ; 7s
        test_h_gr32     0x12345679, er1 ; 7s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/b.c @(0x12345678:32,r1.w),er1 ; 7A9112345678
        mova/b.c @(0x12345678:32,r1.w),er1 ; 7A9112345678
        test_h_gr32     0x12345779, er1 ; 8s
        test_h_gr32     0x12345779, er1 ; 8s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/w.c @(0x12345678:32,r1l.b),er1 ; 7AA112345678
        mova/w.c @(0x12345678:32,r1l.b),er1 ; 7AA112345678
        test_h_gr32     0x1234567a, er1 ; 9s
        test_h_gr32     0x1234567a, er1 ; 9s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/w.c @(0x12345678:32,r1.w),er1 ; 7AB112345678
        mova/w.c @(0x12345678:32,r1.w),er1 ; 7AB112345678
        test_h_gr32     0x1234587a, er1 ; 10s
        test_h_gr32     0x1234587a, er1 ; 10s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/l.c @(0x12345678:32,r1l.b),er1 ; 7AC112345678
        mova/l.c @(0x12345678:32,r1l.b),er1 ; 7AC112345678
        test_h_gr32     0x1234567c, er1 ; 11s
        test_h_gr32     0x1234567c, er1 ; 11s
        mov.l   #0x01010101, er1
        mov.l   #0x01010101, er1
        mova/l.c @(0x12345678:32,r1.w),er1 ; 7AD112345678
        mova/l.c @(0x12345678:32,r1.w),er1 ; 7AD112345678
        test_h_gr32     0x12345a7c, er1 ; 12s
        test_h_gr32     0x12345a7c, er1 ; 12s
 
 
t02b:
t02b:
        mov.l   #0x01010101, er3
        mov.l   #0x01010101, er3
        mova/b.l @(0x1234:16,r3l.b),er1 ; 78B87A891234
        mova/b.l @(0x1234:16,r3l.b),er1 ; 78B87A891234
        test_h_gr32     0x1235, er1 ; 1
        test_h_gr32     0x1235, er1 ; 1
        mova/b.l @(0x1234:16,r3.w),er1 ; 78397A991234
        mova/b.l @(0x1234:16,r3.w),er1 ; 78397A991234
        test_h_gr32     0x1335, er1 ; 2
        test_h_gr32     0x1335, er1 ; 2
        mova/w.l @(0x1234:16,r3l.b),er1 ; 78B87AA91234
        mova/w.l @(0x1234:16,r3l.b),er1 ; 78B87AA91234
        test_h_gr32     0x1236, er1 ; 3
        test_h_gr32     0x1236, er1 ; 3
        mova/w.l @(0x1234:16,r3.w),er1 ; 78397AB91234
        mova/w.l @(0x1234:16,r3.w),er1 ; 78397AB91234
        test_h_gr32     0x1436, er1 ; 4
        test_h_gr32     0x1436, er1 ; 4
        mova/l.l @(0x1234:16,r3l.b),er1 ; 78B87AC91234
        mova/l.l @(0x1234:16,r3l.b),er1 ; 78B87AC91234
        test_h_gr32     0x1238, er1 ; 5
        test_h_gr32     0x1238, er1 ; 5
        mova/l.l @(0x1234:16,r3.w),er1 ; 78397AD91234
        mova/l.l @(0x1234:16,r3.w),er1 ; 78397AD91234
        test_h_gr32     0x1638, er1 ; 6
        test_h_gr32     0x1638, er1 ; 6
        mova/b.l @(0x12345678:32,r3l.b),er1 ; 78B87A8112345678
        mova/b.l @(0x12345678:32,r3l.b),er1 ; 78B87A8112345678
        test_h_gr32     0x12345679, er1 ; 7
        test_h_gr32     0x12345679, er1 ; 7
        mova/b.l @(0x12345678:32,r3.w),er1 ; 78397A9112345678
        mova/b.l @(0x12345678:32,r3.w),er1 ; 78397A9112345678
        test_h_gr32     0x12345779, er1 ; 8
        test_h_gr32     0x12345779, er1 ; 8
        mova/w.l @(0x12345678:32,r3l.b),er1 ; 78B87AA112345678
        mova/w.l @(0x12345678:32,r3l.b),er1 ; 78B87AA112345678
        test_h_gr32     0x1234567a, er1 ; 9
        test_h_gr32     0x1234567a, er1 ; 9
        mova/w.l @(0x12345678:32,r3.w),er1 ; 78397AB112345678
        mova/w.l @(0x12345678:32,r3.w),er1 ; 78397AB112345678
        test_h_gr32     0x1234587a, er1 ; 10
        test_h_gr32     0x1234587a, er1 ; 10
        mova/l.l @(0x12345678:32,r3l.b),er1 ; 78B87AC112345678
        mova/l.l @(0x12345678:32,r3l.b),er1 ; 78B87AC112345678
        test_h_gr32     0x1234567c, er1 ; 11
        test_h_gr32     0x1234567c, er1 ; 11
        mova/l.l @(0x12345678:32,r3.w),er1 ; 78397AD112345678
        mova/l.l @(0x12345678:32,r3.w),er1 ; 78397AD112345678
        test_h_gr32     0x12345a7c, er1 ; 12
        test_h_gr32     0x12345a7c, er1 ; 12
        test_h_gr32     0x01010101, er3
        test_h_gr32     0x01010101, er3
t02c:
t02c:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/b.l @(0x1234:16,@er2.b),er1              ;017F02811234
        mova/b.l @(0x1234:16,@er2.b),er1              ;017F02811234
        test_h_gr32     0x1235, er1 ; 13
        test_h_gr32     0x1235, er1 ; 13
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@(0x1:2,er2).b),er1       ;017F12811234
        mova/b.l @(0x1234:16,@(0x1:2,er2).b),er1       ;017F12811234
        test_h_gr32     0x1235, er1 ; 18
        test_h_gr32     0x1235, er1 ; 18
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@er2+.b),er1             ;017F82811234
        mova/b.l @(0x1234:16,@er2+.b),er1             ;017F82811234
        test_h_gr32     0x1235, er1 ; 14
        test_h_gr32     0x1235, er1 ; 14
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/b.l @(0x1234:16,@-er2.b),er1             ;017FB2811234
        mova/b.l @(0x1234:16,@-er2.b),er1             ;017FB2811234
        test_h_gr32     0x1235, er1 ; 17
        test_h_gr32     0x1235, er1 ; 17
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@+er2.b),er1             ;017F92811234
        mova/b.l @(0x1234:16,@+er2.b),er1             ;017F92811234
        test_h_gr32     0x1235, er1 ; 16
        test_h_gr32     0x1235, er1 ; 16
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/b.l @(0x1234:16,@er2-.b),er1             ;017FA2811234
        mova/b.l @(0x1234:16,@er2-.b),er1             ;017FA2811234
        test_h_gr32     0x1235, er1 ; 15
        test_h_gr32     0x1235, er1 ; 15
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
t02d:
t02d:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x1234:16, @(foo:16, er2).b), er1
        mova/b.l @(0x1234:16, @(foo:16, er2).b), er1
        test_h_gr32     0x1244, er1 ; 19
        test_h_gr32     0x1244, er1 ; 19
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x1244, er1 ; 21
        test_h_gr32     0x1244, er1 ; 21
        mova/b.l @(0x1234:16, @(foo:16, r2.w).b), er1
        mova/b.l @(0x1234:16, @(foo:16, r2.w).b), er1
        test_h_gr32     0x1244, er1 ; 22
        test_h_gr32     0x1244, er1 ; 22
        mova/b.l @(0x1234:16, @(foo:16, er2.l).b), er1
        mova/b.l @(0x1234:16, @(foo:16, er2.l).b), er1
        test_h_gr32     0x1244, er1 ; 23
        test_h_gr32     0x1244, er1 ; 23
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x1234:16, @(foo:32, er2).b), er1
        mova/b.l @(0x1234:16, @(foo:32, er2).b), er1
        test_h_gr32     0x1244, er1 ; 20
        test_h_gr32     0x1244, er1 ; 20
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x1244, er1 ; 24
        test_h_gr32     0x1244, er1 ; 24
        mova/b.l @(0x1234:16, @(foo:32, r2.w).b), er1
        mova/b.l @(0x1234:16, @(foo:32, r2.w).b), er1
        test_h_gr32     0x1244, er1 ; 25
        test_h_gr32     0x1244, er1 ; 25
        mova/b.l @(0x1234:16, @(foo:32, er2.l).b), er1
        mova/b.l @(0x1234:16, @(foo:32, er2.l).b), er1
        test_h_gr32     0x1244, er1 ; 26
        test_h_gr32     0x1244, er1 ; 26
 
 
        mova/b.l @(0x1234:16,@foo:16.b),er1
        mova/b.l @(0x1234:16,@foo:16.b),er1
        test_h_gr32     0x1235, er1 ; 27
        test_h_gr32     0x1235, er1 ; 27
        mova/b.l @(0x1234:16,@foo:32.b),er1
        mova/b.l @(0x1234:16,@foo:32.b),er1
        test_h_gr32     0x1235, er1 ; 28
        test_h_gr32     0x1235, er1 ; 28
 
 
t02e:
t02e:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/b.l @(0x1234:16,@er2.w),er1              ;015F02911234
        mova/b.l @(0x1234:16,@er2.w),er1              ;015F02911234
        test_h_gr32     0x1335, er1 ; 29
        test_h_gr32     0x1335, er1 ; 29
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@(0x2:2,er2).w),er1    ;015F12911234
        mova/b.l @(0x1234:16,@(0x2:2,er2).w),er1    ;015F12911234
        test_h_gr32     0x1335, er1 ; 34
        test_h_gr32     0x1335, er1 ; 34
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@er2+.w),er1             ;015F82911234
        mova/b.l @(0x1234:16,@er2+.w),er1             ;015F82911234
        test_h_gr32     0x1335, er1 ; 30
        test_h_gr32     0x1335, er1 ; 30
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/b.l @(0x1234:16,@-er2.w),er1             ;015FB2911234
        mova/b.l @(0x1234:16,@-er2.w),er1             ;015FB2911234
        test_h_gr32     0x1335, er1 ; 33
        test_h_gr32     0x1335, er1 ; 33
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x1234:16,@+er2.w),er1             ;015F92911234
        mova/b.l @(0x1234:16,@+er2.w),er1             ;015F92911234
        test_h_gr32     0x1335, er1 ; 32
        test_h_gr32     0x1335, er1 ; 32
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/b.l @(0x1234:16,@er2-.w),er1             ;015FA2911234
        mova/b.l @(0x1234:16,@er2-.w),er1             ;015FA2911234
        test_h_gr32     0x1335, er1 ; 31
        test_h_gr32     0x1335, er1 ; 31
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x1234:16, @(foo:16, er2).w), er1
        mova/b.l @(0x1234:16, @(foo:16, er2).w), er1
        test_h_gr32     0x2244, er1 ; 35
        test_h_gr32     0x2244, er1 ; 35
        shar.l  er2
        shar.l  er2
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x2244, er1 ; 37
        test_h_gr32     0x2244, er1 ; 37
        mova/b.l @(0x1234:16, @(foo:16, r2.w).w), er1
        mova/b.l @(0x1234:16, @(foo:16, r2.w).w), er1
        test_h_gr32     0x2244, er1 ; 38
        test_h_gr32     0x2244, er1 ; 38
        mova/b.l @(0x1234:16, @(foo:16, er2.l).w), er1
        mova/b.l @(0x1234:16, @(foo:16, er2.l).w), er1
        test_h_gr32     0x2244, er1 ; 39
        test_h_gr32     0x2244, er1 ; 39
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x1234:16, @(foo:32, er2).w), er1
        mova/b.l @(0x1234:16, @(foo:32, er2).w), er1
        test_h_gr32     0x2244, er1 ; 36
        test_h_gr32     0x2244, er1 ; 36
        shar.l  er2
        shar.l  er2
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x2244, er1 ; 40
        test_h_gr32     0x2244, er1 ; 40
        mova/b.l @(0x1234:16, @(foo:32, r2.w).w), er1
        mova/b.l @(0x1234:16, @(foo:32, r2.w).w), er1
        test_h_gr32     0x2244, er1 ; 41
        test_h_gr32     0x2244, er1 ; 41
        mova/b.l @(0x1234:16, @(foo:32, er2.l).w), er1
        mova/b.l @(0x1234:16, @(foo:32, er2.l).w), er1
        test_h_gr32     0x2244, er1 ; 42
        test_h_gr32     0x2244, er1 ; 42
 
 
        mova/b.l @(0x1234:16,@foo:16.w),er1        ;015F40919ABC1234
        mova/b.l @(0x1234:16,@foo:16.w),er1        ;015F40919ABC1234
        test_h_gr32     0x1335, er1 ; 43
        test_h_gr32     0x1335, er1 ; 43
        mova/b.l @(0x1234:16,@foo:32.w),er1        ;015F48919ABCDEF01234
        mova/b.l @(0x1234:16,@foo:32.w),er1        ;015F48919ABCDEF01234
        test_h_gr32     0x1335, er1 ; 44
        test_h_gr32     0x1335, er1 ; 44
 
 
t02f:
t02f:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/w.l @(0x1234:16,@er2.b),er1           ;017F02A11234
        mova/w.l @(0x1234:16,@er2.b),er1           ;017F02A11234
        test_h_gr32     0x1236, er1 ; 45
        test_h_gr32     0x1236, er1 ; 45
        mova/w.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12A11234
        mova/w.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12A11234
        test_h_gr32     0x1236, er1 ; 50
        test_h_gr32     0x1236, er1 ; 50
        mova/w.l @(0x1234:16,@er2+.b),er1          ;017F82A11234
        mova/w.l @(0x1234:16,@er2+.b),er1          ;017F82A11234
        test_h_gr32     0x1236, er1 ; 46
        test_h_gr32     0x1236, er1 ; 46
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/w.l @(0x1234:16,@-er2.b),er1          ;017FB2A11234
        mova/w.l @(0x1234:16,@-er2.b),er1          ;017FB2A11234
        test_h_gr32     0x1236, er1 ; 49
        test_h_gr32     0x1236, er1 ; 49
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/w.l @(0x1234:16,@+er2.b),er1          ;017F92A11234
        mova/w.l @(0x1234:16,@+er2.b),er1          ;017F92A11234
        test_h_gr32     0x1236, er1 ; 48
        test_h_gr32     0x1236, er1 ; 48
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/w.l @(0x1234:16,@er2-.b),er1          ;017FA2A11234
        mova/w.l @(0x1234:16,@er2-.b),er1          ;017FA2A11234
        test_h_gr32     0x1236, er1 ; 47
        test_h_gr32     0x1236, er1 ; 47
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
t02g:
t02g:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x1234:16, @(foo:16, er2).b), er1
        mova/w.l @(0x1234:16, @(foo:16, er2).b), er1
        test_h_gr32     0x1254, er1 ; 51
        test_h_gr32     0x1254, er1 ; 51
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x1254, er1 ; 53
        test_h_gr32     0x1254, er1 ; 53
        mova/w.l @(0x1234:16, @(foo:16, r2.w).b), er1
        mova/w.l @(0x1234:16, @(foo:16, r2.w).b), er1
        test_h_gr32     0x1254, er1 ; 54
        test_h_gr32     0x1254, er1 ; 54
        mova/w.l @(0x1234:16, @(foo:16, er2.l).b), er1
        mova/w.l @(0x1234:16, @(foo:16, er2.l).b), er1
        test_h_gr32     0x1254, er1 ; 55
        test_h_gr32     0x1254, er1 ; 55
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x1234:16, @(foo:32, er2).b), er1
        mova/w.l @(0x1234:16, @(foo:32, er2).b), er1
        test_h_gr32     0x1254, er1 ; 52
        test_h_gr32     0x1254, er1 ; 52
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x1254, er1 ; 56
        test_h_gr32     0x1254, er1 ; 56
        mova/w.l @(0x1234:16, @(foo:32, r2.w).b), er1
        mova/w.l @(0x1234:16, @(foo:32, r2.w).b), er1
        test_h_gr32     0x1254, er1 ; 57
        test_h_gr32     0x1254, er1 ; 57
        mova/w.l @(0x1234:16, @(foo:32, er2.l).b), er1
        mova/w.l @(0x1234:16, @(foo:32, er2.l).b), er1
        test_h_gr32     0x1254, er1 ; 58
        test_h_gr32     0x1254, er1 ; 58
 
 
        mova/w.l @(0x1234:16,@foo:16.b),er1        ;017F40A19ABC1234
        mova/w.l @(0x1234:16,@foo:16.b),er1        ;017F40A19ABC1234
        test_h_gr32     0x1236, er1 ; 59 (can't test -- points into the woods)
        test_h_gr32     0x1236, er1 ; 59 (can't test -- points into the woods)
        mova/w.l @(0x1234:16,@foo:32.b),er1        ;017F48A19ABCDEF01234
        mova/w.l @(0x1234:16,@foo:32.b),er1        ;017F48A19ABCDEF01234
        test_h_gr32     0x1236, er1 ; 60 (can't test -- points into the woods)
        test_h_gr32     0x1236, er1 ; 60 (can't test -- points into the woods)
 
 
t02h:
t02h:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/w.l @(0x1234:16,@er2.w),er1           ;015F02B11234
        mova/w.l @(0x1234:16,@er2.w),er1           ;015F02B11234
        test_h_gr32     0x1436, er1 ; 61
        test_h_gr32     0x1436, er1 ; 61
        mova/w.l @(0x1234:16,@(0x2:2,er2).w),er1 ;015F12B11234
        mova/w.l @(0x1234:16,@(0x2:2,er2).w),er1 ;015F12B11234
        test_h_gr32     0x1436, er1 ; 66, 0x1234 + (@(4+foo).w << 1
        test_h_gr32     0x1436, er1 ; 66, 0x1234 + (@(4+foo).w << 1
        mova/w.l @(0x1234:16,@er2+.w),er1          ;015F82B11234
        mova/w.l @(0x1234:16,@er2+.w),er1          ;015F82B11234
        test_h_gr32     0x1436, er1 ; 62
        test_h_gr32     0x1436, er1 ; 62
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/w.l @(0x1234:16,@-er2.w),er1          ;015FB2B11234
        mova/w.l @(0x1234:16,@-er2.w),er1          ;015FB2B11234
        test_h_gr32     0x1436, er1 ; 63
        test_h_gr32     0x1436, er1 ; 63
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/w.l @(0x1234:16,@+er2.w),er1          ;015F92B11234
        mova/w.l @(0x1234:16,@+er2.w),er1          ;015F92B11234
        test_h_gr32     0x1436, er1 ; 64
        test_h_gr32     0x1436, er1 ; 64
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/w.l @(0x1234:16,@er2-.w),er1          ;015FA2B11234
        mova/w.l @(0x1234:16,@er2-.w),er1          ;015FA2B11234
        test_h_gr32     0x1436, er1 ; 65
        test_h_gr32     0x1436, er1 ; 65
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
t02i:
t02i:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x1234:16, @(foo:16, er2).w), er1
        mova/w.l @(0x1234:16, @(foo:16, er2).w), er1
        test_h_gr32     0x3254, er1 ; 67
        test_h_gr32     0x3254, er1 ; 67
        shar.l  er2
        shar.l  er2
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x3254, er1 ; 69
        test_h_gr32     0x3254, er1 ; 69
        mova/w.l @(0x1234:16, @(foo:16, r2.w).w), er1
        mova/w.l @(0x1234:16, @(foo:16, r2.w).w), er1
        test_h_gr32     0x3254, er1 ; 70
        test_h_gr32     0x3254, er1 ; 70
        mova/w.l @(0x1234:16, @(foo:16, er2.l).w), er1
        mova/w.l @(0x1234:16, @(foo:16, er2.l).w), er1
        test_h_gr32     0x3254, er1 ; 71
        test_h_gr32     0x3254, er1 ; 71
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x1234:16, @(foo:32, er2).w), er1
        mova/w.l @(0x1234:16, @(foo:32, er2).w), er1
        test_h_gr32     0x3254, er1 ; 68
        test_h_gr32     0x3254, er1 ; 68
        shar.l  er2
        shar.l  er2
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x3254, er1 ; 72
        test_h_gr32     0x3254, er1 ; 72
        mova/w.l @(0x1234:16, @(foo:32, r2.w).w), er1
        mova/w.l @(0x1234:16, @(foo:32, r2.w).w), er1
        test_h_gr32     0x3254, er1 ; 73
        test_h_gr32     0x3254, er1 ; 73
        mova/w.l @(0x1234:16, @(foo:32, er2.l).w), er1
        mova/w.l @(0x1234:16, @(foo:32, er2.l).w), er1
        test_h_gr32     0x3254, er1 ; 74
        test_h_gr32     0x3254, er1 ; 74
 
 
        mova/w.l @(0x1234:16,@foo:16.w),er1        ;015F40B19ABC1234
        mova/w.l @(0x1234:16,@foo:16.w),er1        ;015F40B19ABC1234
        test_h_gr32     0x1436, er1 ; 75 (can't test -- points into the woods)
        test_h_gr32     0x1436, er1 ; 75 (can't test -- points into the woods)
        mova/w.l @(0x1234:16,@foo:32.w),er1        ;015F48B19ABCDEF01234
        mova/w.l @(0x1234:16,@foo:32.w),er1        ;015F48B19ABCDEF01234
        test_h_gr32     0x1436, er1 ; 76 (can't test -- points into the woods)
        test_h_gr32     0x1436, er1 ; 76 (can't test -- points into the woods)
 
 
t02j:
t02j:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/l.l @(0x1234:16,@er2.b),er1           ;017F02C11234
        mova/l.l @(0x1234:16,@er2.b),er1           ;017F02C11234
        test_h_gr32     0x1238, er1 ; 77
        test_h_gr32     0x1238, er1 ; 77
        mova/l.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12C11234
        mova/l.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12C11234
        test_h_gr32     0x1238, er1 ; 82
        test_h_gr32     0x1238, er1 ; 82
        mova/l.l @(0x1234:16,@er2+.b),er1          ;017F82C11234
        mova/l.l @(0x1234:16,@er2+.b),er1          ;017F82C11234
        test_h_gr32     0x1238, er1 ; 78
        test_h_gr32     0x1238, er1 ; 78
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/l.l @(0x1234:16,@-er2.b),er1          ;017FB2C11234
        mova/l.l @(0x1234:16,@-er2.b),er1          ;017FB2C11234
        test_h_gr32     0x1238, er1 ; 79
        test_h_gr32     0x1238, er1 ; 79
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/l.l @(0x1234:16,@+er2.b),er1          ;017F92C11234
        mova/l.l @(0x1234:16,@+er2.b),er1          ;017F92C11234
        test_h_gr32     0x1238, er1 ; 80
        test_h_gr32     0x1238, er1 ; 80
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/l.l @(0x1234:16,@er2-.b),er1          ;017FA2C11234
        mova/l.l @(0x1234:16,@er2-.b),er1          ;017FA2C11234
        test_h_gr32     0x1238, er1 ; 81
        test_h_gr32     0x1238, er1 ; 81
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
t02k:
t02k:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x1234:16, @(foo:16, er2).b), er1
        mova/l.l @(0x1234:16, @(foo:16, er2).b), er1
        test_h_gr32     0x1274, er1 ; 83
        test_h_gr32     0x1274, er1 ; 83
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x1274, er1 ; 85
        test_h_gr32     0x1274, er1 ; 85
        mova/l.l @(0x1234:16, @(foo:16, r2.w).b), er1
        mova/l.l @(0x1234:16, @(foo:16, r2.w).b), er1
        test_h_gr32     0x1274, er1 ; 86
        test_h_gr32     0x1274, er1 ; 86
        mova/l.l @(0x1234:16, @(foo:16, er2.l).b), er1
        mova/l.l @(0x1234:16, @(foo:16, er2.l).b), er1
        test_h_gr32     0x1274, er1 ; 87
        test_h_gr32     0x1274, er1 ; 87
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x1234:16, @(foo:32, er2).b), er1
        mova/l.l @(0x1234:16, @(foo:32, er2).b), er1
        test_h_gr32     0x1274, er1 ; 84
        test_h_gr32     0x1274, er1 ; 84
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x1274, er1 ; 88
        test_h_gr32     0x1274, er1 ; 88
        mova/l.l @(0x1234:16, @(foo:32, r2.w).b), er1
        mova/l.l @(0x1234:16, @(foo:32, r2.w).b), er1
        test_h_gr32     0x1274, er1 ; 89
        test_h_gr32     0x1274, er1 ; 89
        mova/l.l @(0x1234:16, @(foo:32, er2.l).b), er1
        mova/l.l @(0x1234:16, @(foo:32, er2.l).b), er1
        test_h_gr32     0x1274, er1 ; 90
        test_h_gr32     0x1274, er1 ; 90
 
 
        mova/l.l @(0x1234:16,@foo:16.b),er1        ;017F40C19ABC1234
        mova/l.l @(0x1234:16,@foo:16.b),er1        ;017F40C19ABC1234
        test_h_gr32     0x1238, er1 ; 91 (can't test -- points into the woods)
        test_h_gr32     0x1238, er1 ; 91 (can't test -- points into the woods)
        mova/l.l @(0x1234:16,@foo:32.b),er1        ;017F48C19ABCDEF01234
        mova/l.l @(0x1234:16,@foo:32.b),er1        ;017F48C19ABCDEF01234
        test_h_gr32     0x1238, er1 ; 92 (can't test -- points into the woods)
        test_h_gr32     0x1238, er1 ; 92 (can't test -- points into the woods)
 
 
t02l:
t02l:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/l.l @(0x1234:16,@er2.w),er1           ;015F02D11234
        mova/l.l @(0x1234:16,@er2.w),er1           ;015F02D11234
        test_h_gr32     0x1638, er1 ; 93
        test_h_gr32     0x1638, er1 ; 93
        mova/l.l @(0x1234:16,@(0x2:2,er2).w),er1   ;015F12D11234
        mova/l.l @(0x1234:16,@(0x2:2,er2).w),er1   ;015F12D11234
        test_h_gr32     0x1638, er1 ; 98 
        test_h_gr32     0x1638, er1 ; 98 
        mova/l.l @(0x1234:16,@er2+.w),er1          ;015F82D11234
        mova/l.l @(0x1234:16,@er2+.w),er1          ;015F82D11234
        test_h_gr32     0x1638, er1 ; 94
        test_h_gr32     0x1638, er1 ; 94
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/l.l @(0x1234:16,@-er2.w),er1          ;015FB2D11234
        mova/l.l @(0x1234:16,@-er2.w),er1          ;015FB2D11234
        test_h_gr32     0x1638, er1 ; 97
        test_h_gr32     0x1638, er1 ; 97
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/l.l @(0x1234:16,@+er2.w),er1          ;015F92D11234
        mova/l.l @(0x1234:16,@+er2.w),er1          ;015F92D11234
        test_h_gr32     0x1638, er1 ; 96
        test_h_gr32     0x1638, er1 ; 96
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/l.l @(0x1234:16,@er2-.w),er1          ;015FA2D11234
        mova/l.l @(0x1234:16,@er2-.w),er1          ;015FA2D11234
        test_h_gr32     0x1638, er1 ; 95
        test_h_gr32     0x1638, er1 ; 95
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
t02o:
t02o:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x1234:16, @(foo:16, er2).w), er1
        mova/l.l @(0x1234:16, @(foo:16, er2).w), er1
        test_h_gr32     0x5274, er1 ; 99
        test_h_gr32     0x5274, er1 ; 99
        shar.l  er2
        shar.l  er2
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x5274, er1 ; 101
        test_h_gr32     0x5274, er1 ; 101
        mova/l.l @(0x1234:16, @(foo:16, r2.w).w), er1
        mova/l.l @(0x1234:16, @(foo:16, r2.w).w), er1
        test_h_gr32     0x5274, er1 ; 102
        test_h_gr32     0x5274, er1 ; 102
        mova/l.l @(0x1234:16, @(foo:16, er2.l).w), er1
        mova/l.l @(0x1234:16, @(foo:16, er2.l).w), er1
        test_h_gr32     0x5274, er1 ; 103
        test_h_gr32     0x5274, er1 ; 103
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x1234:16, @(foo:32, er2).w), er1
        mova/l.l @(0x1234:16, @(foo:32, er2).w), er1
        test_h_gr32     0x5274, er1 ; 100
        test_h_gr32     0x5274, er1 ; 100
        shar.l  er2
        shar.l  er2
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x5274, er1 ; 104
        test_h_gr32     0x5274, er1 ; 104
        mova/l.l @(0x1234:16, @(foo:32, r2.w).w), er1
        mova/l.l @(0x1234:16, @(foo:32, r2.w).w), er1
        test_h_gr32     0x5274, er1 ; 105
        test_h_gr32     0x5274, er1 ; 105
        mova/l.l @(0x1234:16, @(foo:32, er2.l).w), er1
        mova/l.l @(0x1234:16, @(foo:32, er2.l).w), er1
        test_h_gr32     0x5274, er1 ; 106
        test_h_gr32     0x5274, er1 ; 106
 
 
        mova/l.l @(0x1234:16,@foo:16.w),er1        ;015F40D19ABC1234
        mova/l.l @(0x1234:16,@foo:16.w),er1        ;015F40D19ABC1234
        test_h_gr32     0x1638, er1 ; 107 (can't test -- points into the woods)
        test_h_gr32     0x1638, er1 ; 107 (can't test -- points into the woods)
        mova/l.l @(0x1234:16,@foo:32.w),er1        ;015F48D19ABCDEF01234
        mova/l.l @(0x1234:16,@foo:32.w),er1        ;015F48D19ABCDEF01234
        test_h_gr32     0x1638, er1 ; 108 (can't test -- points into the woods)
        test_h_gr32     0x1638, er1 ; 108 (can't test -- points into the woods)
 
 
t02p:
t02p:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/b.l @(0x12345678:32,@er2.b),er1              ;017F028912345678
        mova/b.l @(0x12345678:32,@er2.b),er1              ;017F028912345678
        test_h_gr32     0x12345679, er1 ; 109
        test_h_gr32     0x12345679, er1 ; 109
        mova/b.l @(0x12345678:32,@(0x1:2,er2).b),er1      ;017F128912345678
        mova/b.l @(0x12345678:32,@(0x1:2,er2).b),er1      ;017F128912345678
        test_h_gr32     0x12345679, er1 ; 114
        test_h_gr32     0x12345679, er1 ; 114
        mova/b.l @(0x12345678:32,@er2+.b),er1             ;017F828912345678
        mova/b.l @(0x12345678:32,@er2+.b),er1             ;017F828912345678
        test_h_gr32     0x12345679, er1 ; 110
        test_h_gr32     0x12345679, er1 ; 110
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/b.l @(0x12345678:32,@-er2.b),er1             ;017FB28912345678
        mova/b.l @(0x12345678:32,@-er2.b),er1             ;017FB28912345678
        test_h_gr32     0x12345679, er1 ; 113
        test_h_gr32     0x12345679, er1 ; 113
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x12345678:32,@+er2.b),er1             ;017F928912345678
        mova/b.l @(0x12345678:32,@+er2.b),er1             ;017F928912345678
        test_h_gr32     0x12345679, er1 ; 112
        test_h_gr32     0x12345679, er1 ; 112
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/b.l @(0x12345678:32,@er2-.b),er1             ;017FA28912345678
        mova/b.l @(0x12345678:32,@er2-.b),er1             ;017FA28912345678
        test_h_gr32     0x12345679, er1 ; 111
        test_h_gr32     0x12345679, er1 ; 111
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
t02q:
t02q:
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x12345678:32, @(foo:16, er2).b), er1
        mova/b.l @(0x12345678:32, @(foo:16, er2).b), er1
        test_h_gr32     0x12345688, er1 ; 115
        test_h_gr32     0x12345688, er1 ; 115
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x12345688, er1 ; 117
        test_h_gr32     0x12345688, er1 ; 117
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        test_h_gr32     0x12345688, er1 ; 118
        test_h_gr32     0x12345688, er1 ; 118
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        test_h_gr32     0x12345688, er1 ; 119
        test_h_gr32     0x12345688, er1 ; 119
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x12345678:32, @(foo:32, er2).b), er1
        mova/b.l @(0x12345678:32, @(foo:32, er2).b), er1
        test_h_gr32     0x12345688, er1 ; 116
        test_h_gr32     0x12345688, er1 ; 116
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x12345688, er1 ; 120
        test_h_gr32     0x12345688, er1 ; 120
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        test_h_gr32     0x12345688, er1 ; 121
        test_h_gr32     0x12345688, er1 ; 121
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        test_h_gr32     0x12345688, er1 ; 122
        test_h_gr32     0x12345688, er1 ; 122
 
 
        mova/b.l @(0x12345678:32,@foo:16.b),er1
        mova/b.l @(0x12345678:32,@foo:16.b),er1
        test_h_gr32     0x12345679, er1 ; 123
        test_h_gr32     0x12345679, er1 ; 123
        mova/b.l @(0x12345678:32,@foo:32.b),er1
        mova/b.l @(0x12345678:32,@foo:32.b),er1
        test_h_gr32     0x12345679, er1 ; 124
        test_h_gr32     0x12345679, er1 ; 124
 
 
t02r:
t02r:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/b.l @(0x12345678:32,@er2.w),er1              ;015F029912345678
        mova/b.l @(0x12345678:32,@er2.w),er1              ;015F029912345678
        test_h_gr32     0x12345779, er1 ; 125
        test_h_gr32     0x12345779, er1 ; 125
        mova/b.l @(0x12345678:32,@(0x2:2,er2).w),er1      ;015F129912345678
        mova/b.l @(0x12345678:32,@(0x2:2,er2).w),er1      ;015F129912345678
        test_h_gr32     0x12345779, er1 ; 130
        test_h_gr32     0x12345779, er1 ; 130
        mova/b.l @(0x12345678:32,@er2+.w),er1             ;015F829912345678
        mova/b.l @(0x12345678:32,@er2+.w),er1             ;015F829912345678
        test_h_gr32     0x12345779, er1 ; 126
        test_h_gr32     0x12345779, er1 ; 126
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/b.l @(0x12345678:32,@-er2.w),er1             ;015FB29912345678
        mova/b.l @(0x12345678:32,@-er2.w),er1             ;015FB29912345678
        test_h_gr32     0x12345779, er1 ; 129
        test_h_gr32     0x12345779, er1 ; 129
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/b.l @(0x12345678:32,@+er2.w),er1             ;015F929912345678
        mova/b.l @(0x12345678:32,@+er2.w),er1             ;015F929912345678
        test_h_gr32     0x12345779, er1 ; 128
        test_h_gr32     0x12345779, er1 ; 128
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/b.l @(0x12345678:32,@er2-.w),er1             ;015FA29912345678
        mova/b.l @(0x12345678:32,@er2-.w),er1             ;015FA29912345678
        test_h_gr32     0x12345779, er1 ; 127
        test_h_gr32     0x12345779, er1 ; 127
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x12345678:32, @(foo:16, er2).w), er1
        mova/b.l @(0x12345678:32, @(foo:16, er2).w), er1
        test_h_gr32     0x12346688, er1 ; 131
        test_h_gr32     0x12346688, er1 ; 131
        shar.l  er2
        shar.l  er2
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x12346688, er1 ; 133
        test_h_gr32     0x12346688, er1 ; 133
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        test_h_gr32     0x12346688, er1 ; 134
        test_h_gr32     0x12346688, er1 ; 134
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        test_h_gr32     0x12346688, er1 ; 135
        test_h_gr32     0x12346688, er1 ; 135
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/b.l @(0x12345678:32, @(foo:32, er2).w), er1
        mova/b.l @(0x12345678:32, @(foo:32, er2).w), er1
        test_h_gr32     0x12346688, er1 ; 132
        test_h_gr32     0x12346688, er1 ; 132
        shar.l  er2
        shar.l  er2
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x12346688, er1 ; 136
        test_h_gr32     0x12346688, er1 ; 136
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        test_h_gr32     0x12346688, er1 ; 137
        test_h_gr32     0x12346688, er1 ; 137
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        test_h_gr32     0x12346688, er1 ; 138
        test_h_gr32     0x12346688, er1 ; 138
 
 
        mova/b.l @(0x12345678:32,@foo:16.w),er1
        mova/b.l @(0x12345678:32,@foo:16.w),er1
        test_h_gr32     0x12345779, er1 ; 139
        test_h_gr32     0x12345779, er1 ; 139
        mova/b.l @(0x12345678:32,@foo:32.w),er1
        mova/b.l @(0x12345678:32,@foo:32.w),er1
        test_h_gr32     0x12345779, er1 ; 140
        test_h_gr32     0x12345779, er1 ; 140
 
 
t02s:
t02s:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/w.l @(0x12345678:32,@er2.b),er1           ;017F02A912345678
        mova/w.l @(0x12345678:32,@er2.b),er1           ;017F02A912345678
        test_h_gr32     0x1234567a, er1 ; 141
        test_h_gr32     0x1234567a, er1 ; 141
        mova/w.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12A912345678
        mova/w.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12A912345678
        test_h_gr32     0x1234567a, er1 ; 146
        test_h_gr32     0x1234567a, er1 ; 146
        mova/w.l @(0x12345678:32,@er2+.b),er1          ;017F82A912345678
        mova/w.l @(0x12345678:32,@er2+.b),er1          ;017F82A912345678
        test_h_gr32     0x1234567a, er1 ; 142
        test_h_gr32     0x1234567a, er1 ; 142
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/w.l @(0x12345678:32,@-er2.b),er1          ;017FB2A912345678
        mova/w.l @(0x12345678:32,@-er2.b),er1          ;017FB2A912345678
        test_h_gr32     0x1234567a, er1 ; 145
        test_h_gr32     0x1234567a, er1 ; 145
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/w.l @(0x12345678:32,@+er2.b),er1          ;017F92A912345678
        mova/w.l @(0x12345678:32,@+er2.b),er1          ;017F92A912345678
        test_h_gr32     0x1234567a, er1 ; 144
        test_h_gr32     0x1234567a, er1 ; 144
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/w.l @(0x12345678:32,@er2-.b),er1          ;017FA2A912345678
        mova/w.l @(0x12345678:32,@er2-.b),er1          ;017FA2A912345678
        test_h_gr32     0x1234567a, er1 ; 143
        test_h_gr32     0x1234567a, er1 ; 143
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x12345678:32, @(foo:16, er2).b), er1
        mova/w.l @(0x12345678:32, @(foo:16, er2).b), er1
        test_h_gr32     0x12345698, er1 ; 147
        test_h_gr32     0x12345698, er1 ; 147
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x12345698, er1 ; 149
        test_h_gr32     0x12345698, er1 ; 149
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        test_h_gr32     0x12345698, er1 ; 150
        test_h_gr32     0x12345698, er1 ; 150
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        test_h_gr32     0x12345698, er1 ; 151
        test_h_gr32     0x12345698, er1 ; 151
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x12345678:32, @(foo:32, er2).b), er1
        mova/w.l @(0x12345678:32, @(foo:32, er2).b), er1
        test_h_gr32     0x12345698, er1 ; 148
        test_h_gr32     0x12345698, er1 ; 148
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x12345698, er1 ; 152
        test_h_gr32     0x12345698, er1 ; 152
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        test_h_gr32     0x12345698, er1 ; 153
        test_h_gr32     0x12345698, er1 ; 153
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        test_h_gr32     0x12345698, er1 ; 154
        test_h_gr32     0x12345698, er1 ; 154
 
 
        mova/w.l @(0x12345678:32,@foo:16.b),er1
        mova/w.l @(0x12345678:32,@foo:16.b),er1
        test_h_gr32     0x1234567a, er1 ; 155
        test_h_gr32     0x1234567a, er1 ; 155
        mova/w.l @(0x12345678:32,@foo:32.b),er1
        mova/w.l @(0x12345678:32,@foo:32.b),er1
        test_h_gr32     0x1234567a, er1 ; 156
        test_h_gr32     0x1234567a, er1 ; 156
 
 
t02t:
t02t:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/w.l @(0x12345678:32,@er2.w),er1           ;015F02B912345678
        mova/w.l @(0x12345678:32,@er2.w),er1           ;015F02B912345678
        test_h_gr32     0x1234587a, er1 ; 157
        test_h_gr32     0x1234587a, er1 ; 157
        mova/w.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12B912345678
        mova/w.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12B912345678
        test_h_gr32     0x1234587a, er1 ; 162
        test_h_gr32     0x1234587a, er1 ; 162
        mova/w.l @(0x12345678:32,@er2+.w),er1          ;015F82B912345678
        mova/w.l @(0x12345678:32,@er2+.w),er1          ;015F82B912345678
        test_h_gr32     0x1234587a, er1 ; 158
        test_h_gr32     0x1234587a, er1 ; 158
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/w.l @(0x12345678:32,@-er2.w),er1          ;015FB2B912345678
        mova/w.l @(0x12345678:32,@-er2.w),er1          ;015FB2B912345678
        test_h_gr32     0x1234587a, er1 ; 161
        test_h_gr32     0x1234587a, er1 ; 161
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/w.l @(0x12345678:32,@+er2.w),er1          ;015F92B912345678
        mova/w.l @(0x12345678:32,@+er2.w),er1          ;015F92B912345678
        test_h_gr32     0x1234587a, er1 ; 160
        test_h_gr32     0x1234587a, er1 ; 160
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/w.l @(0x12345678:32,@er2-.w),er1          ;015FA2B912345678
        mova/w.l @(0x12345678:32,@er2-.w),er1          ;015FA2B912345678
        test_h_gr32     0x1234587a, er1 ; 159
        test_h_gr32     0x1234587a, er1 ; 159
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x12345678:32, @(foo:16, er2).w), er1
        mova/w.l @(0x12345678:32, @(foo:16, er2).w), er1
        test_h_gr32     0x12347698, er1 ; 163
        test_h_gr32     0x12347698, er1 ; 163
        shar.l  er2
        shar.l  er2
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x12347698, er1 ; 165
        test_h_gr32     0x12347698, er1 ; 165
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        test_h_gr32     0x12347698, er1 ; 166
        test_h_gr32     0x12347698, er1 ; 166
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        test_h_gr32     0x12347698, er1 ; 167
        test_h_gr32     0x12347698, er1 ; 167
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/w.l @(0x12345678:32, @(foo:32, er2).w), er1
        mova/w.l @(0x12345678:32, @(foo:32, er2).w), er1
        test_h_gr32     0x12347698, er1 ; 164
        test_h_gr32     0x12347698, er1 ; 164
        shar.l  er2
        shar.l  er2
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x12347698, er1 ; 168
        test_h_gr32     0x12347698, er1 ; 168
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        test_h_gr32     0x12347698, er1 ; 169
        test_h_gr32     0x12347698, er1 ; 169
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        test_h_gr32     0x12347698, er1 ; 170
        test_h_gr32     0x12347698, er1 ; 170
 
 
        mova/w.l @(0x12345678:32,@foo:16.w),er1
        mova/w.l @(0x12345678:32,@foo:16.w),er1
        test_h_gr32     0x1234587a, er1 ; 171
        test_h_gr32     0x1234587a, er1 ; 171
        mova/w.l @(0x12345678:32,@foo:32.w),er1
        mova/w.l @(0x12345678:32,@foo:32.w),er1
        test_h_gr32     0x1234587a, er1 ; 172
        test_h_gr32     0x1234587a, er1 ; 172
 
 
t02u:
t02u:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/l.l @(0x12345678:32,@er2.b),er1           ;017F02C912345678
        mova/l.l @(0x12345678:32,@er2.b),er1           ;017F02C912345678
        test_h_gr32     0x1234567c, er1 ; 173
        test_h_gr32     0x1234567c, er1 ; 173
        mova/l.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12C912345678
        mova/l.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12C912345678
        test_h_gr32     0x1234567c, er1 ; 178
        test_h_gr32     0x1234567c, er1 ; 178
        mova/l.l @(0x12345678:32,@er2+.b),er1          ;017F82C912345678
        mova/l.l @(0x12345678:32,@er2+.b),er1          ;017F82C912345678
        test_h_gr32     0x1234567c, er1 ; 174
        test_h_gr32     0x1234567c, er1 ; 174
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/l.l @(0x12345678:32,@-er2.b),er1          ;017FB2C912345678
        mova/l.l @(0x12345678:32,@-er2.b),er1          ;017FB2C912345678
        test_h_gr32     0x1234567c, er1 ; 177
        test_h_gr32     0x1234567c, er1 ; 177
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/l.l @(0x12345678:32,@+er2.b),er1          ;017F92C912345678
        mova/l.l @(0x12345678:32,@+er2.b),er1          ;017F92C912345678
        test_h_gr32     0x1234567c, er1 ; 176
        test_h_gr32     0x1234567c, er1 ; 176
        test_h_gr32     foo+1, er2
        test_h_gr32     foo+1, er2
        mova/l.l @(0x12345678:32,@er2-.b),er1          ;017FA2C912345678
        mova/l.l @(0x12345678:32,@er2-.b),er1          ;017FA2C912345678
        test_h_gr32     0x1234567c, er1 ; 175
        test_h_gr32     0x1234567c, er1 ; 175
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x12345678:32, @(foo:16, er2).b), er1
        mova/l.l @(0x12345678:32, @(foo:16, er2).b), er1
        test_h_gr32     0x123456b8, er1 ; 179
        test_h_gr32     0x123456b8, er1 ; 179
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
        test_h_gr32     0x123456b8, er1 ; 181
        test_h_gr32     0x123456b8, er1 ; 181
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).b), er1
        test_h_gr32     0x123456b8, er1 ; 182
        test_h_gr32     0x123456b8, er1 ; 182
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).b), er1
        test_h_gr32     0x123456b8, er1 ; 183
        test_h_gr32     0x123456b8, er1 ; 183
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x12345678:32, @(foo:32, er2).b), er1
        mova/l.l @(0x12345678:32, @(foo:32, er2).b), er1
        test_h_gr32     0x123456b8, er1 ; 180
        test_h_gr32     0x123456b8, er1 ; 180
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
        test_h_gr32     0x123456b8, er1 ; 184
        test_h_gr32     0x123456b8, er1 ; 184
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).b), er1
        test_h_gr32     0x123456b8, er1 ; 185
        test_h_gr32     0x123456b8, er1 ; 185
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).b), er1
        test_h_gr32     0x123456b8, er1 ; 186
        test_h_gr32     0x123456b8, er1 ; 186
 
 
        mova/l.l @(0x12345678:32,@foo:16.b),er1
        mova/l.l @(0x12345678:32,@foo:16.b),er1
        test_h_gr32     0x1234567c, er1 ; 187
        test_h_gr32     0x1234567c, er1 ; 187
        mova/l.l @(0x12345678:32,@foo:32.b),er1
        mova/l.l @(0x12345678:32,@foo:32.b),er1
        test_h_gr32     0x1234567c, er1 ; 188
        test_h_gr32     0x1234567c, er1 ; 188
 
 
t02v:
t02v:
        mov.l   #foo, er2
        mov.l   #foo, er2
        mova/l.l @(0x12345678:32,@er2.w),er1           ;015F02D912345678
        mova/l.l @(0x12345678:32,@er2.w),er1           ;015F02D912345678
        test_h_gr32     0x12345a7c, er1 ; 189
        test_h_gr32     0x12345a7c, er1 ; 189
        mova/l.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12D912345678
        mova/l.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12D912345678
        test_h_gr32     0x12345a7c, er1 ; 194
        test_h_gr32     0x12345a7c, er1 ; 194
        mova/l.l @(0x12345678:32,@er2+.w),er1          ;015F82D912345678
        mova/l.l @(0x12345678:32,@er2+.w),er1          ;015F82D912345678
        test_h_gr32     0x12345a7c, er1 ; 190
        test_h_gr32     0x12345a7c, er1 ; 190
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/l.l @(0x12345678:32,@-er2.w),er1          ;015FB2D912345678
        mova/l.l @(0x12345678:32,@-er2.w),er1          ;015FB2D912345678
        test_h_gr32     0x12345a7c, er1 ; 193
        test_h_gr32     0x12345a7c, er1 ; 193
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
        mova/l.l @(0x12345678:32,@+er2.w),er1          ;015F92D912345678
        mova/l.l @(0x12345678:32,@+er2.w),er1          ;015F92D912345678
        test_h_gr32     0x12345a7c, er1 ; 192
        test_h_gr32     0x12345a7c, er1 ; 192
        test_h_gr32     foo+2, er2
        test_h_gr32     foo+2, er2
        mova/l.l @(0x12345678:32,@er2-.w),er1          ;015FA2D912345678
        mova/l.l @(0x12345678:32,@er2-.w),er1          ;015FA2D912345678
        test_h_gr32     0x12345a7c, er1 ; 191
        test_h_gr32     0x12345a7c, er1 ; 191
        test_h_gr32     foo, er2
        test_h_gr32     foo, er2
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x12345678:32, @(foo:16, er2).w), er1
        mova/l.l @(0x12345678:32, @(foo:16, er2).w), er1
        test_h_gr32     0x123496b8, er1 ; 195
        test_h_gr32     0x123496b8, er1 ; 195
        shar.l  er2
        shar.l  er2
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
        test_h_gr32     0x123496b8, er1 ; 197
        test_h_gr32     0x123496b8, er1 ; 197
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).w), er1
        test_h_gr32     0x123496b8, er1 ; 198
        test_h_gr32     0x123496b8, er1 ; 198
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).w), er1
        test_h_gr32     0x123496b8, er1 ; 199
        test_h_gr32     0x123496b8, er1 ; 199
 
 
        mov.l   #4, er2
        mov.l   #4, er2
        mova/l.l @(0x12345678:32, @(foo:32, er2).w), er1
        mova/l.l @(0x12345678:32, @(foo:32, er2).w), er1
        test_h_gr32     0x123496b8, er1 ; 195
        test_h_gr32     0x123496b8, er1 ; 195
        shar.l  er2
        shar.l  er2
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
        test_h_gr32     0x123496b8, er1 ; 197
        test_h_gr32     0x123496b8, er1 ; 197
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).w), er1
        test_h_gr32     0x123496b8, er1 ; 198
        test_h_gr32     0x123496b8, er1 ; 198
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).w), er1
        test_h_gr32     0x123496b8, er1 ; 199
        test_h_gr32     0x123496b8, er1 ; 199
 
 
        mova/l.l @(0x12345678:32,@foo:16.w),er1
        mova/l.l @(0x12345678:32,@foo:16.w),er1
        test_h_gr32     0x12345a7c, er1 ; 203
        test_h_gr32     0x12345a7c, er1 ; 203
        mova/l.l @(0x12345678:32,@foo:32.w),er1
        mova/l.l @(0x12345678:32,@foo:32.w),er1
        test_h_gr32     0x12345a7c, er1 ; 204
        test_h_gr32     0x12345a7c, er1 ; 204
 
 
        test_gr_a5a5    0
        test_gr_a5a5    0
        test_h_gr32     2, er2
        test_h_gr32     2, er2
        test_h_gr32     0x01010101, er3
        test_h_gr32     0x01010101, er3
        test_gr_a5a5    4
        test_gr_a5a5    4
        test_gr_a5a5    5
        test_gr_a5a5    5
        test_gr_a5a5    6
        test_gr_a5a5    6
        test_gr_a5a5    7
        test_gr_a5a5    7
 
 
        pass
        pass
 
 
        exit 0
        exit 0
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.