d65f083146
This patch creates tests/lm32 directory and adds tests for every LatticeMico32 opcode. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
85 lines
774 B
ArmAsm
85 lines
774 B
ArmAsm
.text
|
|
.global _start
|
|
|
|
_start:
|
|
_reset_handler:
|
|
xor r0, r0, r0
|
|
mvhi r1, hi(_start)
|
|
ori r1, r1, lo(_start)
|
|
wcsr eba, r1
|
|
wcsr deba, r1
|
|
bi _main
|
|
nop
|
|
nop
|
|
|
|
_breakpoint_handler:
|
|
ori r25, r25, 1
|
|
addi ra, ba, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_instruction_bus_error_handler:
|
|
ori r25, r25, 2
|
|
addi ra, ea, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_watchpoint_handler:
|
|
ori r25, r25, 4
|
|
addi ra, ba, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_data_bus_error_handler:
|
|
ori r25, r25, 8
|
|
addi ra, ea, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_divide_by_zero_handler:
|
|
ori r25, r25, 16
|
|
addi ra, ea, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_interrupt_handler:
|
|
ori r25, r25, 32
|
|
addi ra, ea, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
_system_call_handler:
|
|
ori r25, r25, 64
|
|
addi ra, ea, 4
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
|