System information
;ARRIVE HERE AT END OF LOAD, HALT FOR LACK OF ANYTHING
;BETTER
011F FB EI
0120 76 HLT
; PUTSYS PROGRAM, PLACES MEMORY IMAGE
; STARTING AT
; 3880H + BIAS BACK TO TRACKS 0 AND 1
; START THIS PROGRAM AT THE NEXT PAGE BOUNDARY
0200 ORG ($+0100H) AND 0FF00H
PUT$SYS:
0200 318033 LXI SP,CCP-0080H ;CONVENIENT PLACE
0203 218033 LXI H,CCP-0080H ;START OF DUMP
0206 0600 MVI B,0 ;START WITH TRACK
WR$TRK:
0208 0605 MVI B,L ;START WITH SECTOR
WR$SEC:
020A CD0004 CALL WRITE$SEC ;WRITE ONE SECTOR
020D 118000 LXI D,128 ;LENGTH OF EACH
0210 19 DAD D ;<HL>=<HL> + 128
0211 0C INR C ; <C>=<C> + 1
0212 79 MOV A,C ;SEE IF
0213 FE1B CPI 27 ;PAST END OF TRACK
0215 DA0A02 JC WR$SEC ;NO, DO ANOTHER
;ARRIVE HERE AT END OF TRACK, MOVE TO NEXT TRACK
0218 04 INR B ;TRACK = TRACK+1
0219 78 MOV A,B ;SEE IF
021A FE02 CPI 2 ;LAST TRACK
021C DA0802 JC WR$TRK ;NO, DO ANOTHER
; DONE WITH PUTSYS, HALT FOR LACK OF ANYTHING
; BETTER
021F FB EI
0220 76 HLT
;USER SUPPLIED SUBROUTINES FOR SECTOR READ AND WRITE
; MOVE TO NEXT PAGE BOUNDARY
0300 ORG ($+0100H) AND 0FF00H
Appendix C : A Skeletal GETSYS/PUTSYS Program CP/M Operating System Manual
C-2