job COMPARE & BR UNEQUAL 0100B ctl 6611 * * Stuff in the preamble -- not in one-field-per-card format * org 333 * * Set up for one-field-per-card format and begin loading * 333start sw 8,12 PROGRAM CHAINING ROUTINE 340reload sw 1 ,, 344 r 1 ,, * * Look for next program -- A in column 80 * 348detail r READ DETAIL OR PROGRAM HEADER 349tptest bce *&5,80,a BRANCH IF HEADER 357bcont b cont CONTINUE PROGRAM 361 cs reload,80 BRANCH TO CHAINING ROUTINE 368 dcw #1 * * Title print routine. Notice that in the original format, * the title and ID are in CC 49-77 of the last card -- the one * that transfers control to the program. * titlsw equ 1252 1 to use title print routine hdrs equ 1120 All programs put headers in 1120-1199 titlex equ 413 All routines must return here after title * org 1200 1200titlpr w Print (space). 1201 sw 49 Set WM for Title and Block No. 1205 lca 77,277 Load Title and Block No. in Print Area. 1212 w Print Title and Block No. 1213 cs 277 Clear Print Area 1217 w Print (space). 1218 cw hdrs&20,hdrs&40 Clear Word Marks in second 1225 cw hdrs&60 line stored information. 1229 lca hdrs&69,270 Load second line. 1236 w Print second line. 1237 cs 270 Clear Print Area. 1241 w titlex Print (space) and branch to main program. 1245 dcw #1 * tapes1 equ 1268 blank indicates the tape loader taperd equ 1288 tape read routine? tapes2 equ 1398 GM indicates the tape loader * * Stuff that is in one-field-per-card format * org 377 377 bin init, USE WHEN TESTS ARE RUN FROM TAPE org 385 ,, 385 b taperd ,, 389init nop 0 ,, 393 mcw tptest&11,init&3 ,, 400begin cs 332 START TEST 404 cs 405 bce titlpr,titlsw,1 BR TO TITLE PRINT ROUTINE IF 1 IN S52 413 org titlex 413 cs 80 CLEAR READ AREA 417bnx b detail BRANCH TO PROGRAM CHAINING ROUTINE 421cont sw 2,78 LOAD PRINT AREA 428 lca 80,299 ,, 435 lca 72,272 ,, 442 bce larger,46,L BR TO MAKE B FIELD LARGER IF L IN 046 450 sw 222 SET B FLD WM IF NO L IN 046 454 b scope BRANCH TO COMPARE 458larger sw 221 SET B FLD WM IF L IN 046 462scope c 203,223 COMPARE & BRANCH UNEQUAL 469 bu uneq ,, 474 bss clear,b B ON TO SCOPE 479 bce ok,41, NO ERROR IF BLANK IN 041 487 b failed BRANCH TO ERROR PRINT ROUTINE 491uneq bss clear,B B ON TO SCOPE 496 bce ok,41,U NO ERROR IF U IN 041 504 b failed BRANCH TO ERROR PRINT ROUTINE 508ok sw 241 512 bin worked, org 900 900failed lca error,285 BEGIN ERROR PRINT ROUTINE 907 bss errhlt,E E ON TO ERROR STOP 912 w bump ERROR PRINT 916errhlt h bump ERROR STOP 920bump a bump,count Bump counter 927 bce zero,count-1,9 Ninety times? 935clear cs 332 CLEAR 939 cs ,, 940 b cont 944zero s count 948corr bss corrpr,C C ON TO CORRECT PRINT ROUTINE 953 b last BRANCH TO SENSE D 957corrpr w CORRECT PRINT ROUTINE 958last bss cont,D D ON TO REPEAT 963 b detail BRANCH TO READ NEXT RECORD 970count dcw @000?@ 971worked lca 260,280 978 b bump 982 dcw #1 org hdrs-10 1114error dcw @ERROR@ 1119 dcw @ @ 1139 dcw @A FIELD @ 1159 dcw @B FIELD @ 1179 dcw @RESULT SHOULD BE @ 1199 dcw @RESULT IS @ end start