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 / 02relset.s < prev    next >
Text File  |  1980-02-17  |  789b  |  75 lines

  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
  75.