Commit | Line | Data |
---|---|---|
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 | |
17 | 1: | |
18 | jmp *settab(r3) | |
19 | 2: | |
20 | mov $loop,lp | |
21 | tst (sp)+ | |
22 | beq 1f | |
23 | tst (lc)+ | |
24 | return | |
25 | 1: | |
26 | add (lc),lc | |
27 | return | |
28 | .data | |
29 | settab: | |
30 | seteq | |
31 | setne | |
32 | setlt | |
33 | setgt | |
34 | setle | |
35 | setge | |
36 | .text | |
37 | seteq: | |
38 | cmp (r0)+,(r1)+ | |
39 | bne false | |
40 | sob r2,seteq | |
41 | br true | |
42 | setne: | |
43 | cmp (r0)+,(r1)+ | |
44 | bne true | |
45 | sob r2,setne | |
46 | br false | |
47 | setlt: | |
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 | |
55 | setgt: | |
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 | |
63 | setle: | |
64 | bic (r1)+,(r0)+ | |
65 | bne false | |
66 | 4: | |
67 | sob r2,setle | |
68 | br true | |
69 | setge: | |
70 | bic (r0)+,(r1)+ | |
71 | bne false | |
72 | 5: | |
73 | sob r2,setge | |
74 | br true |