.TITLE RKALIGN .IDENT /MRHV01/ .SBTTL INTRO PAGE .LIST MEB ; ;THIS PROGRAM IS DESIGNED TO DO SEEKS TO RK ALIGNMENT CYLINDER ;DEFINE SOME NEEDED VARIABLES ; READSZ=1000 ;READ ONE BLOCK BLOCKH=0 BLOCKL=85.*12.*2 ;BLOCK # OF FIRST BLOCK ON CYL 85. BLOCKX=BLOCKL+12. ;BLOCK # OF FIRST BLOCK FOR HEAD 1 ; ; .MCALL QIOW$,DIR$,EXIT$S,GMCR$ .PAGE .SBTTL THE CODE ; ;FIRST SET THINGS UP ; START: DIR$ #GETMCR ;SO WE RECALL THE CALLER MOVB GETMCR+G.MCRB+4,R1 ;GET CHARACTER CMPB R1,#'1 ;DOES HE WANT HEAD #1 BNE REGO ;NO MOV #BLOCKX,REAQIO+Q.IOPL+10 ;START AT ALIGNMENT BLOCK FOR HEAD 1 BR REGO1 REGO: MOV #BLOCKL,REAQIO+Q.IOPL+10 ;START AT ALIGNMENT BLOCK REGO1: MOV #0,REAQIO+Q.IOPL+6 REGO2: DIR$ #REAQIO ;DO DISK READ BR REGO2 ;AND DO IT AGAIN ; .PAGE .SBTTL DATA AREAS ; ; ;NOW THE DISK READ QIO ; REAQIO: QIOW$ IO.RLB,2,1,,IOSB,, ; IOSB: .WORD 0,0 ;RETURNED STATUS ; GETMCR: GMCR$ ;GET MCR DPB ; ;MISC VARIABLES ; READBF: .BLKB READSZ ;BUFFER FOR READING 1. BLOCK .END START