projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4 release
[unix-history]
/
usr
/
src
/
cmd
/
px
/
25set.s
diff --git
a/usr/src/cmd/px/25set.s
b/usr/src/cmd/px/25set.s
index
e5e81c8
..
0a5ed2c
100644
(file)
--- a/
usr/src/cmd/px/25set.s
+++ b/
usr/src/cmd/px/25set.s
@@
-1,60
+1,56
@@
#
\f
#
\f
-# 25set.s
+# Copyright (c) 1979 Regents of the University of California
+#
+# char sccsid[] = "@(#)25set.s 4.1 10/10/80";
#
# SET OPERATIONS
#
_ADDT:
cvtbl (r10)+,r0
bneq l2501
#
# SET OPERATIONS
#
_ADDT:
cvtbl (r10)+,r0
bneq l2501
-
cvtwl
(r10)+,r0
+
movzwl
(r10)+,r0
l2501:
l2501:
- blbc r0,l2502
- incl r0 #r0 has number of bytes in set
-l2502:
addl3 sp,r0,r1 #r1 has pointer to second set
addl3 sp,r0,r1 #r1 has pointer to second set
- ashl $-
1,r0,r0 #r0 has number of word
s in set
+ ashl $-
2,r0,r4 #r4 has number of long
s in set
l2503:
l2503:
- bis
w
2 (sp)+,(r1)+
- sobgtr r
0
,l2503
+ bis
l
2 (sp)+,(r1)+
+ sobgtr r
4
,l2503
jmp (r8)
_SUBT:
cvtbl (r10)+,r0
bneq l2504
jmp (r8)
_SUBT:
cvtbl (r10)+,r0
bneq l2504
-
cvtwl
(r10)+,r0
+
movzwl
(r10)+,r0
l2504:
l2504:
- blbc r0,l2505
- incl r0 #r0 has number of bytes in set
-l2505:
addl3 sp,r0,r1 #r1 has pointer to second set
addl3 sp,r0,r1 #r1 has pointer to second set
- ashl $-
1,r0,r0 #r0 has number of word
s in set
+ ashl $-
2,r0,r4 #r4 has number of long
s in set
l2506:
l2506:
- bicw2 (sp)+,(r1)+
- sobgtr r0,l2506
- bicw2 (r10)+,-(r1)
+ bicl2 (sp)+,(r1)+
+ sobgtr r4,l2506
jmp (r8)
_MULT:
cvtbl (r10)+,r0
bneq l2507
jmp (r8)
_MULT:
cvtbl (r10)+,r0
bneq l2507
-
cvtwl
(r10)+,r0
+
movzwl
(r10)+,r0
l2507:
l2507:
- blbc r0,l2508
- incl r0 #r0 has number of bytes in set
-l2508:
addl3 sp,r0,r1 #r1 has pointer to second set
addl3 sp,r0,r1 #r1 has pointer to second set
- ashl $-
1,r0,r0 #r0 has number of word
s in set
+ ashl $-
2,r0,r4 #r4 has number of long
s in set
l2509:
l2509:
- mcom
w
(sp)+,r3
- bic
w
2 r3,(r1)+
- sobgtr r
0
,l2509
+ mcom
l
(sp)+,r3
+ bic
l
2 r3,(r1)+
+ sobgtr r
4
,l2509
jmp (r8)
_CARD:
cvtbl (r10)+,r0 #r0 has number of bytes in set
bneq l2510
jmp (r8)
_CARD:
cvtbl (r10)+,r0 #r0 has number of bytes in set
bneq l2510
-
cvtwl
(r10)+,r0
+
movzwl
(r10)+,r0
l2510:
blbc r0,l2511
incl r0
l2511:
l2510:
blbc r0,l2511
incl r0
l2511:
+ cmpl r0,$2 #check for long align
+ bneq l2525
+ addl2 $2,r0 #if so append it
+l2525:
addl3 r0,sp,r4 #r4 has new stack addr
ashl $3,r0,r0 #r0 has number of bits in set
mnegl $1,r1 #will init r1 to zero
addl3 r0,sp,r4 #r4 has new stack addr
ashl $3,r0,r0 #r0 has number of bits in set
mnegl $1,r1 #will init r1 to zero
@@
-71,24
+67,19
@@
l2521:
movw r1,-(sp) #put answer on stack
jmp (r8)
_CTTOT:
movw r1,-(sp) #put answer on stack
jmp (r8)
_CTTOT:
- cvtbl (r10)+,
-(sp)
+ cvtbl (r10)+,
r0
bneq l2513
bneq l2513
- cvtwl (r10)+,(sp)
+ movzwl (r10)+,r0
l2513:
l2513:
- cvtwl (r10)+,-(sp)
- cvtwl (r10)+,-(sp)
- calls $4,_pcttot
- movw r0,sp
+ pushal -4(sp)[r0]
+ calls r0,_cttot
jmp (r8)
_IN:
cvtbl (r10)+,r0
bneq l2514
jmp (r8)
_IN:
cvtbl (r10)+,r0
bneq l2514
-
cvtwl
(r10)+,r0 #r0 has size of set
+
movzwl
(r10)+,r0 #r0 has size of set
l2514:
l2514:
- blbc r0,l2515
- incl r0
-l2515:
- cvtwl (sp)+,r1 #r1 has set index
+ movl (sp)+,r1 #r1 has set index
addl3 r0,sp,r4 #r4 points to new top of stack
subw2 (r10)+,r1 #check below lower
blssu l2516
addl3 r0,sp,r4 #r4 points to new top of stack
subw2 (r10)+,r1 #check below lower
blssu l2516
@@
-105,21
+96,10
@@
l2517:
clrw -(sp)
jmp (r8)
_INCT:
clrw -(sp)
jmp (r8)
_INCT:
-
incl r1
0
- cvtwl (sp)+,r0 #r0 has value to find
- cvtwl (sp)+,r1 #r1 has pair count
+
cvtbl (r10)+,r
0
+ bneq l2518
+ movzwl (r10)+,r0 #r0 has number of elements
l2518:
l2518:
- cmpw r0,(sp)+
- blss l2519
- cmpw r0,(sp)+
- bgtr l2520
- decl r1
- moval (sp)[r1],sp #clear off remaining data on stack
- movw $1,-(sp) #success
- jmp (r8)
-l2519:
- addl2 $2,sp
-l2520:
- sobgtr r1,l2518
- clrw -(sp) #failure
+ calls r0,_inct
+ movw r0,-(sp)
jmp (r8)
jmp (r8)