|
|
1.1 root 1: #
2: # 02rel.s
3: #
4: # RELATIONAL OPERATORS
5: #
6: _REL2:
7: cvtbl (r10)+,r0
8: ashl $1,r0,r0 #maintain compatability
9: movw (sp)+,r1
10: cmpw (sp)+,r1
11: jmp *reltab(r0)
12: _REL42:
13: cvtbl (r10)+,r0
14: ashl $1,r0,r0 #maintain compatability
15: movl (sp)+,r1
16: cvtwl (sp)+,r2
17: cmpl r2,r1
18: jmp *reltab(r0)
19: _REL24:
20: cvtbl (r10)+,r0
21: ashl $1,r0,r0 #maintain compatability
22: cvtwl (sp)+,r1
23: cmpl (sp)+,r1
24: jmp *reltab(r0)
25: _REL4:
26: cvtbl (r10)+,r0
27: ashl $1,r0,r0 #maintain compatability
28: movl (sp)+,r1
29: cmpl (sp)+,r1
30: jmp *reltab(r0)
31: _REL28:
32: cvtbl (r10)+,r0
33: ashl $1,r0,r0 #maintain compatability
34: cvtwd (sp)+,r1
35: cmpd (sp)+,r1
36: jmp *reltab(r0)
37: _REL48:
38: cvtbl (r10)+,r0
39: ashl $1,r0,r0 #maintain compatability
40: cvtld (sp)+,r1
41: cmpd (sp)+,r1
42: jmp *reltab(r0)
43: _REL82:
44: cvtbl (r10)+,r0
45: ashl $1,r0,r0 #maintain compatability
46: movd (sp)+,r1
47: cvtwd (sp)+,r3
48: cmpd r3,r1
49: jmp *reltab(r0)
50: _REL84:
51: cvtbl (r10)+,r0
52: ashl $1,r0,r0 #maintain compatability
53: movd (sp)+,r1
54: cvtld (sp)+,r3
55: cmpd r3,r1
56: jmp *reltab(r0)
57: _REL8:
58: cvtbl (r10)+,r0
59: ashl $1,r0,r0 #maintain compatability
60: movd (sp)+,r1
61: cmpd (sp)+,r1
62: jmp *reltab(r0)
63: _RELG:
64: cvtbl (r10)+,r5 #r5 has jump opcode
65: ashl $1,r5,r5 #maintain compatability
66: cvtwl (r10)+,r1 #r1 has comparison length
67: movl r1,r4 #r4 has stack length
68: blbc r4,l0201
69: incl r4
70: l0201: addl3 sp,r4,r3 #r3 has addr of bottom operand
71: addl2 r3,r4 #r4 points to cleared stack
72: cmpc3 r1,(r3),(sp) #do comparison
73: movpsl r2 #save condition codes
74: movl r4,sp #update stack
75: bicpsw $15 #restore condition codes
76: bispsw r2
77: jmp *reltab(r5)
78:
79: .align 1
80: reltab:
81: .long releq
82: .long relne
83: .long rellt
84: .long relgt
85: .long relle
86: .long relge
87: .long ifeq
88: .long ifne
89: .long iflt
90: .long ifgt
91: .long ifle
92: .long ifge
93:
94: releq:
95: beql True
96: clrw -(sp)
97: jmp (r8)
98: relne:
99: bneq True
100: clrw -(sp)
101: jmp (r8)
102: rellt:
103: blss True
104: clrw -(sp)
105: jmp (r8)
106: relgt:
107: bgtr True
108: clrw -(sp)
109: jmp (r8)
110: relle:
111: bleq True
112: clrw -(sp)
113: jmp (r8)
114: relge:
115: bgeq True
116: clrw -(sp)
117: jmp (r8)
118: True:
119: movw $1,-(sp)
120: jmp (r8)
121: ifeq:
122: bneq iftra
123: addl2 $2,r10
124: jmp (r8)
125: ifne:
126: beql iftra
127: addl2 $2,r10
128: jmp (r8)
129: iflt:
130: bgeq iftra
131: addl2 $2,r10
132: jmp (r8)
133: ifgt:
134: bleq iftra
135: addl2 $2,r10
136: jmp (r8)
137: ifle:
138: bgtr iftra
139: addl2 $2,r10
140: jmp (r8)
141: ifge:
142: blss iftra
143: addl2 $2,r10
144: jmp (r8)
145: iftra:
146: cvtwl (r10),r0
147: addl2 r0,r10
148: jmp (r8)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.