ack/mach/z8000/libem/exg.s
1985-01-08 11:48:43 +00:00

19 lines
226 B
ArmAsm

.define exg
!size (bytes) in R0
exg:
ldm savereg, R4, $10
ldl RR2, RR14
inc R3, $2
ldl RR4, RR2
add R5, R0
sra R0
1: ld R1, *RR2
ex R1, *RR4
ld *RR4, R1
inc R3, $2
inc R5, $2
djnz R0, 1b
ldm R4, savereg, $10
ret