BSD 1 development
[unix-history] / px / 02relset.s
CommitLineData
4e754410
BJ
1/
2/ RELATIONALS ON SETS
3/
4_RELT:
5 mov (lc)+,r2
6 inc r2
7 bic $1,r2
8 mov sp,r1
9 add r2,sp
10 mov sp,r0
11 add r2,sp
12 asr r2
13 cmp r3,$10.
14 ble 1f
15 sub $12.,r3
16 mov $2f,lp
171:
18 jmp *settab(r3)
192:
20 mov $loop,lp
21 tst (sp)+
22 beq 1f
23 tst (lc)+
24 return
251:
26 add (lc),lc
27 return
28.data
29settab:
30 seteq
31 setne
32 setlt
33 setgt
34 setle
35 setge
36.text
37seteq:
38 cmp (r0)+,(r1)+
39 bne false
40 sob r2,seteq
41 br true
42setne:
43 cmp (r0)+,(r1)+
44 bne true
45 sob r2,setne
46 br false
47setlt:
48 mov (r0),r3
49 bic (r1),r3
50 bne false
51 bic (r0)+,(r1)+
52 bne 4f / continue just <=
53 sob r2,setlt
54 br false
55setgt:
56 mov (r1),r3
57 bic (r0),r3
58 bne false
59 bic (r1)+,(r0)+
60 bne 5f / continue just >=
61 sob r2,setgt
62 br false
63setle:
64 bic (r1)+,(r0)+
65 bne false
664:
67 sob r2,setle
68 br true
69setge:
70 bic (r0)+,(r1)+
71 bne false
725:
73 sob r2,setge
74 br true