.TITLE RKOS2CYL .IDENT /MRHV01/ .SBTTL INTRO PAGE .LIST MEB ; ;THIS PROGRAM IS DESIGNED TO DO 2 CYLINDER SEEKS ON AN RK DISK ; ; ;DEFINE SOME NEEDED VARIABLES ; READSZ=1000 ;READ ONE BLOCK BLOCKH=48. ;HIGH BLOCK FOR 2 CYLINDER SEEK BLOCKL=0 ;LOW BLOCK ; ; .MCALL QIOW$,DIR$,EXIT$S,GMCR$ .PAGE .SBTTL THE CODE ; ;FIRST SET THINGS UP ; START: DIR$ #GETMCR ;SO WE RECALL THE CALLER REGO: MOV #BLOCKL,R4 ;SET UP TO SEEK TO CYL 0 JSR PC,SEEK ;GO DOIT MOV #BLOCKH,R4 ;SET UP TO SEEK TO CYL 100 JSR PC,SEEK ;DO DAT UN BR REGO ;KEEP DOING THAT AD NAUSEUM ; SEEK: MOV R4,REAQIO+Q.IOPL+10 ;FILL IN BLOCK NUMBER IN IO REQUEST MOV #0,REAQIO+Q.IOPL+6 DIR$ #REAQIO ;DO DISK READ RTS PC ; .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: ;END OF CODE POINTER .END START