ack/mach/vax4/libem/csb4.s

32 lines
541 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 .csb4
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
.csb4:
1990-01-12 10:29:26 +00:00
movl (sp)+,r0 ! descriptor address
movl (sp)+,r1 ! index
pushl r4 ! Save r4
movl (r0)+,r4 ! default
movl (r0)+,r2 ! number of cases
I1:
1985-01-18 14:30:03 +00:00
decl r2
1990-01-12 10:29:26 +00:00
blss I2
1985-01-18 14:30:03 +00:00
movl (r0)+,r3
cmpl r1,r3
1990-01-12 10:29:26 +00:00
beql Ifound
tstl (r0)+ ! useless address
br I1
Ifound:
1985-01-18 14:30:03 +00:00
movl (r0)+,r4
1990-01-12 10:29:26 +00:00
I2:
1985-01-18 14:30:03 +00:00
movl r4,r0
beql a3
1990-01-12 10:29:26 +00:00
movl (sp)+,r4 ! Restore r4
1985-01-18 14:30:03 +00:00
jmp (r0)
a3:
pushl $ECASE
jmp .fat