home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / src / px / 02rel.s < prev    next >
Text File  |  1980-02-17  |  1KB  |  152 lines

  1. /
  2. / RELATIONAL OPERATORS
  3. /
  4. _REL2:
  5.     mov    (sp)+,r0
  6.     cmp    (sp)+,r0
  7.     jmp    *reltab(r3)
  8. _REL42:
  9.     mov    (sp)+,r0
  10.     mov    (sp)+,r1
  11.     tst    (sp)
  12.     sxt    r2
  13.     br    2f
  14. _REL24:
  15.     mov    (sp)+,r1
  16.     sxt    r0
  17.     br    1f
  18. _REL4:
  19.     mov    (sp)+,r0
  20.     mov    (sp)+,r1
  21. 1:
  22.     mov    (sp)+,r2
  23. 2:
  24.     cmp    r2,r0
  25.     bne    1f
  26.     cmp    (sp)+,r1
  27.     bhi    3f
  28.     beq    2f
  29.     tst    $-1
  30. 2:
  31.     jmp    *reltab(r3)
  32. 3:
  33.     tst    $1
  34.     jmp    *reltab(r3)
  35. 1:
  36.     tst    (sp)+
  37.     cmp    r2,r0
  38.     jmp    *reltab(r3)
  39. _REL28:
  40.     tst    (sp)
  41.     sxt    -(sp)
  42. _REL48:
  43.     movif    (sp)+,fr0
  44.     cmpf    (sp)+,fr0
  45.     cfcc
  46.     jmp    *reltab(r3)
  47. _REL82:
  48.     movf    (sp)+,fr0
  49.     tst    (sp)
  50.     sxt    -(sp)
  51.     br    1f
  52. _REL84:
  53.     movf    (sp)+,fr0
  54. 1:
  55.     movif    (sp)+,fr2
  56.     cmpf    fr2,fr0
  57.     cfcc
  58.     jmp    *reltab(r3)
  59. _REL8:
  60.     movf    (sp)+,fr0
  61.     cmpf    (sp)+,fr0
  62.     cfcc
  63.     jmp    *reltab(r3)
  64. _RELG:
  65.     mov    sp,r0
  66.     mov    (lc),r2
  67.     inc    r2
  68.     bic    $1,r2
  69.     add    r2,sp
  70.     mov    sp,r1
  71.     add    r2,sp
  72.     mov    (lc)+,r2
  73. 1:
  74.     cmpb    (r1)+,(r0)+
  75.     bne    1f
  76.     sob    r2,1b
  77.     tst    $0
  78. 1:
  79.     jmp    *reltab(r3)
  80. .data
  81. reltab:
  82.     releq
  83.     relne
  84.     rellt
  85.     relgt
  86.     relle
  87.     relge
  88.     ifeq
  89.     ifne
  90.     iflt
  91.     ifgt
  92.     ifle
  93.     ifge
  94. .text
  95. releq:
  96.     beq    true
  97.     clr    -(sp)
  98.     return
  99. relne:
  100.     bne    true
  101.     clr    -(sp)
  102.     return
  103. rellt:
  104.     blt    true
  105.     clr    -(sp)
  106.     return
  107. relgt:
  108.     bgt    true
  109.     clr    -(sp)
  110.     return
  111. relle:
  112.     ble    true
  113.     clr    -(sp)
  114.     return
  115. relge:
  116.     bge    true
  117.     clr    -(sp)
  118.     return
  119. true:
  120.     mov    $1,-(sp)
  121.     return
  122. false:
  123.     clr    -(sp)
  124.     return
  125. ifeq:
  126.     bne    iftra
  127.     tst    (lc)+
  128.     return
  129. ifne:
  130.     beq    iftra
  131.     tst    (lc)+
  132.     return
  133. iflt:
  134.     bge    iftra
  135.     tst    (lc)+
  136.     return
  137. ifgt:
  138.     ble    iftra
  139.     tst    (lc)+
  140.     return
  141. ifle:
  142.     bgt    iftra
  143.     tst    (lc)+
  144.     return
  145. ifge:
  146.     blt    iftra
  147.     tst    (lc)+
  148.     return
  149. iftra:
  150.     add    (lc),lc
  151.     return
  152.