Instead of the lm32-sys device, use semihosting to print to the host console and exit the test. Signed-off-by: Michael Walle <michael@walle.cc>
		
			
				
	
	
		
			66 lines
		
	
	
		
			791 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			791 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.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
 |