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
|
|
|
|
1994-06-24 14:02:31 +00:00
|
|
|
! $Id$
|
1985-01-21 12:56:09 +00:00
|
|
|
|
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)
|