-.define .csa
+.define .csa2
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
-.csa:
- move.l (sp)+,a0 ! case descriptor
- move (sp)+,d0 ! index
+.csa2:
move.l (a0)+,a1 ! default address
sub (a0)+,d0 ! index - lower bound
blt 1f
.sect .text
.csa4:
- move.l (sp)+,a0 ! case descriptor
- move.l (sp)+,d0 ! index
move.l (a0)+,a1 ! default address
sub.l (a0)+,d0 ! index - lower bound
blt 1f
-.define .csb
+.define .csb2
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
-.csb:
- move.l (sp)+,a0 ! case descriptor
- move (sp)+,d0 ! index
+.csb2:
move.l (a0)+,a1 ! default jump address
move.w (a0)+,d1 ! # entries
beq 2f
.sect .text
.csb4:
- move.l (sp)+,a0 ! case descriptor
- move.l (sp)+,d0 ! index
move.l (a0)+,a1 ! default jump address
- move.w (a0)+,d1 ! # entries
+ move.l (a0)+,d1 ! # entries
beq 2f
1:
cmp.l (a0)+,d0
jmp EXIT
.sect .data
-fmt: .asciz "system call %d not implemented"
+fmt: .asciz "system call %d not implemented\n"
.align 2