ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 1 TITLE ONCE ONLY CODE - USER MODE SUBTTL DAVID M NIXON DEC 1969 ;MUST BE LOADED LAST AFTER UDDT 000124 LOC 124 000124 254000 000017' JRST ST 000000 RELOC ;AC DEFINITIONS 000001 TAC=1 000002 TAC1=2 000003 PDP=3 000010 TEM=10 000015 AC1=15 000016 AC2=16 EXTERNAL JOBSYM,JOBSA,JOBDDT,JOBREL,DDTEND ; THIS SUBROUTINE MUST BE FIRST 000000 201040 000017' EX: MOVEI TAC,ST 000001 504040 000000 HRL TAC,JOBSYM 000002 542040 000001' HRRM TAC,JOBSYM 000003 200100 000230' MOVE TAC1,MOVSYM 000004 272100 000005' ADDM TAC1,.+1 000005 251040 000016' BLT TAC,ST-1 000006 550040 000005' HRRZ TAC,.-1 000007 506040 000000 HRLM TAC,JOBSA 000010 554040 000007' HLRZ TAC,JOBSA 000011 660040 001777 EX1: TRO TAC,1777 000012 047040 000011 CALLI TAC,11 000013 255000 000000 JFCL 000014 402000 000124 EX2: SETZM 124 000015 550040 000010' HRRZ TAC,JOBSA 000016 254001 000000 JRST (TAC) ; ************ ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 2 DAVID M NIXON DEC 1969 000017 402000 000230' ST: SETZM MOVSYM 000020 200140 000243' MOVE PDP,[XWD -10,STACK] 000021 201040 000202' ONCE2: MOVEI TAC,SYSDM 000022 260140 000172' PUSHJ PDP,YESNO 000023 254000 000043' JRST ONCE3 000024 201040 000210' MOVEI TAC,SYMMES 000025 260140 000172' PUSHJ PDP,YESNO 000026 254000 000040' JRST ONCE2A 000027 201040 000221' MOVEI TAC,ALLMES 000030 260140 000172' PUSHJ PDP,YESNO 000031 260140 000052' PUSHJ PDP,GETSYM 000032 574040 000002' HLRE TAC,JOBSYM 000033 213000 000001 MOVNS TAC 000034 202040 000230' MOVEM TAC,MOVSYM 000035 271040 000000 ADDI TAC,DDTEND 000036 506040 000015' HRLM TAC,JOBSA 000037 254000 000000' JRST EX 000040 201040 000035' ONCE2A: MOVEI TAC,DDTEND 000041 506040 000036' HRLM TAC,JOBSA 000042 254000 000014' JRST EX2 000043 550100 000000 ONCE3: HRRZ TAC1,JOBDDT 000044 506100 000041' HRLM TAC1,JOBSA 000045 201040 000000 MOVEI TAC,0 000046 202040 000032' MOVEM TAC,JOBSYM 000047 047040 000002 CALLI TAC,2 000050 201040 000017' MOVEI TAC,ST 000051 254000 000011' JRST EX1 ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 3 DAVID M NIXON DEC 1969 000052 574040 000046' GETSYM: HLRE TAC,JOBSYM 000053 213000 000001 MOVNS TAC 000054 550100 000052' HRRZ TAC1,JOBSYM 000055 271042 777777 ADDI TAC,-1(TAC1) 000056 202040 000232' MOVEM TAC,SYMTOP 000057 200040 000232' GETSY1: MOVE TAC,SYMTOP 000060 270040 000230' ADD TAC,MOVSYM 000061 660040 001777 TRO TAC,1777 000062 312040 000000 CAME TAC,JOBREL 000063 254000 000167' JRST REDUCE 000064 200040 000232' MOVE TAC,SYMTOP 000065 200041 777777 MOVE TAC,-1(TAC) 000066 200700 000244' MOVE AC2,[POINT 7,SYMNAM,13] 000067 205400 777772 MOVSI TEM,-6 000070 231040 000050 SPT: IDIVI TAC,50 000071 506103 000000 HRLM TAC1,(PDP) 000072 252400 000074' AOBJP TEM,.+2 000073 260140 000070' PUSHJ PDP,SPT 000074 554043 000000 HLRZ TAC,(PDP) 000075 322040 000105' JUMPE TAC,TYPE 000076 271040 000057 ADDI TAC,60-1 000077 303040 000071 CAILE TAC,71 000100 271040 000007 ADDI TAC,101-72 000101 303040 000132 CAILE TAC,132 000102 275040 000070 SUBI TAC,134-44 000103 306040 000043 CAIN TAC,43 000104 201040 000056 MOVEI TAC,56 000105 201041 000040 TYPE: MOVEI TAC,40(TAC) 000106 136040 000016 IDPB TAC,AC2 000107 373000 000010 SOSLE TEM 000110 263140 000000 POPJ PDP, 000111 574060 000232' OUT: HLRE TAC,@SYMTOP 000112 322040 000154' JUMPE TAC,FIN 000113 201040 000225' MOVEI TAC,SYMNAM 000114 260140 000172' PUSHJ PDP,YESNO 000115 254000 000127' JRST DEL 000116 574120 000232' SAV: HLRE TAC1,@SYMTOP 000117 213000 000002 MOVNS TAC1 000120 202100 000231' MOVEM TAC1,SIZE 000121 200040 000230' MOVE TAC,MOVSYM 000122 270040 000002 ADD TAC,TAC1 000123 202040 000230' MOVEM TAC,MOVSYM 000124 210040 000002 MOVN TAC,TAC1 000125 272040 000232' ADDM TAC,SYMTOP 000126 254000 000057' JRST GETSY1 ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 4 DAVID M NIXON DEC 1969 000127 574060 000232' DEL: HLRE TAC,@SYMTOP 000130 272040 000232' ADDM TAC,SYMTOP 000131 213000 000001 MOVNS TAC 000132 202040 000231' MOVEM TAC,SIZE 000133 204040 000054' MOVS TAC,JOBSYM 000134 270040 000231' ADD TAC,SIZE 000135 206040 000133' MOVSM TAC,JOBSYM 000136 336000 000230' SKIPN MOVSYM 000137 254000 000057' JRST GETSY1 000140 200040 000232' MOVE TAC,SYMTOP 000141 271040 000001 ADDI TAC,1 000142 504040 000001 HRL TAC,TAC 000143 270040 000231' ADD TAC,SIZE 000144 207000 000001 MOVSS TAC 000145 550100 000232' HRRZ TAC1,SYMTOP 000146 270100 000230' ADD TAC1,MOVSYM 000147 542100 000150' HRRM TAC1,.+1 000150 251040 000150' BLT TAC,. 000151 254000 000057' JRST GETSY1 000152 402000 000135' NOSYM: SETZM JOBSYM 000153 263140 000000 POPJ PDP, 000154 336000 000230' FIN: SKIPN MOVSYM 000155 254000 000152' JRST NOSYM 000156 550040 000152' HRRZ TAC,JOBSYM 000157 550100 000232' HRRZ TAC1,SYMTOP 000160 271100 000001 ADDI TAC1,1 000161 542100 000156' HRRM TAC1,JOBSYM 000162 274100 000001 SUB TAC1,TAC 000163 204040 000161' MOVS TAC,JOBSYM 000164 270040 000002 ADD TAC,TAC1 000165 206040 000163' MOVSM TAC,JOBSYM 000166 263140 000000 FINISH: POPJ PDP, 000167 047040 000011 REDUCE: CALLI TAC,11 000170 255000 000000 JFCL 000171 254000 000057' JRST GETSY1 000172 051141 000000 YESNO: TTCALL 3,(TAC) 000173 051000 000002 TTCALL 0,TAC1 000174 306100 000116 CAIN TAC1,"N" 000175 263140 000000 POPJ PDP, 000176 302100 000131 CAIE TAC1,"Y" 000177 254000 000173' JRST .-4 000200 350003 000000 AOS (PDP) 000201 263140 000000 POPJ PDP, ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 5 DAVID M NIXON DEC 1969 000202 SYSDM: ASCIZ / 000202 064250 447500 DO YOU WANT DDT (Y OR N)? 000203 546372 520256 000204 406352 420210 000205 422504 024262 000206 202372 220234 000207 245761 505000 / 000210 SYMMES: ASCIZ / 000210 064250 447500 DO YOU WANT TO PROTECT THE SYMBOLS ? 000211 546372 520256 000212 406352 420250 000213 475012 051236 000214 522130 352100 000215 522210 520246 000216 546330 247630 000217 515007 706424 / 000220 000000 000000 000221 ALLMES: ASCIZ / 000221 064250 146230 ALL OF THEM ? 000222 202370 620250 000223 442131 520176 000224 064240 000000 / 000225 SYMNAM: ASCIZ / 000225 064244 020100 000226 201004 006424 / 000227 000000 000000 000230 MOVSYM: BLOCK 1 000231 SIZE: BLOCK 1 000232 SYMTOP: BLOCK 1 000233 STACK: BLOCK 10 IF2,< PURGE TAC,TAC1,PDP,TEM,AC1,AC2,EX,EX1,EX2,ST,ONCE2,ONCE2A,GETSYM,GETSY1 PURGE SPT,TYPE,OUT,SAV,DEL,NOSYM,FIN,FINISH,REDUCE,YESNO,ONCE3,SYSDM PURGE SYMMES,ALLMES,SYMNAM,MOVSYM,SIZE,SYMTOP,STACK > END 000243 777770 000233' 000244 260700 000225' NO ERRORS DETECTED PROGRAM BREAK IS 000245 ONCE ONLY CODE - USER MODE MACRO.V36 15:42 3-DEC-69 PAGE 6 SYMBOL TABLE DDTEND 000040' EXT JOBDDT 000043' EXT JOBREL 000062' EXT JOBSA 000044' EXT JOBSYM 000165' EXT