ack/mach/vax4/libem/bls.s

31 lines
420 B
ArmAsm
Raw Normal View History

1985-01-18 14:30:03 +00:00
#include "em_abs.h"
1990-01-12 10:29:26 +00:00
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define .bls
1985-01-18 14:30:03 +00:00
1990-01-12 10:29:26 +00:00
! $Header$
1985-01-18 14:30:03 +00:00
.bls:
movl (sp)+,r3
cmpl r0,$4
1990-01-12 10:29:26 +00:00
bneq 5f
movl (sp)+,r0 ! number of bytes in r0
movl (sp)+,r1 ! addresses in r1, r2
1985-01-18 14:30:03 +00:00
movl (sp)+,r2
1990-01-12 10:29:26 +00:00
blbc r0,1f
1985-01-18 14:30:03 +00:00
movb (r2)+,(r1)+
1990-01-12 10:29:26 +00:00
1:
bbc $1,r0,2f
1985-01-18 14:30:03 +00:00
movw (r2)+,(r1)+
1990-01-12 10:29:26 +00:00
2:
1985-01-18 14:30:03 +00:00
ashl $-2,r0,r0
1990-01-12 10:29:26 +00:00
beql 4f
3:
1985-01-18 14:30:03 +00:00
movl (r2)+,(r1)+
1990-01-12 10:29:26 +00:00
sobgtr r0,3b
4:
1985-01-18 14:30:03 +00:00
jmp (r3)
1990-01-12 10:29:26 +00:00
5:
1985-01-18 14:30:03 +00:00
pushl $EILLINS
jmp .fat