ack/mach/vax4/libem/sts.s

34 lines
449 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 .sts
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
.sts:
movl (sp)+,r2
cmpl r0,$4
1990-01-12 10:29:26 +00:00
beql I1
1985-01-18 14:30:03 +00:00
pushl $EILLINS
jmp .fat
1990-01-12 10:29:26 +00:00
I1:
movl (sp)+,r0 ! number of bytes in r0
movl (sp)+,r1 ! address in r1
1985-01-18 14:30:03 +00:00
cmpl r0,$1
1990-01-12 10:29:26 +00:00
beql I3
1985-01-18 14:30:03 +00:00
cmpl r0,$2
1990-01-12 10:29:26 +00:00
beql I4
1985-01-18 14:30:03 +00:00
ashl $-2,r0,r0
1990-01-12 10:29:26 +00:00
I2:
1985-01-18 14:30:03 +00:00
movl (sp)+,(r1)+
1990-01-12 10:29:26 +00:00
sobgtr r0,I2
1985-01-18 14:30:03 +00:00
jmp (r2)
1990-01-12 10:29:26 +00:00
I3:
1985-01-18 14:30:03 +00:00
movl (sp)+,r0
movb r0,(r1)
jmp (r2)
1990-01-12 10:29:26 +00:00
I4:
1985-01-18 14:30:03 +00:00
movl (sp)+,r0
movw r0,(r1)
jmp (r2)