39 lines
		
	
	
	
		
			501 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			501 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.define __setsig
 | 
						|
.bss
 | 
						|
_save:.space	4
 | 
						|
_trf:.space	4
 | 
						|
.extern __setsig
 | 
						|
.text
 | 
						|
__setsig:
 | 
						|
enter[], 0
 | 
						|
movd 8(fp),@_trf
 | 
						|
movd @.trpreg,r0
 | 
						|
movd _catchit,@.trpreg
 | 
						|
movd r0,@_save
 | 
						|
exit []
 | 
						|
ret 0
 | 
						|
_catchit:
 | 
						|
enter[], 0
 | 
						|
movd @.trpreg,r0
 | 
						|
movd _catchit,@.trpreg
 | 
						|
movd r0,tos
 | 
						|
adjspd -4
 | 
						|
movd @_trf,r7
 | 
						|
movd 8(fp),tos
 | 
						|
jsr r7
 | 
						|
cmpqd 0,r4
 | 
						|
bne I0021
 | 
						|
movd @.trpreg,r0
 | 
						|
movd @_save,@.trpreg
 | 
						|
movd r0,tos
 | 
						|
adjspd -4
 | 
						|
jsr @.trp
 | 
						|
movd @.trpreg,r0
 | 
						|
movd _catchit,@.trpreg
 | 
						|
movd r0,tos
 | 
						|
adjspd -4
 | 
						|
movd tos,r7
 | 
						|
movd r7,@_save
 | 
						|
I0021:
 | 
						|
exit []
 | 
						|
ret 0
 |