ack/mach/m68k2/libem/los.s

41 lines
459 B
ArmAsm
Raw Normal View History

1984-12-14 15:41:14 +00:00
.define .los
1991-04-19 13:09:30 +00:00
.define .los4
.sect .text
.sect .rom
.sect .data
.sect .bss
1984-12-14 15:41:14 +00:00
! d0 : # bytes
! a0 : source address
.sect .text
1984-12-14 15:41:14 +00:00
.los:
move.l (sp)+,a1
move.w (sp)+,d0
1991-04-19 13:09:30 +00:00
ext.l d0
9:
1984-12-14 15:41:14 +00:00
move.l (sp)+,a0
cmp #1,d0
bne 1f
clr d0
move.b (a0),d0
move.w d0,-(sp)
bra 3f
1:
1991-04-19 13:09:30 +00:00
add.l d0,a0
asr.l #1,d0
1984-12-14 15:41:14 +00:00
2:
move -(a0),-(sp)
1991-04-19 13:09:30 +00:00
sub.l #1,d0
1984-12-14 15:41:14 +00:00
bgt 2b
3:
jmp (a1)
1991-04-19 13:09:30 +00:00
! d0 : # bytes
! a0 : source address
.sect .text
.los4:
move.l (sp)+,a1
move.l (sp)+,d0
bra 9b
.align 2