cvtwl (r10)+,r0 #r0 has size
cvtwl (r10)+,r1 #r1 has lower bound
cvtwl (r10)+,r2 #r2 has upper bound
cvtwl (sp)+,r3 #r3 contains subscript
subl2 r1,r3 #r3 has base subscript
index r3,$0,r2,r0,$0,r1 #r1 has calculated offset
addl2 r1,(sp) #calculate actual address
cvtwl (r10)+,r0 #r0 has size
cvtwl (r10)+,r1 #r1 has lower bound
cvtwl (r10)+,r2 #r2 has upper bound
movl (sp)+,r3 #r3 contains subscript
subl2 r1,r3 #r3 has base subscript
index r3,$0,r2,r0,$0,r1 #r1 has calculated offset
addl2 r1,(sp) #calculate actual address
cvtbl (r10)+,r0 #r0 has shift amount
cvtwl (r10)+,r2 #r2 has lower bound
subl3 r2,(sp)+,r1 #r1 has base subscript
cvtbl (r10)+,r0 #r0 has shift amount
clrl r1 #clear upper half of r1
subw3 (r10)+,(sp)+,r1 #r1 has base subscript