BSD 1 development
[unix-history] / px / 21rang.s
CommitLineData
4e754410
BJ
1/
2/ range checking
3/
4_RANG42:
5 bne 1f
6 mov (lc)+,r3
71:
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
161:
17 mov (sp),r0
182:
19 cmp r0,r3
20 blt 9f
21 cmp r0,(lc)+
22 bgt 9f
23 return
24_RANGS42:
25 bne 1f
26 mov (lc)+,r3
271:
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_RANGS2:
36 bne 1f
37 mov (lc)+,r3
381:
39 cmp (sp),r3
40 bhi 9f
41 return
42_RANGS4:
43 mov (sp),r0
44 bmi 9f
45 mov 2(sp),r1
46 br 2f
47_RANGS24:
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
591:
60 cmp r0,(lc)+
61 blt 9f
62 bgt 1f
63 cmp r1,(lc)
64 blo 9f
651:
66 tst (lc)+
672:
68 cmp r0,(lc)+
69 bgt 9f
70 blt 1f
71 cmp r1,(lc)
72 bhi 9f
731:
74 tst (lc)+
75 return
769:
77 mov $ERANGE,_perrno
78 error ERANGE