home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / s7 / roff2.s < prev    next >
Encoding:
Text File  |  1975-07-17  |  3.8 KB  |  405 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.     jsr    r5,number; 0
  187.     jsr    pc,min
  188.     dec    r0
  189.     ble    1f
  190.     movb    r0,(r1)+
  191.     br    1b
  192. 1:
  193.     clrb    (r1)+
  194.     rts    pc
  195.  
  196. caseti:
  197.     jsr    pc,rbreak
  198.     jsr    r5,number; in
  199.     jsr    pc,min
  200.     mov    r0,un
  201.     rts    pc
  202.  
  203. caseul:
  204.     jsr    r5,number; 0
  205.     jsr    pc,min
  206.     mov    r0,ul
  207.     rts    pc
  208.  
  209. caseun:
  210.     jsr    r5,number; 0
  211.     sub    in,r0
  212.     neg    r0
  213.     jsr    pc,min
  214.     mov    r0,un
  215.     rts    pc
  216.  
  217. casehx:
  218.     tst    hx
  219.     beq    1f
  220.     clr    hx
  221.     br    2f
  222. 1:
  223.     inc    hx
  224. 2:
  225.     jsr    pc,topbot
  226.     rts    pc
  227.  
  228. casehe:
  229.     jsr    r5,headin; ehead
  230.     mov    ehead,ohead
  231.     rts    pc
  232. casefo:
  233.     jsr    r5,headin; efoot
  234.     mov    efoot,ofoot
  235.     rts    pc
  236.  
  237. caseeh:
  238.     jsr    r5,headin; ehead
  239.     rts    pc
  240.  
  241. caseoh:
  242.     jsr    r5,headin; ohead
  243.     rts    pc
  244.  
  245. caseef:
  246.     jsr    r5,headin; efoot
  247.     rts    pc
  248.  
  249. caseof:
  250.     jsr    r5,headin; ofoot
  251.     rts    pc
  252.  
  253. casem1:
  254.     jsr    r5,number; ma1
  255.     jsr    pc,min
  256.     mov    r0,ma1
  257.     br    1f
  258.  
  259. casem2:
  260.     jsr    r5,number; ma2
  261.     jsr    pc,min
  262.     mov    r0,ma2
  263.     br    1f
  264.  
  265. casem3:
  266.     jsr    r5,number; ma3
  267.     jsr    pc,min
  268.     mov    r0,ma3
  269.     br    1f
  270.  
  271. casem4:
  272.     jsr    r5,number; ma4
  273.     jsr    pc,min
  274.     mov    r0,ma4
  275. 1:
  276.     jsr    pc,topbot
  277.     rts    pc
  278.  
  279. casehc:
  280.     jsr    pc,skipcont
  281.     jsr    pc,getchar
  282.     cmp    r0,$'\n
  283.     bne    1f
  284.     movb    $200,r0
  285. 1:
  286.     mov    r0,ohc
  287.     rts    pc
  288.  
  289. casetc:
  290.     jsr    pc,skipcont
  291.     jsr    pc,getchar
  292.     cmp    r0,$'\n
  293.     bne    1f
  294.     mov    $' ,r0
  295. 1:
  296.     mov    r0,tabc
  297.     rts    pc
  298.  
  299. casehy:
  300.     jsr    r5,number; 0
  301.     mov    r0,hyf
  302.     rts    pc
  303.  
  304. casen1:
  305.     jsr    pc,rbreak
  306.     mov    $1,numbmod
  307.     br    1f
  308. casen2:
  309.     jsr    pc,rbreak
  310.     mov    $2,numbmod
  311. 1:
  312.     clr    nn
  313.     jsr    r5,number; 0
  314.     tst    r0
  315.     ble    1f
  316.     mov    r0,lnumber
  317.     rts    pc
  318. 1:
  319.     clr    numbmod
  320.     rts    pc
  321.  
  322. casenn:
  323.     jsr    r5,number; 0
  324.     jsr    pc,min
  325.     mov    r0,nn
  326.     rts    pc
  327.  
  328. caseni:
  329.     jsr    r5,number; ni
  330.     jsr    pc,min
  331.     mov    r0,ni
  332.     rts    pc
  333.  
  334. casejo:
  335.     jsr    r5,number; 0
  336.     mov    r0,jfomod
  337.     rts    pc
  338.  
  339. casear:
  340.     clr    ro
  341.     rts    pc
  342.  
  343. casero:
  344.     inc    ro
  345.     rts    pc
  346.  
  347. casenx:
  348.     jsr    pc,skipcont
  349.     jsr    r5,getname; nextf
  350.     inc    nx
  351.     jsr    pc,nextfile
  352.     inc    nlflg
  353.     clr    ip
  354.     mov    $ilist,ilistp
  355.     rts    pc
  356.  
  357. casepo:
  358.     jsr    pc,rbreak
  359.     jsr    r5,number; po
  360.     jsr    pc,min
  361.     mov    r0,po
  362.     rts    pc
  363.  
  364. casede:
  365.     tst    ip
  366.     bne    5f
  367.     jsr    pc,skipcont
  368.     jsr    r5,getname; bname
  369.     clr    skp
  370.     mov    $contab,r1
  371.     clr    -(sp)
  372. 1:
  373.     mov    (r1)+,(sp)
  374.     beq    2f
  375.     bic    $100000,(sp)
  376.     cmp    bname,(sp)
  377.     bne    3f
  378. 2:
  379.     bis    $100000,bname
  380.     mov    nextb,(r1)
  381.     mov    bname,-(r1)
  382.     br    4f
  383. 3:
  384.     cmp    (r1)+,$-1
  385.     bne    1b
  386.     inc    skp
  387. 4:
  388.     tst    (r1)+
  389.     jsr    pc,copyb
  390.     tst    (sp)+
  391. 5:
  392.     rts    pc
  393.  
  394. caseig:
  395.     inc    skp
  396.     jsr    pc,copyb
  397.     rts    pc
  398.  
  399. casemk:
  400.     jsr    pc,rbreak
  401.     mov    $002,r0    /stx
  402.     jsr    pc,putchar
  403.     rts    pc
  404.  
  405.