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










