ack/mach/m68020/libem/cii.s

28 lines
402 B
ArmAsm
Raw Normal View History

1987-01-29 22:10:18 +00:00
.define .cii
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
.cii:
move.l (sp)+, a0 ! return address
move.l (sp)+, d0 ! destination size
sub.l (sp)+, d0 ! destination - source size
bgt 1f
sub.l d0, sp ! pop extra bytes
jmp (a0)
1:
clr.l d1
tst.l (sp)
bne 4f
not.l d1 ! d1 contains sign of source
4:
asr.l #2, d0
sub.l #1, d0
2:
move.l d1, -(sp)
dbf d0, 2b
jmp (a0)
.align 2