1: / 2: / 3: 4: / nroff2 5: 6: casead: 7: inc ad 8: jsr pc,skipcont 9: tst nlflg 10: bne 1f 11: jsr pc,getchar 12: cmp r0,$'r /right adj, left ragged 13: bne 0f 14: mov $2,jfomod 15: br 1f 16: 0: 17: cmp r0,$'l /left adj, right ragged 18: bne 0f 19: clr jfomod 20: clr ad 21: br 1f 22: 0: 23: cmp r0,$'c /centered adj 24: bne 0f 25: mov $1,jfomod 26: br 1f 27: 0: 28: clr jfomod /left and right adj 29: inc ad 30: 1: 31: rts pc 32: 33: casebr: 34: jsr pc,rbreak 35: rts pc 36: 37: casecc: 38: clr -(sp) 39: br 0f 40: casec2: 41: mov pc,-(sp) 42: 0: 43: jsr pc,skipcont 44: jsr pc,getchar 45: cmp r0,$'\n 46: beq 2f 47: tst (sp) 48: bne 1f 49: mov r0,cc 50: br 2f 51: 1: 52: mov r0,c2 53: 2: 54: mov r0,ch 55: tst (sp)+ 56: rts pc 57: 58: casece: 59: jsr r5,number; 0 60: jsr pc,min 61: mov r0,-(sp) 62: jsr pc,rbreak 63: mov (sp)+,ce 64: rts pc 65: 66: casefi: 67: jsr pc,rbreak 68: inc fi 69: rts pc 70: 71: casein: 72: jsr pc,skipcont 73: tst nlflg 74: beq 1f 75: mov in1,r0 76: br 2f 77: 1: 78: jsr r5,number1; in 79: jsr pc,min 80: 2: 81: mov r0,-(sp) 82: jsr pc,rbreak 83: mov in,in1 84: mov (sp)+,in 85: tst nc 86: bne 1f 87: mov in,un 88: jsr pc,setnel 89: 1: 90: rts pc 91: 92: caseli: 93: jsr r5,number; 0 94: jsr pc,min 95: mov r0,lit 96: mov frame,litlev 97: cmp nl,$-1 98: bne 0f 99: jsr pc,newln1 100: 0: 101: rts pc 102: 103: casell: 104: jsr pc,skipcont 105: tst nlflg 106: beq 1f 107: mov ll1,r0 108: br 2f 109: 1: 110: jsr r5,number1; ll 111: jsr pc,min 112: 2: 113: mov ll,ll1 114: mov r0,ll 115: 2: 116: jsr pc,setnel 117: rts pc 118: 119: casels: 120: jsr pc,skipcont 121: tst nlflg 122: beq 1f 123: mov ls1,r0 124: br 2f 125: 1: 126: jsr r5,number1; ls 127: dec r0 128: jsr pc,min 129: inc r0 130: 2: 131: mov r0,-(sp) 132: / jsr pc,rbreak 133: mov ls,ls1 134: mov (sp)+,ls 135: rts pc 136: 137: casens: 138: inc nls 139: rts pc 140: 141: casers: 142: clr nls 143: rts pc 144: 145: casena: 146: clr ad 147: rts pc 148: 149: casene: 150: jsr r5,number; 0 151: jsr pc,min 152: jsr pc,need2 153: rts pc 154: 155: casenf: 156: jsr pc,rbreak 157: clr fi 158: rts pc 159: 160: casepn: 161: jsr pc,skipcont 162: bne 1f 163: jsr r5,number1; pn 164: jsr pc,min 165: mov r0,npn 166: 1: 167: rts pc 168: casebp: 169: mov ilistp,-(sp) 170: clr -(sp) 171: jsr pc,skipcont 172: bne 1f 173: jsr r5,number1; pn 174: jsr pc,min 175: mov r0,(sp) 176: 1: 177: jsr pc,rbreak 178: mov (sp)+,r0 179: beq 0f 180: mov r0,npn 181: 0: 182: bne 2f 183: tst nls 184: bne 3f 185: 2: 186: mov (sp),r0 187: jsr pc,eject 188: 3: 189: tst (sp)+ 190: rts pc 191: 192: casepl: 193: jsr pc,skipcont 194: tst nlflg 195: bne 1f 196: jsr r5,number1; pl 197: mov r0,pl 198: rts pc 199: 1: 200: mov $66.,pl 201: rts pc 202: 203: casesp: 204: mov pc,-(sp) 205: br 0f 206: casesp1: 207: clr -(sp) 208: 0: 209: mov r0,-(sp) 210: tst nb 211: bne 0f 212: jsr pc,rbreak 213: 0: 214: tst nls 215: bne 2f 216: clr r0 217: jsr pc,findt 218: tst nb 219: bne 1f 220: tst trap 221: bne 2f 222: 1: 223: tst 2(sp) 224: beq 1f 225: jsr r5,number;0 226: mov r0,(sp) 227: 1: 228: cmp r1,(sp) 229: bge 1f 230: mov r1,(sp) 231: 1: 232: mov (sp),r0 233: ble 3f 234: jsr r5,nlines; newline 235: 2: 236: cmp (sp)+,(sp)+ 237: rts pc 238: 3: 239: add nl,r0 240: cmp (sp)+,(sp)+ 241: br casert1 242: 243: casert: 244: mov markline,r2 245: jsr pc,skipcont 246: bne 0f 247: jsr r5,number1;nl 248: casert1: 249: mov r0,r2 250: 0: 251: tst r2 252: blt 2f 253: cmp r2,nl 254: bge 2f 255: mov nl,r1 256: mov r2,nl 257: sub r2,r1 258: mov r1,r2 259: 1: 260: mov $036,r0 261: jsr pc,putchar 262: dec r2 263: bgt 1b 264: mov $015,r0 265: jsr pc,putchar 266: 2: 267: rts pc 268: 269: casesv: 270: clr r0 271: jsr pc,findt 272: jsr r5,number; 0 273: cmp r1,r0 274: bge 1f 275: mov r0,sv 276: rts pc 277: 1: 278: jsr r5,nlines; newline 279: rts pc 280: 281: caseos: 282: tst sv 283: beq 2f 284: clr r0 285: jsr pc,findt 286: cmp r1,sv 287: bge 1f 288: rts pc 289: 1: 290: mov sv,r0 291: clr sv 292: jsr r5,nlines; newline 293: 2: 294: rts pc 295: 296: casetr: 297: jsr pc,skipcont 298: 1: 299: jsr pc,getchar 300: cmp r0,$'\n 301: beq 1f 302: mov r0,r1 303: jsr pc,getchar 304: cmp r0,$'\n 305: bne 2f 306: mov $' ,r0 307: 2: 308: movb r0,trtab(r1) 309: br 1b 310: 1: 311: rts pc 312: 313: caseta: 314: clr -(sp) 315: mov $tabtab,r1 316: 1: 317: jsr pc,getchar 318: tst nlflg 319: bne 1f 320: cmpb r0,$'+ 321: bne 0f 322: inc (sp) 323: br 2f 324: 0: 325: cmpb r0,$'- 326: beq 2f 327: cmpb r0,$'0 328: blo 1b 329: cmpb r0,$'9 330: bhi 1b 331: 2: 332: mov r0,ch 333: jsr pc,atoi 334: beq 1f 335: jsr pc,min 336: dec r0 337: ble 1f 338: cmp r1,$tabtab 339: beq 0f 340: tst (sp) 341: bne 3f 342: cmp r0,-2(r1) 343: bgt 0f 344: 3: 345: add -2(r1),r0 346: 0: 347: clr (sp) 348: mov r0,(r1)+ 349: cmp r1,$etabtab 350: blo 1b 351: tst -(r1) 352: 1: 353: tst (sp)+ 354: clr (r1) 355: rts pc 356: 357: caseti: 358: jsr r5,number; in 359: jsr pc,min 360: mov r0,-(sp) 361: jsr pc,rbreak 362: mov (sp)+,un1 363: jsr pc,setnel 364: rts pc 365: 366: caseul: 367: jsr r5,number; 0 368: jsr pc,min 369: mov r0,ul 370: rts pc 371: 372: casetl: 373: jsr pc,header 374: rts pc 375: 376: caselt: 377: jsr pc,skipcont 378: tst nlflg 379: beq 1f 380: mov llh1,r0 381: br 2f 382: 1: 383: jsr r5,number1; llh 384: jsr pc,min 385: 2: 386: mov llh,llh1 387: mov r0,llh 388: rts pc 389: 390: 391: casehc: 392: jsr pc,skipcont 393: jsr pc,getchar 394: cmp r0,$'\n 395: bne 1f 396: movb $200,r0 397: 1: 398: mov r0,ohc 399: rts pc 400: 401: casetc: 402: jsr pc,skipcont 403: jsr pc,getchar 404: cmp r0,$'\n 405: bne 1f 406: mov $014,r0 407: 1: 408: mov r0,tabc 409: rts pc 410: 411: caselc: 412: jsr pc,skipcont 413: jsr pc,getchar 414: cmp r0,$'\n 415: bne 1f 416: mov $'.,r0 417: 1: 418: mov r0,dotc 419: rts pc 420: 421: casenc: 422: jsr pc,skipcont 423: jsr pc,getchar 424: cmp r0,$'\n 425: bne 1f 426: mov $034,r0 427: 1: 428: mov r0,numc 429: rts pc 430: 431: casehy: 432: mov $1,hyf 433: jsr pc,skipcont 434: bne 1f 435: jsr pc,atoi 436: beq 1f 437: jsr pc,min 438: mov r0,hyf 439: 1: 440: rts pc 441: 442: casenh: 443: clr hyf 444: rts pc 445: 446: casenp: 447: jsr pc,skipcont 448: tst nlflg 449: beq 2f 450: clr ni 451: mov $1,nms 452: mov $1,ndf 453: rts pc 454: casenm: 455: clr numbmod 456: clr nn 457: jsr pc,skipcont 458: tst nlflg 459: beq 1f 460: rts pc 461: 1: 462: inc numbmod 463: jsr r5,number1; lnumber 464: jsr pc,min 465: mov r0,lnumber 466: jsr pc,skipcont 467: 2: 468: jsr r5,3f; ndf 469: tst ndf 470: bne 1f 471: inc ndf 472: 1: 473: jsr pc,skipcont 474: jsr r5,3f; nms 475: jsr pc,skipcont 476: jsr r5,3f; ni 477: rts pc 478: 3: 479: tst nlflg 480: bne 4f 481: jsr pc,atoi 482: beq 4f 483: jsr pc,min 484: mov r0,*(r5) 485: 4: 486: tst (r5)+ 487: rts r5 488: 489: casenn: 490: jsr r5,number; 0 491: jsr pc,min 492: mov r0,nn 493: rts pc 494: 495: casear: 496: clr ro 497: rts pc 498: 499: caseroc: 500: mov $2,ro 501: rts pc 502: casero: 503: mov $1,ro 504: rts pc 505: 506: casenx: 507: jsr pc,skipcont 508: jsr r5,getname; nextf 509: inc nx 510: jsr pc,nextfile 511: inc nlflg 512: clr ip 513: clr ap 514: clr nspace 515: clr pendt 516: mov $ilist,ilistp 517: rts pc 518: 519: casepo: 520: jsr pc,skipcont 521: tst nlflg 522: beq 1f 523: mov po1,r0 524: br 2f 525: 1: 526: jsr r5,number1; po 527: jsr pc,min 528: 2: 529: mov r0,-(sp) 530: / jsr pc,rbreak 531: mov po,po1 532: mov (sp)+,po 533: rts pc 534: 535: caseig: 536: inc skp 537: jsr pc,copyb 538: rts pc 539: 540: casern: 541: / inc lgf 542: jsr pc,skipcont 543: jsr r5,getname;bname 544: beq 2f 545: jsr pc,findmn 546: beq 2f 547: mov oldptr,-(sp) 548: / inc lgf 549: jsr pc,skipcont 550: jsr r5,getname;bname 551: beq 1f 552: jsr pc,findmn 553: jsr pc,clrold 554: mov (sp),r1 555: tst -(r1) 556: mov (r1),(sp) 557: bic $77777,(sp) 558: mov bname,(r1) 559: bis (sp),(r1) 560: 1: 561: tst (sp)+ 562: 2: 563: rts pc 564: 565: caserm: 566: / inc lgf 567: jsr pc,skipcont 568: jsr r5,getname;bname 569: beq 1f 570: jsr pc,findmn 571: jsr pc,clrold 572: 1: 573: rts pc 574: 575: caseas: 576: inc app 577: caseds: 578: inc ds 579: br casede 580: caseam: 581: inc app 582: casede: 583: tst op 584: beq 1f 585: jsr pc,wbfl 586: 1: 587: / inc lgf 588: jsr pc,skipcont 589: jsr r5,getname; bname 590: bne 1f 591: clr r1 592: br 6f 593: 1: 594: clr skp 595: jsr pc,finds 596: beq 7f 597: tst ds 598: beq 0f 599: tst skp 600: bne 5f 601: jsr pc,copys 602: br 5f 603: 0: 604: jsr pc,copyb 605: 5: 606: jsr pc,wbfl 607: jsr pc,clrold 608: tst newptr 609: beq 0f 610: bis $100000,bname 611: mov bname,*newptr 612: 0: 613: mov r1,-(sp) 614: mov apptr,r1 615: beq 0f 616: mov $004,r0 617: jsr pc,wbt 618: 0: 619: mov (sp)+,r1 620: 6: 621: clr app 622: clr ds 623: rts pc 624: 7: 625: tst macerr 626: bne 0f 627: jsr r5,stringfl; 8f 628: 0: 629: inc macerr 630: cmp macerr,$1 631: jeq edone 632: jmp done2 633: / br 6b 634: 8: <Too many string/macro names.\n\0> 635: .even 636: 637: findmn: 638: mov $contab,r1 639: 1: 640: mov (r1)+,r0 641: bic $100000,r0 642: cmp bname,r0 643: beq 2f 644: cmp (r1)+,$-1 645: bne 1b 646: clr r1 647: 2: 648: mov r1,oldptr 649: rts pc 650: 651: finds: 652: jsr pc,findmn 653: clr newptr 654: clr apptr 655: clr aplnk 656: tst app 657: beq 0f 658: tst oldptr 659: bne 5f 660: 0: 661: mov $contab,r1 662: 1: 663: tst (r1)+ 664: beq 2f 665: cmp (r1)+,$-1 666: bne 1b 667: 1: 668: inc skp 669: clr r1 670: rts pc 671: 2: 672: jsr pc,alloc 673: beq 1b 674: tst oldptr 675: bne 3f 676: 4: 677: tst -(r1) 678: bis $100000,bname 679: mov bname,(r1)+ 680: mov nextb,(r1) 681: br 6f 682: 3: 683: tst diflg 684: bne 4b 685: mov nextb,(r1) 686: tst -(r1) 687: mov r1,newptr 688: br 6f 689: 5: 690: tst -(r1) 691: bmi 1f 692: clr app 693: br 0b 694: 1: 695: tst (r1)+ 696: clr oldptr 697: mov ip,-(sp) 698: mov (r1),ip 699: 1: 700: jsr pc,rbf 701: tst r0 702: bne 1b 703: mov ip,r1 704: mov r1,apptr 705: tst diflg 706: bne 0f 707: jsr pc,incoff 708: 0: 709: mov r1,nextb 710: mov (sp)+,ip 711: 6: 712: clr app 713: mov nextb,r1 714: rts pc 715: 716: clrold: 717: mov oldptr,r0 718: beq 1f 719: mov (r0),-(sp) 720: clr (r0) 721: tst -(r0) 722: bmi 0f 723: clr (sp) 724: 0: 725: clr (r0) 726: mov (sp)+,r0 727: beq 1f 728: jsr pc,free 729: 1: 730: rts pc 731: 732: caseda: 733: inc app 734: casedi: 735: / inc lgf 736: clr ditf 737: jsr pc,skipcont 738: jsr r5,getname; bname 739: beq 1f 740: tst op 741: bne 3f 742: inc diflg 743: jsr pc,finds 744: beq 3f 745: mov r1,op 746: jsr pc,clrold 747: / mov blss,sblss 748: / mov alss,salss 749: / clr blss 750: / clr alss 751: clr dnl 752: br 3f 753: 1: 754: tst op 755: beq 3f 756: clr r0 757: jsr pc,pchar1 758: jsr pc,wbfl 759: / mov sblss,blss 760: / mov salss,alss 761: clr op 762: 3: 763: clr app 764: clr diflg 765: rts pc 766: 767: caseev: 768: jsr pc,skipcont 769: tst nlflg 770: beq 2f 771: cmp evp,$elist 772: ble 5f 773: 1: 774: sub $2,evp 775: mov *evp,-(sp) 776: br 3f 777: 2: 778: jsr pc,atoi 779: beq 6f 780: cmp r0,nev 781: bgt 6f 782: tst r0 783: blt 6f 784: cmp evp,$eliste 785: bgt 6f 786: mov r0,-(sp) 787: mov ev,*evp 788: add $2,evp 789: 3: 790: cmp (sp),ev 791: beq 4f 792: mov $1024.,r3 793: mpy ev,r3 794: mov r3,8f 795: mov $1024.,r3 796: mpy (sp),r3 797: mov r3,9f 798: mov ibf,r0 799: sys 0;7f 800: .data 801: 7: sys seek; 8:.. ; 0 802: .text 803: mov ibf,r0 804: sys write; block; 1024. 805: mov ibf1,r0 806: sys 0;7f 807: .data 808: 7: sys seek; 9:.. ; 0 809: .text 810: mov blocksize,0f 811: mov ibf1,r0 812: sys 0;7f 813: .data 814: 7: sys read; block; 0:.. 815: .text 816: 4: 817: mov (sp)+,ev 818: 5: 819: rts pc 820: 6: 821: jsr r5,string;9f 822: rts pc 823: 9: <Cannot do "ev".\n\0> 824: .even 825: 826: caseif: 827: clr -(sp) 828: jsr pc,skipcont 829: jsr pc,getchar 830: cmp r0,$'! 831: bne 1f 832: inc (sp) 833: br 2f 834: 1: 835: mov r0,ch 836: 2: 837: jsr pc,atoi 838: beq 1f 839: tst r0 840: bgt 5f /true 841: br 6f /false 842: 1: 843: jsr pc,getchar 844: cmp r0,$'e 845: bne 1f 846: bit $1,pn 847: bne 6f 848: br 5f 849: 1: 850: cmp r0,$'o 851: bne 1f 852: bit $1,pn 853: beq 6f 854: br 5f 855: 1: 856: cmpb r0,$'n 857: beq 5f 858: 1: 859: tst (sp)+ 860: rts pc 861: 5: 862: tst (sp) 863: bne 1b 864: 2: 865: clr column 866: jsr pc,getchar 867: bmi 0f 868: cmpb r0,$' / 869: beq 2b 870: 0: 871: mov r0,ch 872: inc nflush 873: br 1b 874: 6: 875: tst (sp) 876: beq 1b 877: br 2b 878: 879: casewh: 880: clr -(sp) 881: jsr pc,skipcont 882: jsr pc,getchar 883: cmp r0,$'x 884: bne 1f 885: mov $-1,r0 886: jsr pc,findt 887: add nl,r1 888: sub dnl,r1 889: mov r1,r0 890: br 2f 891: 1: 892: mov r0,ch 893: jsr pc,atoi 894: beq 4f 895: 2: 896: mov r0,(sp) 897: jsr pc,skipcont 898: jsr r5,getname; bname 899: tstb bname 900: bne 1f 901: clr bname 902: 1: 903: mov (sp),r0 904: jsr pc,findn 905: tst r1 906: beq 1f 907: mov bname,[mlist-nlist](r1) 908: br 4f 909: 1: 910: mov $mlist,r1 911: 2: 912: tst (r1)+ 913: beq 3f 914: cmp r1,$mliste 915: bgt 4f 916: br 2b 917: 3: 918: mov bname,-2(r1) 919: mov (sp),[nlist-mlist-2](r1) 920: 4: 921: tst (sp)+ 922: rts pc 923: 924: findn: 925: mov $nlist,r1 926: 1: 927: cmp (r1),r0 928: beq 3f 929: 2: 930: tst (r1)+ 931: cmp r1,$nliste 932: bne 1b 933: clr r1 934: rts pc 935: 3: 936: tst [mlist-nlist](r1) 937: beq 2b 938: rts pc 939: 940: findm: 941: mov $mlist,r1 942: 1: 943: cmp (r1),bname 944: beq 3f 945: 2: 946: tst (r1)+ 947: cmp r1,$mliste 948: bne 1b 949: clr r1 950: rts pc 951: 3: 952: sub $[mlist-nlist],r1 953: rts pc 954: 955: casech: 956: clr -(sp) 957: jsr pc,skipcont 958: jsr pc,atoi 959: beq 2f 960: jsr pc,findn 961: br 3f 962: 2: 963: jsr r5,getname; bname 964: tstb bname 965: beq 1f 966: jsr pc,findm 967: 3: 968: tst r1 969: beq 1f 970: mov r1,(sp) 971: jsr pc,skipcont 972: jsr pc,atoi 973: beq 2f 974: mov r0,*(sp) 975: 1: 976: tst (sp)+ 977: rts pc 978: 2: 979: jsr pc,getchar 980: tst nlflg 981: bne 1b 982: mov *(sp),r0 983: beq 1b 984: bgt 0f 985: add pl,r0 986: inc r0 987: 0: 988: sub nl,r0 989: ble 1b 990: dec r0 991: ble 1b 992: cmp dnl,r0 993: bge 0f 994: mov dnl,r0 995: 0: 996: sub r0,*(sp) 997: br 1b 998: 999: casemk: 1000: jsr pc,skipcont 1001: beq 1f 1002: mov nl,markline 1003: rts pc 1004: 1: 1005: jsr r5,getname; bname 1006: mov bname,r0 1007: beq 2f 1008: jsr pc,findr 1009: beq 2f 1010: mov nl,(r1) 1011: 2: 1012: rts pc 1013: 1014: casetm: 1015: inc copyf 1016: jsr pc,skipcont 1017: mov $bname,r1 1018: 1: 1019: jsr pc,getchar 1020: bmi 1b 1021: movb r0,(r1)+ 1022: tst nlflg 1023: bne 2f 1024: cmp r1,$ename 1025: blo 1b 1026: movb $'\n,-1(r1) 1027: 2: 1028: clrb (r1) 1029: jsr r5,stringfl; bname 1030: clr copyf 1031: rts pc 1032: 1033: caserd: 1034: jsr pc,skipcont 1035: jsr r5,getname; bname 1036: tst iflg 1037: bne 1f 1038: tst quiet 1039: bne 2f 1040: tstb bname 1041: beq 5f 1042: jsr r5,string; bname 1043: jsr r5,string; 3f 1044: 1: 1045: jsr pc,collect 1046: inc tty 1047: jsr pc,pushi 1048: beq 6f 1049: mov $-1,ip 1050: rts pc 1051: 2: 1052: bic $10,ttym 1053: mov ttyid,r0 1054: sys stty; ttys 1055: jsr pc,flush 1056: 5: 1057: jsr r5,string;4f 1058: br 1b 1059: 6: 1060: jmp rdtty2 1061: 3: <: \0> 1062: 4: <\0> /bell 1063: .even 1064: 1065: caseaf: 1066: jsr pc,skipcont 1067: bne 3f 1068: jsr r5,getname;bname 1069: mov bname,r0 1070: beq 3f 1071: jsr pc,findr 1072: jsr pc,skipcont 1073: jsr pc,getchar 1074: mov $4f,r2 1075: 1: 1076: cmpb r0,(r2)+ 1077: beq 2f 1078: inc r2 1079: tstb (r2) 1080: bne 1b 1081: 2: 1082: movb (r2),[flist-vlist](r1) 1083: 3: 1084: rts pc 1085: 4: 1086: .byte '1,1 1087: .byte 'i,2 1088: .byte 'I,3 1089: .byte 'a,4 1090: .byte 'A,5 1091: .byte 0,0 1092: 1093: casenr: 1094: jsr pc,skipcont 1095: bne 5f 1096: jsr r5,getname; bname 1097: mov bname,r0 1098: jsr pc,findr 1099: mov r1,0f 1100: beq 5f 1101: jsr pc,skipcont 1102: bne 5f 1103: jmp 7f 1104: .data 1105: 7: jsr r5,number1; 0:.. 1106: jmp 8f 1107: .text 1108: 8: 1109: bne 1f 1110: clr r0 1111: 1: 1112: mov r0,*0b 1113: jsr pc,skipcont 1114: bne 5f 1115: jsr pc,atoi 1116: beq 5f 1117: mov r0,[inclist-vlist](r1) 1118: 5: 1119: rts pc 1120: 1121: casefl: 1122: jsr pc,rbreak 1123: jsr pc,flush 1124: rts pc 1125: 1126: casexh: 1127: / tst x.5 1128: / bne 1f 1129: inc x.5 1130: rts pc 1131: /1: 1132: / clr x.5 1133: / rts pc 1134: 1135: caseso: 1136: jsr pc,skipcont 1137: tst nlflg 1138: bne 1f 1139: jsr r5,getname; nextf 1140: tstb nextf 1141: beq 1f 1142: sys open; nextf; 0 1143: bes 1f 1144: mov ifp,r1 1145: cmp r1,$ifle 1146: bhi 1f 1147: mov r0,-(sp) 1148: jsr pc,flushi 1149: mov ifile,(r1) 1150: mov (sp)+,ifile 1151: mov ioff,[offl-ifl](r1) 1152: add $2,ifp 1153: clr ioff 1154: inc nx 1155: inc nflush 1156: tst (r1) 1157: bne 1f 1158: jsr pc,savebuf 1159: 1: 1160: rts pc 1161: 1162: caseeo: 1163: clr r0 1164: br 1f 1165: caseec: 1166: jsr pc,skipcont 1167: jsr pc,getchar 1168: cmpb r0,$'\n 1169: bne 1f 1170: movb $'\\,r0 1171: 1: 1172: movb r0,eschar 1173: movb r0,eschar+1 1174: rts pc 1175: 1176: casest: 1177: 4 1178: 1179: caseem: 1180: clr em 1181: jsr pc,skipcont 1182: bne 1f 1183: jsr r5,getname;bname 1184: beq 1f 1185: mov bname,em 1186: 1: 1187: rts pc 1188: 1189: casefc: 1190: mov $4,fc 1191: mov $' ,padc 1192: jsr pc,skipcont 1193: bne 1f 1194: jsr pc,getchar 1195: bmi 1f 1196: movb r0,fc 1197: jsr pc,skipcont 1198: bne 1f 1199: mov ch,r0 1200: bmi 1f 1201: cmpb r0,fc 1202: beq 1f 1203: movb r0,padc 1204: 1: 1205: rts pc 1206: 1207: casepi: 1208: tst toolate 1209: bne 1f 1210: jsr pc,skipcont 1211: jsr r5,getname;bname 1212: beq 1f 1213: sys 42. /pipe 1214: jes place 1215: mov r0,pipin 1216: mov r1,outid 1217: sys fork 1218: br 2f 1219: jes place 1220: mov $1,r0 1221: sys close 1222: mov pipin,r0 1223: sys close 1224: 1: 1225: inc toolate 1226: rts pc 1227: 2: 1228: clr r0 1229: sys close 1230: mov pipin,r0 1231: sys 41. /dup 1232: mov outid,r0 1233: sys close 1234: sys exec;bname;args 1235: jsr r5,string;9f 1236: sys exit 1237: args: bname;0 1238: 9: <exec failed\n\0> 1239: .even