System information
Sample Random Access Program for CP/M 2.0
0100 org 100h ; base of tpa
;
0000 = reboot equ 0000h ; system reboot
0005 = bdos equ 0005h ; bdos entry point
;
0001 = coninp equ 1 ; console input function
0002 = conout equ 2 ; console output function
0009 = pstring equ 9 ; print string function
000A = rstring equ 10 ; read console buffer
000C = version equ 12 ; retrun version nmber
000F = openf equ 15 ; file open function
0010 = closef equ 16 ; close function
0016 = makef equ 22 ; make file function
0021 = readr equ 33 ; read random
0022 = writer equ 34 ; write random
;
005C = fcb equ 005ch ; default file control block
007D = ranrec equ fcb+33 ; random record position
007F = ranovf equ fcb+35 ; high order (overflow)
; byte
0080 = buff equ 0080h ; buffer address
;
000D = cr equ 0dh ; carriage return
000A = lf equ 0ah ; line feed
;
; load sp, set-up file for random access
;
0100 31B702 lxi sp,stack
;
; version 2.0
0103 0E0C mvi c,version
0105 CD0500 call bdos
0108 FE20 cpi 20h ; version 2.0 or better?
010A D21601 jnc versok
; bad version, message and go back
5.5 A Sample Random Access Program CP/M Operating System Manual
5-47