| # mach(): m32r m32rx | |
| # sim: --environment virtual | |
| # output(): pass\n | |
| .include "testutils.inc" | |
| start | |
| ; construct bra trap2_handler in trap 2 slot | |
| ld24 r0,#bra_insn | |
| ld r0,@r0 | |
| ld24 r1,#trap2_handler | |
| addi r1,#-0x48 ; pc relative address from trap 2 slot to handler | |
| srai r1,#2 | |
| or r0,r1 | |
| ld24 r2,#0x48 ; address of trap 2 slot | |
| st r0,@r2 | |
| ; perform trap | |
| ldi r4,#0 | |
| trap #2 | |
| test_h_gr r4,42 | |
| pass | |
| ; trap 2 handler | |
| trap2_handler: | |
| ldi r4,#42 | |
| rte | |
| bra_insn: | |
| bra.l 0 |