home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / roff / roff2.s < prev    next >
Encoding:
Text File  |  1979-01-10  |  3.9 KB  |  407 lines

  1. /
  2. /
  3.  
  4. / roff2 -- runoff
  5.  
  6. casead:
  7.     jsr    pc,rbreak
  8.     inc    ad
  9.     rts    pc
  10.  
  11.     rts    pc
  12.  
  13. casebr:
  14.     jsr    pc,rbreak
  15.     rts    pc
  16.  
  17. casecc:
  18.     jsr    pc,skipcont
  19.     jsr    pc,getchar
  20.     cmp    r0,$'\n
  21.     beq    1f
  22.     movb    r0,cc
  23. 1:
  24.     mov    r0,ch
  25.     rts    pc
  26.  
  27. casece:
  28.     jsr    pc,rbreak
  29.     jsr    r5,number; 0
  30.     jsr    pc,min
  31.     mov    r0,ce
  32.     jsr    pc,need
  33.     rts    pc
  34.  
  35. caseds:
  36.     jsr    pc,rbreak
  37.     mov    $2,ls
  38.     rts    pc
  39.  
  40. casefi:
  41.     jsr    pc,rbreak
  42.     inc    fi
  43.     rts    pc
  44.  
  45. casein:
  46.     jsr    pc,rbreak
  47.     jsr    r5,number; in
  48.     jsr    pc,min
  49.     mov    r0,in
  50.     mov    r0,un
  51.     rts    pc
  52.  
  53. caseix:
  54.     jsr    r5,number; in
  55.     jsr    pc,min
  56.     mov    r0,in
  57.     rts    pc
  58.  
  59. caseli:
  60.     jsr    r5,number; 0
  61.     mov    r0,-(sp)
  62. 1:
  63.     dec    (sp)
  64.     blt    1f
  65.     jsr    pc,flushi
  66.     clr    nlflg
  67.     jsr    pc,text
  68.     br    1b
  69. 1:
  70.     tst    (sp)+
  71.     rts    pc
  72.  
  73. casell:
  74.     jsr    r5,number; ll
  75.     jsr    pc,min
  76.     mov    r0,ll
  77.     rts    pc
  78.  
  79. casels:
  80.     jsr    pc,rbreak
  81.     jsr    pc,skipcont
  82.     jsr    pc,getchar
  83.     cmp    r0,$'\n
  84.     bne    1f
  85.     mov    ls1,ls
  86.     rts    pc
  87. 1:
  88.     mov    r0,ch
  89.     jsr    r5,number1; ls
  90.     dec    r0
  91.     jsr    pc,min
  92.     inc    r0
  93.     mov    r0,ls
  94.     mov    r0,ls1
  95.     rts    pc
  96.  
  97. casena:
  98.     jsr    pc,rbreak
  99.     clr    ad
  100.     rts    pc
  101.  
  102. casene:
  103.     jsr    r5,number; 0
  104.     jsr    pc,min
  105.     jsr    pc,need
  106.     rts    pc
  107.  
  108. casenf:
  109.     jsr    pc,rbreak
  110.     clr    fi
  111.     rts    pc
  112.  
  113. casepa:
  114. casebp:
  115.     jsr    pc,rbreak
  116.     jsr    pc,eject
  117.     jsr    pc,skipcont
  118.     tst    nlflg
  119.     bne    1f
  120.     jsr    r5,number; pn
  121.     jsr    pc,min
  122.     mov    r0,pn
  123. 1:
  124.     rts    pc
  125.  
  126. casebl:
  127.     jsr    pc,rbreak
  128.     jsr    r5,number; 0
  129.     jsr    pc,min
  130.     mov    r0,-(sp)
  131.     jsr    pc,need2
  132. 1:
  133.     dec    (sp)
  134.     blt    1f
  135.     mov    $' ,r0
  136.     jsr    pc,storeline
  137.     jsr    pc,rbreak
  138.     br    1b
  139. 1:
  140.     tst    (sp)+
  141.     rts    pc
  142.  
  143. casepl:
  144.     jsr    r5,number; pl
  145.     mov    r0,pl
  146.     jsr    pc,topbot
  147.     rts    pc
  148.  
  149. casesk:
  150.     jsr    r5,number; 0
  151.     jsr    pc,min
  152.     mov    r0,skip
  153.     rts    pc
  154.  
  155. casesp:
  156.     jsr    pc,rbreak
  157.     jsr    r5,number; 0
  158.     jsr    r5,nlines; nline
  159.     rts    pc
  160.  
  161. casess:
  162.     jsr    pc,rbreak
  163.     mov    $1,ls
  164.     rts    pc
  165.  
  166. casetr:
  167.     jsr    pc,skipcont
  168. 1:
  169.     jsr    pc,getchar
  170.     cmp    r0,$'\n
  171.     beq    1f
  172.     mov    r0,r1
  173.     jsr    pc,getchar
  174.     cmp    r0,$'\n
  175.     bne    2f
  176.     mov    $' ,r0
  177. 2:
  178.     movb    r0,trtab(r1)
  179.     br    1b
  180. 1:
  181.     rts    pc
  182.  
  183. caseta:
  184.     mov    $tabtab,r1
  185. 1:
  186.     cmp    r1,$etabtab
  187.     bhis    1f
  188.     jsr    r5,number; 0
  189.     jsr    pc,min
  190.     dec    r0
  191.     ble    1f
  192.     movb    r0,(r1)+
  193.     br    1b
  194. 1:
  195.     clrb    (r1)
  196.     rts    pc
  197.  
  198. caseti:
  199.     jsr    pc,rbreak
  200.     jsr    r5,number; in
  201.     jsr    pc,min
  202.     mov    r0,un
  203.     rts    pc
  204.  
  205. caseul:
  206.     jsr    r5,number; 0
  207.     jsr    pc,min
  208.     mov    r0,ul
  209.     rts    pc
  210.  
  211. caseun:
  212.     jsr    r5,number; 0
  213.     sub    in,r0
  214.     neg    r0
  215.     jsr    pc,min
  216.     mov    r0,un
  217.     rts    pc
  218.  
  219. casehx:
  220.     tst    hx
  221.     beq    1f
  222.     clr    hx
  223.     br    2f
  224. 1:
  225.     inc    hx
  226. 2:
  227.     jsr    pc,topbot
  228.     rts    pc
  229.  
  230. casehe:
  231.     jsr    r5,headin; ehead
  232.     mov    ehead,ohead
  233.     rts    pc
  234. casefo:
  235.     jsr    r5,headin; efoot
  236.     mov    efoot,ofoot
  237.     rts    pc
  238.  
  239. caseeh:
  240.     jsr    r5,headin; ehead
  241.     rts    pc
  242.  
  243. caseoh:
  244.     jsr    r5,headin; ohead
  245.     rts    pc
  246.  
  247. caseef:
  248.     jsr    r5,headin; efoot
  249.     rts    pc
  250.  
  251. caseof:
  252.     jsr    r5,headin; ofoot
  253.     rts    pc
  254.  
  255. casem1:
  256.     jsr    r5,number; ma1
  257.     jsr    pc,min
  258.     mov    r0,ma1
  259.     br    1f
  260.  
  261. casem2:
  262.     jsr    r5,number; ma2
  263.     jsr    pc,min
  264.     mov    r0,ma2
  265.     br    1f
  266.  
  267. casem3:
  268.     jsr    r5,number; ma3
  269.     jsr    pc,min
  270.     mov    r0,ma3
  271.     br    1f
  272.  
  273. casem4:
  274.     jsr    r5,number; ma4
  275.     jsr    pc,min
  276.     mov    r0,ma4
  277. 1:
  278.     jsr    pc,topbot
  279.     rts    pc
  280.  
  281. casehc:
  282.     jsr    pc,skipcont
  283.     jsr    pc,getchar
  284.     cmp    r0,$'\n
  285.     bne    1f
  286.     movb    $200,r0
  287. 1:
  288.     mov    r0,ohc
  289.     rts    pc
  290.  
  291. casetc:
  292.     jsr    pc,skipcont
  293.     jsr    pc,getchar
  294.     cmp    r0,$'\n
  295.     bne    1f
  296.     mov    $' ,r0
  297. 1:
  298.     mov    r0,tabc
  299.     rts    pc
  300.  
  301. casehy:
  302.     jsr    r5,number; 0
  303.     mov    r0,hyf
  304.     rts    pc
  305.  
  306. casen1:
  307.     jsr    pc,rbreak
  308.     mov    $1,numbmod
  309.     br    1f
  310. casen2:
  311.     jsr    pc,rbreak
  312.     mov    $2,numbmod
  313. 1:
  314.     clr    nn
  315.     jsr    r5,number; 0
  316.     tst    r0
  317.     ble    1f
  318.     mov    r0,lnumber
  319.     rts    pc
  320. 1:
  321.     clr    numbmod
  322.     rts    pc
  323.  
  324. casenn:
  325.     jsr    r5,number; 0
  326.     jsr    pc,min
  327.     mov    r0,nn
  328.     rts    pc
  329.  
  330. caseni:
  331.     jsr    r5,number; ni
  332.     jsr    pc,min
  333.     mov    r0,ni
  334.     rts    pc
  335.  
  336. casejo:
  337.     jsr    r5,number; 0
  338.     mov    r0,jfomod
  339.     rts    pc
  340.  
  341. casear:
  342.     clr    ro
  343.     rts    pc
  344.  
  345. casero:
  346.     inc    ro
  347.     rts    pc
  348.  
  349. casenx:
  350.     jsr    pc,skipcont
  351.     jsr    r5,getname; nextf
  352.     inc    nx
  353.     jsr    pc,nextfile
  354.     inc    nlflg
  355.     clr    ip
  356.     mov    $ilist,ilistp
  357.     rts    pc
  358.  
  359. casepo:
  360.     jsr    pc,rbreak
  361.     jsr    r5,number; po
  362.     jsr    pc,min
  363.     mov    r0,po
  364.     rts    pc
  365.  
  366. casede:
  367.     tst    ip
  368.     bne    5f
  369.     jsr    pc,skipcont
  370.     jsr    r5,getname; bname
  371.     clr    skp
  372.     mov    $contab,r1
  373.     clr    -(sp)
  374. 1:
  375.     mov    (r1)+,(sp)
  376.     beq    2f
  377.     bic    $100000,(sp)
  378.     cmp    bname,(sp)
  379.     bne    3f
  380. 2:
  381.     bis    $100000,bname
  382.     mov    nextb,(r1)
  383.     mov    bname,-(r1)
  384.     br    4f
  385. 3:
  386.     cmp    (r1)+,$-1
  387.     bne    1b
  388.     inc    skp
  389. 4:
  390.     tst    (r1)+
  391.     jsr    pc,copyb
  392.     tst    (sp)+
  393. 5:
  394.     rts    pc
  395.  
  396. caseig:
  397.     inc    skp
  398.     jsr    pc,copyb
  399.     rts    pc
  400.  
  401. casemk:
  402.     jsr    pc,rbreak
  403.     mov    $002,r0    /stx
  404.     jsr    pc,putchar
  405.     rts    pc
  406.  
  407.