BSD 4 release
[unix-history] / usr / src / cmd / px / 21rang.s
index 39f44b7..806f242 100644 (file)
@@ -1,5 +1,7 @@
 #\f
 #\f
-# 21rang.s
+# Copyright (c) 1979 Regents of the University of California
+#
+# char sccsid[] = "@(#)21rang.s 4.1 10/10/80";
 #
 # range checking
 #
 #
 # range checking
 #
@@ -8,14 +10,18 @@ _RANG2:
        bneq    l2101
        cvtwl   (r10)+,r1
 l2101:
        bneq    l2101
        cvtwl   (r10)+,r1
 l2101:
-       cvtwl   (r10)+,r2
-       cvtwl   (sp),r0
-       index   r0,r1,r2,$1,$1,r3
+       cmpw    (sp),r1
+       blss    erange
+       cmpw    (sp),(r10)+
+       bgtr    erange
        jmp     (r8)
 _RANG24:
        incl    r10
        cvtwl   (sp),r0
        jmp     (r8)
 _RANG24:
        incl    r10
        cvtwl   (sp),r0
-       index   r0,(r10)+,(r10)+,$1,$1,r2
+       cmpl    r0,(r10)+
+       blss    erange
+       cmpl    r0,(r10)+
+       bgtr    erange
        jmp     (r8)
 _RANG42:
        cvtbl   (r10)+,r0
        jmp     (r8)
 _RANG42:
        cvtbl   (r10)+,r0
@@ -23,33 +29,52 @@ _RANG42:
        cvtwl   (r10)+,r0
 l2102:
        cvtwl   (r10)+,r1
        cvtwl   (r10)+,r0
 l2102:
        cvtwl   (r10)+,r1
-       index   (sp),r0,r1,$1,$1,r2
+       cmpl    (sp),r0
+       blss    erange
+       cmpl    (sp),r1
+       bgtr    erange
        jmp     (r8)
 _RANG4:
        incl    r10
        jmp     (r8)
 _RANG4:
        incl    r10
-       index   (sp),(r10)+,(r10)+,$1,$1,r2
+       cmpl    (sp),(r10)+
+       blss    erange
+       cmpl    (sp),(r10)+
+       bgtr    erange
        jmp     (r8)
        jmp     (r8)
+erange:
+       movw    $ERANGE,_perrno
+       jbr     error
 _RSNG2:
        cvtbl   (r10)+,r1
        bneq    l2103
        cvtwl   (r10)+,r1
 l2103:
 _RSNG2:
        cvtbl   (r10)+,r1
        bneq    l2103
        cvtwl   (r10)+,r1
 l2103:
-       cvtwl   (sp),r0
-       index   r0,$0,r1,$1,$1,r2
+       movw    (sp),r0
+       blss    erange
+       cmpw    r0,r1
+       bgtr    erange
        jmp     (r8)
 _RSNG24:
        incl    r10
        cvtwl   (sp),r0
        jmp     (r8)
 _RSNG24:
        incl    r10
        cvtwl   (sp),r0
-       index   r0,$0,(r10)+,$1,$1,r2
+       blss    erange
+       cmpl    r0,(r10)+
+       bgtr    erange
        jmp     (r8)
 _RSNG42:
        cvtbl   (r10)+,r1
        bneq    l2104
        cvtwl   (r10)+,r1
 l2104:
        jmp     (r8)
 _RSNG42:
        cvtbl   (r10)+,r1
        bneq    l2104
        cvtwl   (r10)+,r1
 l2104:
-       index   (sp),$0,r1,$1,$1,r2
+       movl    (sp),r0
+       blss    erange
+       cmpl    r0,r1
+       bgtr    erange
        jmp     (r8)
 _RSNG4:
        incl    r10
        jmp     (r8)
 _RSNG4:
        incl    r10
-       index   (sp),$0,(r10)+,$1,$1,r2
+       movl    (sp),r0
+       blss    erange
+       cmpl    r0,(r10)+
+       bgtr    erange
        jmp     (r8)
        jmp     (r8)