System information
;ADDRESS
LSECT: ;LOAD THE NEXT SECTOR
; INSERT INLINE CODE AT THIS POINT TO
; READ ONE 128 BYTE SECTOR FROM THE
; TRACK GIVEN IN REGISTER B, SECTOR
; GIVEN IN REGISTER C,
; INTO THE ADDRESS GIVEN BY <HL>
;BRANCH TO LOCATION "COLD" IF A READ ERROR OCCURS
;
;
;
;
; USER SUPPLIED READ OPERATION GOES
; HERE...
;
;
;
;
0008 C36B00 JMP PAST$PATCH ;REMOVE THIS
;WHEN PATCHED
000B DS 60H
PAST$PATCH:
;GO TO NEXT SECTOR IF LOAD IS INCOMPLETE
006B 15 DCR D ;SECTS=SECTS-1
006C CA004A JZ BOOT ;HEAD. FOR THE BIOS
; MORE SECTORS TO LOAD
;
;WE AREN'T USING A STACK, SO USE <SP> AS SCRATCH
;REGISTER
; TO HOLD THE LOAD ADDRESS INCREMENT
006F 318000 LXI SP,128 ;128 BYTES PER
;SECTOR
0072 39 DAD SP ;<HL> = <HL> + 128
0073 0C INR C ;SECTOR=SECTOR + 1
0074 79 MOV A,C
0075 FE1B CPI 27 ;LAST SECTOR OF
;TRACK?
0077 DA0800 JC LSECT ;NO, GO READ
;ANOTHER
;END OF TRACK, INCREMENT TO NEXT TRACK
Appendix E : A Skeletal Cold Start Loader CP/M Operating System Manual
E-2