BSD 1 development
[unix-history] / px / 25set.s
CommitLineData
4e754410
BJ
1/
2/ SET OPERATIONS
3/
4_ADDT:
5 bne 1f
6 mov (lc)+,r3
71:
8 inc r3
9 bic $1,r3
10 mov sp,r0
11 add r3,sp
12 mov sp,r1
13 asr r3
141:
15 bis (r0)+,(r1)+
16 sob r3,1b
17 return
18_SUBT:
19 bne 1f
20 mov (lc)+,r3
211:
22 inc r3
23 bic $1,r3
24 mov sp,r0
25 add r3,sp
26 mov sp,r1
27 asr r3
281:
29 bic (r0)+,(r1)+
30 sob r3,1b
31 bic (lc)+,-(r1)
32 return
33_MULT:
34 bne 1f
35 mov (lc)+,r3
361:
37 inc r3
38 bic $1,r3
39 mov sp,r0
40 add r3,sp
41 mov sp,r1
42 asr r3
431:
44 mov (r0)+,r2
45 com r2
46 bic r2,(r1)+
47 sob r3,1b
48 return
49_CARD:
50 bne 1f
51 mov (lc)+,r3
521:
53 mov r3,r1
54 mov sp,r2
55 inc r3
56 bic $1,r3
57 add r3,sp
58 clr r3
591:
60 movb (r2),r0
61 bic $!17,r0
62 asl r0
63 add poptab(r0),r3
64 movb (r2)+,r0
65 ash $-3,r0
66 bic $!36,r0
67 add poptab(r0),r3
68 sob r1,1b
69 mov r3,-(sp)
70 return
71.data
72poptab:
73 0 / 0000
74 1 / 0001
75 1 / 0010
76 2 / 0011
77 1 / 0100
78 2 / 0101
79 2 / 0110
80 3 / 0111
81 1 / 1000
82 2 / 1001
83 2 / 1010
84 3 / 1011
85 2 / 1100
86 3 / 1101
87 3 / 1110
88 4 / 1111
89.text
90_CTTOT:
91 bne 1f
92 mov (lc)+,r3
931:
94 mov r3,-(sp)
95 mov (lc)+,-(sp)
96 mov (lc)+,-(sp)
97 jsr pc,_pcttot
98 mov r0,sp
99 return
100_IN:
101 bne 1f
102 mov (lc)+,r3
1031:
104 mov (sp)+,r2
105 sub (lc)+,r2
106 bmi 8f
107 cmp r2,(lc)+
108 bgt 9f
109 mov r2,r1
110 bic $!7,r1
111 ash $-3,r2
112 add sp,r2
113 inc r3
114 bic $1,r3
115 add r3,sp
116 mov $1,r0
117 ash r1,r0
118 bitb r0,(r2)
119 jne true
120 jmp false
1218:
122 tst (lc)+
1239:
124 inc r3
125 bic $1,r3
126 add r3,sp
127 jmp false
128_INCT:
129 mov (sp)+,r2
130 mov (sp)+,r3
1311:
132 cmp r2,(sp)+
133 blt 2f
134 cmp r2,(sp)+
135 bgt 3f
136 dec r3
137 add r3,r3
138 add r3,r3
139 add r3,sp
140 mov $1,-(sp)
141 return
1422:
143 tst (sp)+
1443:
145 sob r3,1b
146 clr -(sp)
147 return