System information
 0197 F1  POP PSW
 0198 CD7D01  CALL PNIB
 019B C9  RET
 ;
 ERR: ;PRINT ERROR MESSAGE
 ; D,E ADDRESSES MESSAGE ENDING WITH "$"
 019C 0E09  MVI C,PRINTF ;PRINT BUFFER FUNCTION
 019E CD0500  CALL BDOS
 01A1 C9 RET
 ;
 ;
 GNB: ;GET NEXT BYTE
 01A2 3A1302  LDA IBP
 01A5 FE80  CPI 80H
 01A7 C2B301  JNZ G0
 ; READ ANOTHER BUFFER
 ;
 ;
 01AA CDCE01  CALL DISKR
 01AD B7  ORA A ;ZERO VALUE IF READ OK
 01AE CAB301  JZ G0 ;FOR ANOTHER BYTE
 ; END OF DATA, RETURN WITH CARRY SET FOR EOF
 01B1 37  STC
 01B2 C9  RET
 ;
 G0: ;READ THE BYTE AT BUFF+REG A
 01B3 5F  MOV E,A ;LS BYTE OF BUFFER INDEX
 01B4 1600  MVI D,0 ;DOUBLE PRECISION INDEX TO DE
 01B6 3C  INR A ;INDEX=INDEX+1
 01B7 321302  STA IBP ;BACK TO MEMORY
 ; POINTER IS INCREMENTED
 ; SAVE THE CURRENT FILE ADDRESS
 01BA 218000  LXI H,BUFF
 01BD 19  DAD D
 ; ABSOLUTE CHARACTER ADDRESS IS IN HL
 01BE 7E MOV A,M
 ; BYTE IS IN THE ACCUMULATOR
 01BF B7  ORA A ;RESET CARRY BIT
 01C0 C9  RET
 ;
5.4 A Sample File Dump Utility CP/M Operating System Manual
5-44










