.text .global _start, _write, _exit .global _tc_fail, _tc_pass _write: addi sp, sp, -4 sw (sp+4), r8 mvi r8, 5 scall lw r8, (sp+4) addi sp, sp, 4 ret _exit: mvi r8, 1 scall 1: bi 1b _tc_pass: .data 1: .ascii "OK\n" 2: .text addi sp, sp, -16 sw (sp+4), ra sw (sp+8), r1 sw (sp+12), r2 sw (sp+16), r3 mvi r1, 1 mvhi r2, hi(1b) ori r2, r2, lo(1b) mvi r3, (2b - 1b) calli _write lw r3, (sp+16) lw r2, (sp+12) lw r1, (sp+8) lw ra, (sp+4) addi sp, sp, 16 ret _tc_fail: .data 1: .ascii "FAILED\n" 2: .text addi sp, sp, -16 sw (sp+4), ra sw (sp+8), r1 sw (sp+12), r2 sw (sp+16), r3 sw (sp+4), ra mvi r1, 1 mvhi r2, hi(1b) ori r2, r2, lo(1b) mvi r3, (2b - 1b) calli _write lw r3, (sp+16) lw r2, (sp+12) lw r1, (sp+8) lw ra, (sp+4) addi sp, sp, 16 ret