|
|
1.1 ! root 1: # ! 2: # 24case.s ! 3: # ! 4: # CASE OPERATORS ! 5: # ! 6: _CASE1OP: ! 7: cvtbw (r10)+,r0 ! 8: bneq l2401 ! 9: cvtwl (r10)+,r0 #r0 has length of case table ! 10: l2401: ! 11: movaw (r10)[r0],r2 #r2 has pointer to cases ! 12: cvtwb (sp)+,r3 #r3 has case element to find ! 13: locc r3,r0,(r2) #find case element ! 14: beql caserr #case not found ! 15: offset: ! 16: mnegl r0,r0 #calc new lc ! 17: cvtwl (r2)[r0],r1 ! 18: addl2 r1,r10 ! 19: jmp (r8) ! 20: _CASE2OP: ! 21: cvtbl (r10)+,r0 ! 22: bneq l2402 ! 23: cvtwl (r10)+,r0 #r0 has length of case table ! 24: l2402: ! 25: movaw (r10)[r0],r1 #r1 has pointer to cases ! 26: movl r1,r2 #save base pointer ! 27: movw (sp)+,r3 #r3 has case element to find ! 28: l2403: ! 29: cmpw r3,(r1)+ #search for case ! 30: beqlu offset ! 31: sobgtr r0,l2403 ! 32: brb caserr #not found ! 33: _CASE4OP: ! 34: cvtbl (r10)+,r0 ! 35: bneq l2404 ! 36: cvtwl (r10)+,r0 #r0 has length of case table ! 37: l2404: ! 38: movaw (r10)[r0],r1 #r1 has pointer to cases ! 39: movl r1,r2 #save base pointer ! 40: movl (sp)+,r3 #r3 has case element to find ! 41: l2405: ! 42: cmpl r3,(r1)+ #search for case ! 43: beqlu offset ! 44: sobgtr r0,l2405 ! 45: caserr: ! 46: movw $ECASE,_perrno ! 47: jbr error
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.