1: / 2: / range checking 3: / 4: _RANG42: 5: bne 1f 6: mov (lc)+,r3 7: 1: 8: mov 2(sp),r0 9: sxt r1 10: cmp r1,(sp) 11: bne 9f 12: br 2f 13: _RANG2: 14: bne 1f 15: mov (lc)+,r3 16: 1: 17: mov (sp),r0 18: 2: 19: cmp r0,r3 20: blt 9f 21: cmp r0,(lc)+ 22: bgt 9f 23: return 24: _RSNG42: 25: bne 1f 26: mov (lc)+,r3 27: 1: 28: mov 2(sp),r0 29: sxt r1 30: cmp r1,(sp) 31: bne 9f 32: cmp r0,r3 33: bhi 9f 34: return 35: _RSNG2: 36: bne 1f 37: mov (lc)+,r3 38: 1: 39: cmp (sp),r3 40: bhi 9f 41: return 42: _RSNG4: 43: mov (sp),r0 44: bmi 9f 45: mov 2(sp),r1 46: br 2f 47: _RSNG24: 48: mov (sp),r1 49: bmi 9f 50: sxt r0 51: br 2f 52: _RANG24: 53: mov (sp),r1 54: sxt r0 55: br 1f 56: _RANG4: 57: mov (sp),r0 58: mov 2(sp),r1 59: 1: 60: cmp r0,(lc)+ 61: blt 9f 62: bgt 1f 63: cmp r1,(lc) 64: blo 9f 65: 1: 66: tst (lc)+ 67: 2: 68: cmp r0,(lc)+ 69: bgt 9f 70: blt 1f 71: cmp r1,(lc) 72: bhi 9f 73: 1: 74: tst (lc)+ 75: return 76: 9: 77: mov $ERANGE,_perrno 78: error ERANGE