mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
Upload
Digital Research
This commit is contained in:
46
CONTRIBUTIONS/cpm-handbook/cpmsrc/FIG5-14.ASM
Normal file
46
CONTRIBUTIONS/cpm-handbook/cpmsrc/FIG5-14.ASM
Normal file
@@ -0,0 +1,46 @@
|
||||
; Figure 5-14
|
||||
;
|
||||
; CCPM
|
||||
; Check if CP/M
|
||||
; This subroutine determines the version number of the
|
||||
; Operating System and, if not CP/M version 2, displays
|
||||
; an error message and executes a warm boot.
|
||||
;
|
||||
; Entry and Exit Parameters
|
||||
;
|
||||
; None
|
||||
;
|
||||
; Calling sequence
|
||||
;
|
||||
; CALL CCPM ;Warm boots if not CP/M 2
|
||||
;
|
||||
B$PRINTS EQU 9 ;Display $-terminated string
|
||||
B$GETVER EQU 12 ;Get version number
|
||||
BDOS EQU 5 ;BDOS Entry Point
|
||||
;
|
||||
CR EQU 0DH ;Carriage Return
|
||||
LF EQU 0AH ;Line Feed
|
||||
;
|
||||
CCPMM: DB CR,LF
|
||||
DB 'This program can only run under CP/M version 2.'
|
||||
DB CR,LF,'$'
|
||||
;
|
||||
;
|
||||
CCPM:
|
||||
MVI C,B$GETVER ;Get version number
|
||||
CALL BDOS
|
||||
MOV A,H ;H must be 0 for CP/M
|
||||
ORA A
|
||||
JNZ CCPME ;Must be MP/M
|
||||
MOV A,L ;L = version number of CP/M
|
||||
ANI 0F0H ;Version number in MS Nibble
|
||||
CPI 20H ;Check if version 2
|
||||
JNZ CCPME ;Must be an earlier version
|
||||
RET ;Yes, we under CP/M version 2
|
||||
;
|
||||
CCPME: ;Error
|
||||
MVI C,B$PRINTS ;Display error message
|
||||
LXI D,CCPMM
|
||||
CALL BDOS
|
||||
JMP 0 ;Warm Boot
|
||||
|
||||
Reference in New Issue
Block a user