Retro68/gcc/newlib/libc/machine/mn10200/setjmp.S
2012-03-27 01:51:53 +02:00

34 lines
410 B
ArmAsm

.file "setjmp.S"
.section .text
.align 1
.global _setjmp
_setjmp:
mov d0,a0
movx d2,(0,a0)
movx d3,(4,a0)
mov a1,(8,a0)
mov a2,(12,a0)
mov a3,(16,a0)
movx (0,a3),d0
movx d0,(20,a0)
sub d0,d0
rts
.global _longjmp
_longjmp:
mov d0,a0
movx (0,a0),d2
movx (4,a0),d3
mov (8,a0),a1
mov (12,a0),a2
mov (16,a0),a3
movx (20,a0),d0
movx d0,(0,a3)
cmp 0,d1
bne L1
mov 1,d1
L1:
mov d1,d0
rts