DISK1 START 0 00010000 STARTPSW DC X'0000000000',AL3(BEGIN) 00020000 * 00030000 * 00040000 ORG DISK1+2048 00050000 * 00060000 BEGIN BALR R12,0 SET BASE REGISTER 00070000 USING *,R12 00080000 * 00090000 LA R13,SAVEA FIRST SAVE AREA 00100000 * 00110000 * 00120000 * 00130000 MVI R,1 READ RECORD 1 00140000 @PRINT '------- CC=00 HH=00 R=1 --------' 00150000 BAL R14,DUMPREC 00160000 * 00170000 * 00180000 * 00190000 MVI R,2 READ RECORD 2 00200000 @PRINT '------- CC=00 HH=00 R=2 --------' 00210000 BAL R14,DUMPREC 00220000 * 00230000 * 00240000 * 00250000 MVI R,3 READ RECORD 3 00260000 @PRINT '------- CC=00 HH=00 R=2 --------' 00270000 BAL R14,DUMPREC 00280000 * 00290000 * 00300000 * 00310000 * MVC VTOCADDR,INBUF+15 SAVE VTOC ADDRESS FROM VOL RECORD 00320000 MVC VTOCADDR,INBUF+11 SAVE VTOC ADDRESS FROM VOL RECORD 00330000 * 00340000 * 00350000 MVC CCHHR(5),VTOCADDR READ FIRST VTOC RECORD 00360000 @PRINT '------- VTOC FMT 4 DSCB --------' 00370000 BAL R14,DUMPREC 00380000 * 00390000 * 00400000 * 00410000 B EXIT 00420000 * 00430000 ********************************************************************** 00440000 * 00450000 ********************************************************************** 00460000 * 00470000 DUMPREC DS 0H 00480000 ST R14,DUMPRCXT SAVE RETURN ADDRESS 00490000 * 00500000 LA R1,CCWSEEK POINT TO CCW CHAIN 00510000 ST R1,72 SAVE INTO CAW 00520000 LA R2,X'345' DISK DEVICE ADDRESS 00530000 SIO 0(R2) START I/O 00540000 BNZ ERR1 BRANCH IF SIO NOT ACCEPTED 00550000 * 00560000 WAIT TIO 0(R2) WAIT FOR I/O COMPLETION 00570000 BZ DUMP GO DUMP RECORD 00580000 BC 1,ERR2 BRANCH IF ERROR 00590000 B WAIT KEEP WAITING... 00600000 * 00610000 * 00620000 DUMP DS 0H 00630000 MVC CSW,64 SAVE CSW FOR LATER 00640000 * 00650000 @PRINT '----- CSW ------' 00660000 @DUMP CSW,10 00670000 @PRINT ' ' 00680000 @PRINT '-----DATA BUFFER-----' 00690000 * 00700000 SLR R3,R3 ZERO R3 00710000 ICM R3,B'0011',CCWREAD+6 GET CCW DATA LENGTH 00720000 SLR R1,R1 ZERO R1 00730000 ICM R1,B'0011',CSW+6 GET RESIDUAL LENGTH 00740000 SR R3,R1 CALCULATE LENGTH READ 00750000 * 00760000 @DUMP INBUF,(R3) 00770000 * 00780000 @PRINT ' ' 00790000 @PRINT ' ' 00800000 * 00810000 L R14,DUMPRCXT SAVE RETURN ADDRESS 00820000 BR R14 RETURN TO CALLER 00830000 * 00840000 * 00850000 ERR1 @PRINT '*** I/O ERROR (SIO) ON DEVICE 345' 00860000 B EXIT 00870000 * 00880000 * 00890000 ERR2 @PRINT '*** I/O ERROR (TIO) ON DEVICE 345' 00900000 B EXIT 00910000 * 00920000 ********************************************************************** 00930000 * 00940000 EXIT LPSW DONE LOAD A WAIT PSW 00950000 * 00960000 ********************************************************************** 00970000 * 00980000 PRINT NOGEN 00990000 @PRINT GEN=YES 01000000 @CARD GEN=YES 01010000 @DUMP GEN=YES 01020000 @ERR , 01030000 @REGS , 01040000 PRINT GEN 01050000 * 01060000 ********************************************************************** 01070000 * 01080000 LTORG , 01090000 * 01100000 ********************************************************************** 01110000 * 01120000 DS 0D 01130000 CCWSEEK DC X'07',AL3(MBBCCHHR+1),AL1(@CCW#CC),X'00',AL2(6) 01140000 CCWSRCH DC X'31',AL3(MBBCCHHR+3),AL1(@CCW#CC),X'00',AL2(5) 01150000 DC X'08',AL3(CCWSRCH),AL1(@CCW#CC),X'00',AL2(0) 01160000 CCWREAD DC X'06',AL3(INBUF),AL1(@CCW#SLI),X'00',AL2(2048) 01170000 * 01180000 * 01190000 DS XL((((*-BEGIN+16)/16)*16)-(*-BEGIN)) 01200000 CSW DC D'0' 01210000 * 01220000 * +0+1+2+3+4+5+6+7 01230000 * M B B C C H H R 01240000 ********** X'0000000000000001' 01250000 * 01260000 MBBCCHHR DS 0X 01270000 MBB DC X'000000' 01280000 CCHHR DS 0X 01290000 CC DC X'0000' 01300000 HH DC X'0000' 01310000 R DC X'01' 01320000 * 01330000 * 01340000 VTOCADDR DC XL5'00' ADDR OF VTOC FROM VOLUME LABEL RECORD 01350000 * 01360000 * 01370000 ********************************************************************** 01380000 * 01390000 DS 0D 01400000 DONE DC X'0002000000',X'99FACE' 01410000 * 01420000 DUMPRCXT DC F'0' 01430000 * 01440000 SAVEA DS 18F 01450000 * 01460000 DS 0D 01470000 DS XL((((*-BEGIN+256)/256)*256)-(*-BEGIN)) 01480000 INBUF DS XL2048 01490000 * 01500000 @CCW , 01510000 * 01520000 END , 01530000