Welcome to mirror list, hosted at ThFree Co, Russian Federation.

trap0.S « m32r « libgloss - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 04efa13baba9afe22a70e59233487a572c634dd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
; Trap 0 handler (syscall interface).
;
; The trap handler returns the result in r0 and the error code (errno value)
; in r2.  r1 is reserved in case an 8 byte quantity ever needs to be
; returned in registers.

	.text
	.global	__trap0
__trap0:
	trap	#0		; trap 0 returns result in r0, error code in r2
	cmpui	r2,#1		; is error code zero?
	bc	.Lret		; yes, skip setting errno
	ld	r4,@(sp)	; no, set errno
	st	r2,@r4
.Lret:
	jmp	lr		; return to caller