job Edit 0370D ctl 6611 * * This is different from the original 0370D in that each test is * run once, not 90 times (turn on D!), the scope loop is tighter, * and the "Run even if 72 has zone" decision is switch G on or * HEADPR&1 not blank, not 1260 is 1. * Zone in 72 means "Test expanded print edit." * * Sense switches: * B on to repeat inner test -- for scoping * C on to print correct results * D on to repeat test without reading new detail * E on to halt on errors * G on to run tests with zone in 72. * * Halts: * 99 in A-star and B-star if no more detail records and no header. * Pushing start tries again. If reading detail from tape it * is nonetheless possible to read more detail from cards here. * 86 in A-star and B-star if tape error. Pushing start tries again. * It is possible to read more detail from cards here. * 458 in A-star and 490 in I-star if test error and SS E on. Pushing * start continues, depending on SS D. * * Set a word mark in 1. Read detail records from cards if there * are any. Otherwise halt if 81 is not GM (program is not loaded * from tape). Otherwise read a record from tape into 1. If 80 is * A, branch to 1. * * Print the first two if headpr is not blank. Otherwise skip them. * start equ detail org 336 At 336 to allow chaining CS to W headpr equ 190 Print first two detail if not blank. headct dcw 0 How many detail read? Print first 2. taperr bsp 1 Backspace nop 86 86 if tape error h Halt with 86 in A-star and B-star detail sw 1,81 1 for header, 81 under GM if tape blc nocard No cards left? r testhd Read a detail or header card nocard bce tapehd,81," Tape load puts GM in 81 b finis tapeof bsp 1 finis nop 99 99 if no tape or EOF h Halt with 99 in A-star and B-star b detail Try again tapehd rtw 1,1 Read a detail or header tape record ber taperr Error? bef tapeof Eof? testhd bce 1,80,a Execute if a header bce cont,headct,2 Headers printed yet? bce skiphd,headpr, Skip header printing? lca 77,277 Print the first two headers w cs cs w skiphd a *-6,headct b detail * * Results * worked bss corrpr,c C ON TO CORRECT PRINT ROUTINE loop bss repeat,d D ON TO REPEAT cs start,80 BRANCH TO READ NEXT RECORD failed lca error,285 BEGIN ERROR PRINT ROUTINE bss errhlt,e E ON TO ERROR STOP corrpr w loop ERROR OR CORRECT PRINT errhlt h loop ERROR STOP error dcw @error@ CONSTANTS * * Continue here after reading detail * cont equ *&1 repeat bss doit,G Do test if G is on bwz doit,72,2 Do test if 72 has no zone bce detail,headpr&1, Get next test if headpr&1 blank doit sw 1,78 LOAD PRINT AREA cs 332 ,, lca 80 ,, cs ,, lca 70,270 sw 71 mcw 72,281 sw 221,241 scope lca 237,277 Load edit mask mce 208,277 Edit data field bss scope,B B on to scope c 277,257 Test for error bu failed BRANCH TO ERROR PRINT ROUTINE IF UNEQ b worked BRANCH TO CORRECT PRINT ROUTINE dcw @"@ GMWM end start