User`s guide
; add-in next digit
025D F5 push  psw
025E 79 mov  a,c  ;value in ahl
025F 29 dad  h
0260 8F adc  a  +;i*2
0261 F5 push  a  +;isave value * 2
0262 E5 push  h
0263 29 dad  h  ;*4
0264 8F adc  a
0265 29 dad  h  ;*8
0266 8F adc  a
0267 C1 pop b  +;i*2 + *8 = *10
0268 09 dad  b
0269 C1 pop b
026a 88 adc  b
026b C1 pop b  +;i+digit
026C 48 mov  c,b
026D 0600 mvi  b,0
026F 09 dad  b
0270 CE00 aci 0
0272 4F mov  c,a
0273 D25202 jnc  readc
0276 C33C02 jmp  readcom
endrd :
; end of read , restore value in a
0279 C630 adi  '0'  ;command
027b FEGI cpi  ' a '  ;itranslate case?
027D DB rc
; lower case , mask lower case bits
027E E65F ani  101$1lllb
0280 C9 ret  ;return with value in chl
;************************************
;* *
;* string data area for console messages *
;* *
;************************************
badver:
0281 736F727279 db ' Sorry, you need cP/m version 3$'
nospace :
02a0 6E6F206469 db 'n0 directory space$'
datmsg :
02b3 7479706520 db 'type data: $'
errmsg :
02bF 6572726F72 db ' error, try again,$'
4.3 A Sample Random Access Program CP/M 3 Programmer's Guide










