System information

inr c ;track=track+1
;
; save register state, and change tracks
push b
push d
push h
call settrk ;track address set from register c
pop h
pop d
pop b
jmp load1 ;for another sector
;
; end of load operation, set parameters and go to cp/m
gocpm:
mvi a, 0c3h ;c3 is a jmp instruction
sta 0 ;for jmp to wboot
lxi h, wboote ;wboot entry point
shld 1 ;set address field for jmp at 0
;
sta 5 ;for jmp to bdos
lxi h, bdos ;bdos entry point
shld 6 ;address field of Jump at 5 to bdos
;
lxi b, 80h ;default dma address is 80h
call setdma
;
ei ;enable the interrupt system
lda cdisk ;get current disk number
mov c, a ;send to the ccp
jmp ccp ;go to cp/m for further processing
;
;
; simple i/o handlers (must be filled in by user)
; in each case, the entry point is provided, with space reserved
; to insert your own code
;
const: ;console status, return 0ffh if character ready, 00h if not
ds 10h ;space for status subroutine
mvi a, 00h
ret
;
conin: ;console character into register a
ds 10h ;space for input routine
ani 7fh ;strip parity bit
ret
Appendix B : A Sekletal CBIOS CP/M Operating System Manual
B-4