MiniUnix/usr/source/s3/switch.s

Find at most related files.
including files from this version of Unix.

/ switch -- switch on contents of r0
/
/
/ calling sequence --
/
/   jsr r5,switch; swtab
/
/ r0 is looked up in swtab and if found
/ control is returned to the corresponding place
/ if r0 is not found, the next inline instruction is 
/ executed
/
/ swtab format --
/
/ swtab:
/    val1; ret1
/   val2; ret2
/   ...
/   valn; retn
/   ..; 0
/

	.globl	switch
switch:
	mov	r1,-(sp)
	mov	(r5)+,r1
1:
	cmp	r0,(r1)+
	beq	1f
	tst	(r1)+
	bne	1b
2:
	mov	(sp)+,r1
	rts	r5
1:
	mov	(r1)+,r1
	beq	2b
	mov	r1,r5
	br	2b