BSD 2 development
[unix-history] / src / px / 02rel.s
/
/ RELATIONAL OPERATORS
/
_REL2:
mov (sp)+,r0
cmp (sp)+,r0
jmp *reltab(r3)
_REL42:
mov (sp)+,r0
mov (sp)+,r1
tst (sp)
sxt r2
br 2f
_REL24:
mov (sp)+,r1
sxt r0
br 1f
_REL4:
mov (sp)+,r0
mov (sp)+,r1
1:
mov (sp)+,r2
2:
cmp r2,r0
bne 1f
cmp (sp)+,r1
bhi 3f
beq 2f
tst $-1
2:
jmp *reltab(r3)
3:
tst $1
jmp *reltab(r3)
1:
tst (sp)+
cmp r2,r0
jmp *reltab(r3)
_REL28:
tst (sp)
sxt -(sp)
_REL48:
movif (sp)+,fr0
cmpf (sp)+,fr0
cfcc
jmp *reltab(r3)
_REL82:
movf (sp)+,fr0
tst (sp)
sxt -(sp)
br 1f
_REL84:
movf (sp)+,fr0
1:
movif (sp)+,fr2
cmpf fr2,fr0
cfcc
jmp *reltab(r3)
_REL8:
movf (sp)+,fr0
cmpf (sp)+,fr0
cfcc
jmp *reltab(r3)
_RELG:
mov sp,r0
mov (lc),r2
inc r2
bic $1,r2
add r2,sp
mov sp,r1
add r2,sp
mov (lc)+,r2
1:
cmpb (r1)+,(r0)+
bne 1f
sob r2,1b
tst $0
1:
jmp *reltab(r3)
.data
reltab:
releq
relne
rellt
relgt
relle
relge
ifeq
ifne
iflt
ifgt
ifle
ifge
.text
releq:
beq true
clr -(sp)
return
relne:
bne true
clr -(sp)
return
rellt:
blt true
clr -(sp)
return
relgt:
bgt true
clr -(sp)
return
relle:
ble true
clr -(sp)
return
relge:
bge true
clr -(sp)
return
true:
mov $1,-(sp)
return
false:
clr -(sp)
return
ifeq:
bne iftra
tst (lc)+
return
ifne:
beq iftra
tst (lc)+
return
iflt:
bge iftra
tst (lc)+
return
ifgt:
ble iftra
tst (lc)+
return
ifle:
bgt iftra
tst (lc)+
return
ifge:
blt iftra
tst (lc)+
return
iftra:
add (lc),lc
return