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 / 05lv.s < prev    next >
Text File  |  1980-02-17  |  520b  |  48 lines

  1. /
  2. / OFF, INDEX, LV and NIL
  3. /
  4. _OFF:
  5.     bne    1f
  6.     mov    (lc)+,r3
  7. 1:
  8.     add    r3,(sp)
  9.     return
  10. _INX4:
  11.     tst    (sp)+        / should check bounds here
  12.     tst    r3
  13. _INX2:
  14.     bne    1f
  15.     mov    (lc)+,r3
  16. 1:
  17.     mov    (sp)+,r1
  18.     sub    (lc)+,r1
  19.     bmi    1f
  20.     cmp    r1,(lc)+
  21.     bgt    1f
  22.     mul    r3,r1
  23.     add    r1,(sp)
  24.     return
  25. 1:
  26.     mov    $ESUBSCR,_perrno
  27.     error    ESUBSCR
  28. _NIL:
  29.     tst    (sp)
  30.     beq    1f
  31.     return
  32. 1:
  33.     mov    $ENILPTR,_perrno
  34.     error    ENILPTR
  35. _LV:
  36.     mov    _display(r3),r0
  37.     add    (lc)+,r0
  38.     mov    r0,-(sp)
  39.     return
  40. _INX4P2:
  41.     tst    (sp)+
  42. _INX2P2:
  43.     mov    (sp)+,r0
  44.     sub    (lc)+,r0
  45.     ash    r3,r0
  46.     add    r0,(sp)
  47.     return
  48.