mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
Upload
Digital Research
This commit is contained in:
450
CP-NET/CPNET-86 SOURCE/CPNETSTS.A86
Normal file
450
CP-NET/CPNET-86 SOURCE/CPNETSTS.A86
Normal file
@@ -0,0 +1,450 @@
|
||||
|
||||
; C P N E T S T S - FOR CP/NET-86
|
||||
;--------------------------------------------
|
||||
; CP/NET NETWORK STATUS DISPLAY PROGRAM
|
||||
;
|
||||
TITLE 'NETWORK STATUS DISPLAY FOR CP/NET-86'
|
||||
;
|
||||
; AUG-31-1983 BASE
|
||||
;
|
||||
; EQUATION OF FIXED ADDRESS
|
||||
;
|
||||
BDOS EQU 224 ;BDOS ENTRY POINT
|
||||
;
|
||||
; EQUATION OF BDOS FUNCTION CODE
|
||||
;
|
||||
FGETV EQU 12 ;GET VERSION NUMBER
|
||||
FGETNS EQU 68 ;GET NETWORK STATUS
|
||||
FGETCT EQU 69 ;GET CONFIGURATION TABLE ADDRESS
|
||||
;
|
||||
; EQUATION OF OTHER DATA
|
||||
;
|
||||
M EQU BYTE PTR 0[BX]
|
||||
LF EQU 0AH ;LINE FEED CODE
|
||||
CR EQU 0DH ;CARRIAGE RETURN CODE
|
||||
ETX EQU '$' ;TERMINATION CHARACTER
|
||||
;
|
||||
; PROGRAM START
|
||||
;
|
||||
ORG 100H
|
||||
;
|
||||
JMP START
|
||||
L_1 EQU $
|
||||
DSEG
|
||||
ORG OFFSET L_1
|
||||
;
|
||||
; DISPLAY MESSAGE AREA
|
||||
;
|
||||
MSG1 RS 0
|
||||
DB CR,LF,'CP/NET-86 1.0 Status'
|
||||
DB CR,LF,'===================='
|
||||
DB CR,LF,ETX
|
||||
MSG2 RS 0
|
||||
DB 'Requester ID = '
|
||||
DB ETX
|
||||
MSG3 RS 0
|
||||
DB CR,LF,'Network Status Byte = '
|
||||
DB ETX
|
||||
MSG4 RS 0
|
||||
DB CR,LF,'Disk device status:'
|
||||
DB CR,LF,ETX
|
||||
MSG5 RS 0
|
||||
DB ' Drive '
|
||||
DB ETX
|
||||
MSG6 RS 0
|
||||
DB ' = Drive '
|
||||
DB ETX
|
||||
MSG7 RS 0
|
||||
DB ' on Network Server ID = '
|
||||
DB ETX
|
||||
MSG8 RS 0
|
||||
DB ' = LOCAL'
|
||||
DB ETX
|
||||
MSG9 RS 0
|
||||
DB 'Console Device = '
|
||||
DB ETX
|
||||
MSG10 RS 0
|
||||
DB 'Console #'
|
||||
DB ETX
|
||||
MSG11 RS 0
|
||||
DB ' on Network Server ID = '
|
||||
DB ETX
|
||||
MSG12 RS 0
|
||||
DB 'LOCAL'
|
||||
DB ETX
|
||||
MSG13 RS 0
|
||||
DB 'List Device = '
|
||||
DB ETX
|
||||
MSG14 RS 0
|
||||
DB 'List #'
|
||||
DB ETX
|
||||
MSG15 RS 0
|
||||
DB ' on Network Server ID = '
|
||||
DB ETX
|
||||
MSG16 RS 0
|
||||
DB 'LOCAL'
|
||||
DB ETX
|
||||
MSG17 RS 0
|
||||
DB CR,LF,'CP/NET-86 has not been loaded.'
|
||||
DB ETX
|
||||
L_2 EQU $
|
||||
CSEG
|
||||
ORG OFFSET L_2
|
||||
;
|
||||
; START OF PROGRAM
|
||||
;
|
||||
START:
|
||||
MOV BX,0
|
||||
LAHF
|
||||
ADD BX,SP
|
||||
RCR SI,1
|
||||
SAHF
|
||||
RCL SI,1
|
||||
MOV Word Ptr OLDSP,BX ;SAVE SYSTEM STACK
|
||||
MOV SP,(OFFSET NEWSP)
|
||||
CALL GETVER ;GET CP/M VERSION NUBMER
|
||||
MOV DX,0200H
|
||||
CALL ANDHD
|
||||
MOV AL,0
|
||||
CALL SUBHD
|
||||
OR AL,BL ;CHECK CP/NET LOADED
|
||||
JNZ L_3
|
||||
JMP NOTNET ;CP/NET UNLOADED
|
||||
L_3:
|
||||
MOV CX,(OFFSET MSG1) ;TITLE DISPLAY
|
||||
CALL MSGOUT
|
||||
CALL GETCTA ;GET CONFIGURATION TABLE ADDRESS
|
||||
MOV WORD PTR CTBADR,BX ;SAVE TABLE ADDRESS
|
||||
MOV CX,(OFFSET MSG2) ;'REQUESTER ID = '
|
||||
CALL MSGOUT
|
||||
MOV BX,WORD PTR CTBADR ;GET CONFIG TABLE ADDRESS
|
||||
LAHF
|
||||
INC BX
|
||||
SAHF
|
||||
MOV CL,ES:M ;GET REQUESTER ID CODE
|
||||
CALL DSPBCD ;DISPLAY ID NUMBER
|
||||
MOV CX,(OFFSET MSG3) ;'NETWORK STATUS BYTE = '
|
||||
CALL MSGOUT
|
||||
CALL GETNST ;GET NETWORK STATUS
|
||||
MOV CL,AL
|
||||
CALL DSPBCD ;DISPLAY NETWORK STATUS BYTE
|
||||
MOV CX,(OFFSET MSG4) ;'DISK DEVICE STATUS: '
|
||||
CALL MSGOUT
|
||||
MOV BX,(OFFSET DEVCNT)
|
||||
MOV M,0
|
||||
;
|
||||
DRVDSP:
|
||||
MOV AL,15
|
||||
MOV BX,(OFFSET DEVCNT) ;SET DEVICE COUNT
|
||||
CMP AL,M
|
||||
JNB L_4
|
||||
JMP CONDSP ;CONSOLE DEVICE DISPLAY
|
||||
L_4:
|
||||
MOV CX,(OFFSET MSG5) ;'DRIVE '
|
||||
CALL MSGOUT
|
||||
MOV AL,BYTE PTR DEVCNT ;GET DEVICE COUNT
|
||||
ADD AL,'A' ;ADJUST TO A-P
|
||||
MOV CL,AL
|
||||
CALL CONOUT ;DISPLAY DRIVE NUMBER
|
||||
MOV CL,':'
|
||||
CALL CONOUT ;DISPLAY ':'
|
||||
MOV BX,WORD PTR DEVCNT
|
||||
MOV BH,0
|
||||
MOV CX,2
|
||||
SHL BX,1
|
||||
ADD BX,CX
|
||||
XCHG BX,DX
|
||||
MOV BX,WORD PTR CTBADR ;GET CONFIG TABLE ADDRESS
|
||||
ADD BX,DX
|
||||
MOV BL,ES:M
|
||||
MOV AL,BL
|
||||
MOV BYTE PTR WCDFLG,AL
|
||||
AND AL,80H
|
||||
CMP AL,0
|
||||
JZ DLOCAL ;DISPLAY 'LOCAL'
|
||||
MOV CX,(OFFSET MSG6) ;' = DRIVE '
|
||||
CALL MSGOUT
|
||||
MOV AL,BYTE PTR WCDFLG
|
||||
AND AL,0FH
|
||||
ADD AL,'A'
|
||||
MOV CL,AL
|
||||
CALL CONOUT ;DISPLAY DRIVE NUMBER
|
||||
MOV CL,':'
|
||||
CALL CONOUT ;DISPLAY ':'
|
||||
MOV CX,(OFFSET MSG7) ;' ON NETWORK SERVER ID = '
|
||||
CALL MSGOUT
|
||||
MOV BX,WORD PTR DEVCNT
|
||||
MOV BH,0
|
||||
MOV CX,2
|
||||
SHL BX,1
|
||||
LAHF
|
||||
ADD BX,CX
|
||||
SAHF
|
||||
XCHG BX,DX
|
||||
MOV BX,WORD PTR CTBADR ;GET CONFIG TABLE ADDRESS
|
||||
LAHF
|
||||
ADD BX,DX
|
||||
RCR SI,1
|
||||
SAHF
|
||||
RCL SI,1
|
||||
LAHF
|
||||
INC BX
|
||||
SAHF
|
||||
MOV AL,ES:M
|
||||
MOV CL,AL
|
||||
CALL DSPBCD
|
||||
JMPS DSKEND
|
||||
;
|
||||
; DISPLAY 'LOCAL' FOR DISK DRIVE
|
||||
;
|
||||
DLOCAL:
|
||||
MOV CX,(OFFSET MSG8) ;' = LOCAL'
|
||||
CALL MSGOUT
|
||||
DSKEND:
|
||||
CALL CRLF ;CR,LF
|
||||
MOV BX,(OFFSET DEVCNT)
|
||||
INC M
|
||||
JZ L_5
|
||||
JMP DRVDSP
|
||||
L_5:
|
||||
;
|
||||
CONDSP:
|
||||
MOV CX,(OFFSET MSG9) ;'CONSOLE DEVICE = '
|
||||
CALL MSGOUT
|
||||
MOV CX,34
|
||||
MOV BX,WORD PTR CTBADR ;GET CONFIG TABLE ADDRESS
|
||||
ADD BX,CX
|
||||
MOV BL,ES:M ;GET CONSOLE DEVICE CONDITION FLAG
|
||||
MOV AL,BL
|
||||
MOV BYTE PTR WCDFLG,AL ;STORE CONDITION BYTE
|
||||
AND AL,80H ;MSB CHECK
|
||||
CMP AL,0
|
||||
JZ CLOCAL ;DISPLAY 'LOCAL'
|
||||
MOV CX,(OFFSET MSG10) ;'CONSOLE #'
|
||||
CALL MSGOUT
|
||||
MOV AL,BYTE PTR WCDFLG ;GET CONDITION BYTE
|
||||
AND AL,0FH ;CLEAR UPPER NIBBLE
|
||||
MOV CL,AL
|
||||
CALL HEXDSP
|
||||
MOV CX,(OFFSET MSG11) ;'ON NETWORK SERVER ID = '
|
||||
CALL MSGOUT
|
||||
MOV CX,34
|
||||
MOV BX,WORD PTR CTBADR ;GET COFING TABLE ADDRESS
|
||||
LAHF
|
||||
ADD BX,CX
|
||||
RCR SI,1
|
||||
SAHF
|
||||
RCL SI,1
|
||||
LAHF
|
||||
INC BX
|
||||
SAHF
|
||||
MOV AL,ES:M ;GET CONSOLE DEVICE (SERVER ID)
|
||||
MOV CL,AL
|
||||
CALL DSPBCD
|
||||
JMPS LSTDSP ;LIST DEVICE DISPLAY
|
||||
;
|
||||
CLOCAL:
|
||||
MOV CX,(OFFSET MSG12) ;'LOCAL'
|
||||
CALL MSGOUT
|
||||
;
|
||||
LSTDSP:
|
||||
CALL CRLF
|
||||
MOV CX,(OFFSET MSG13) ;'LIST DEVICE = '
|
||||
CALL MSGOUT
|
||||
MOV CX,36
|
||||
MOV BX,WORD PTR CTBADR ;GET COFIG TABLE ADDRESS
|
||||
ADD BX,CX
|
||||
MOV BL,ES:M ;GET LIST DEVICE CONDITION FLAG
|
||||
MOV AL,BL
|
||||
MOV BYTE PTR WCDFLG,AL
|
||||
AND AL,80H ;MSB CHECK
|
||||
CMP AL,0
|
||||
JZ LLOCAL ;DISPLAY 'LOCAL'
|
||||
MOV CX,(OFFSET MSG14) ;'LIST # '
|
||||
CALL MSGOUT
|
||||
MOV AL,BYTE PTR WCDFLG
|
||||
AND AL,0FH
|
||||
MOV CL,AL
|
||||
CALL HEXDSP
|
||||
MOV CX,(OFFSET MSG15) ;' ON NETWORK SERVER ID = '
|
||||
CALL MSGOUT
|
||||
MOV CX,36
|
||||
MOV BX,WORD PTR CTBADR ;GET CONFIG TABLE ADDRESS
|
||||
LAHF
|
||||
ADD BX,CX
|
||||
RCR SI,1
|
||||
SAHF
|
||||
RCL SI,1
|
||||
LAHF
|
||||
INC BX
|
||||
SAHF
|
||||
MOV AL,ES:M ;GET LIST DEVICE
|
||||
MOV CL,AL
|
||||
CALL DSPBCD ;DISPLAY LIST DEVICE NUMBER (SERVER ID)
|
||||
JMPS ENDSTS
|
||||
;
|
||||
LLOCAL:
|
||||
MOV CX,(OFFSET MSG16) ;'LOCAL'
|
||||
CALL MSGOUT
|
||||
JMPS ENDSTS
|
||||
;
|
||||
; PROGRAM ABORT FOR CP/NET UNLOADED
|
||||
;
|
||||
NOTNET:
|
||||
MOV CX,(OFFSET MSG17) ;'CP/NET 1.2 HAS NOT BEEN LOADED.'
|
||||
CALL MSGOUT
|
||||
;
|
||||
; RETURN TO SYSTEM
|
||||
;
|
||||
ENDSTS: ;END OF CPNETSTS
|
||||
CALL RETSYS ;RETURN TO SYSTEM
|
||||
STI
|
||||
HLT ;ERROR STOP
|
||||
;
|
||||
; SET SYSTEM STACK
|
||||
;
|
||||
RETSYS:
|
||||
MOV BX,WORD PTR OLDSP ;GET SYSTEM STACK
|
||||
MOV SP,BX
|
||||
IRET ;RETURN TO SYSTEM
|
||||
;
|
||||
; CONSOLE OUT
|
||||
;
|
||||
CONOUT:
|
||||
MOV DL,CL
|
||||
MOV CL,2
|
||||
INT BDOS
|
||||
RET
|
||||
;
|
||||
; MESSAGE STRING OUT
|
||||
; INPUT
|
||||
; BC:TEXT ADDRESS
|
||||
;
|
||||
MSGOUT:
|
||||
MOV DH,CH ;SET MESSAGE TEXT ADDRESS
|
||||
MOV DL,CL
|
||||
MOV CL,9
|
||||
INT BDOS
|
||||
RET
|
||||
;
|
||||
; GET CP/M VERSION NUMBER
|
||||
; OUTPUT
|
||||
; H:CP/M OR MP/M
|
||||
; L:VERSION NUMBER
|
||||
;
|
||||
GETVER:
|
||||
MOV DX,0
|
||||
MOV CL,FGETV
|
||||
INT BDOS
|
||||
RET
|
||||
;
|
||||
; GET NETWORK STATUS
|
||||
; OUTPUT
|
||||
; A:NET WORK STATUS BYTE
|
||||
;
|
||||
GETNST:
|
||||
MOV DX,0
|
||||
MOV CL,FGETNS
|
||||
INT BDOS
|
||||
RET
|
||||
;
|
||||
; GET REQUESTER CONFIGURATION TABLE ADDRESS
|
||||
; OUTPUT
|
||||
; HL:TABLE ADDRESS
|
||||
;
|
||||
GETCTA:
|
||||
MOV DX,0
|
||||
MOV CL,FGETCT
|
||||
INT BDOS
|
||||
RET
|
||||
;
|
||||
; PUT CR,LF TO CONSOLE
|
||||
;
|
||||
CRLF:
|
||||
MOV CL,CR ;SET CR CODE
|
||||
CALL CONOUT
|
||||
MOV CL,LF ;SET LF CODE
|
||||
CALL CONOUT
|
||||
RET
|
||||
;
|
||||
; DISPLAY HEXA DECIMAL
|
||||
;
|
||||
HEXDSP:
|
||||
MOV BX,(OFFSET WHEXVA)
|
||||
MOV M,CL
|
||||
MOV AL,9
|
||||
MOV BX,(OFFSET WHEXVA)
|
||||
CMP AL,M
|
||||
JNB HEXOVR
|
||||
MOV AL,BYTE PTR WHEXVA
|
||||
ADD AL,'A' ;ADJUST TO ASCII CODE
|
||||
SUB AL,10
|
||||
MOV CL,AL
|
||||
CALL CONOUT
|
||||
RET
|
||||
;
|
||||
HEXOVR:
|
||||
MOV AL,BYTE PTR WHEXVA
|
||||
ADD AL,'0' ;ADJUST TO ASCII CODE
|
||||
MOV CL,AL
|
||||
CALL CONOUT
|
||||
RET
|
||||
;
|
||||
; DISPLAY BCD VALUE
|
||||
;
|
||||
DSPBCD:
|
||||
MOV BX,(OFFSET WACONV)
|
||||
MOV M,CL
|
||||
MOV AL,BYTE PTR WACONV
|
||||
AND AL,0F8H
|
||||
RCR AL,1
|
||||
RCR AL,1
|
||||
RCR AL,1
|
||||
RCR AL,1
|
||||
MOV CL,AL
|
||||
CALL HEXDSP
|
||||
MOV AL,BYTE PTR WACONV
|
||||
AND AL,00FH
|
||||
MOV CL,AL
|
||||
CALL HEXDSP
|
||||
MOV CL,48H
|
||||
CALL CONOUT
|
||||
RET
|
||||
;
|
||||
ANDHD:
|
||||
MOV AL,DL
|
||||
AND AL,BL
|
||||
MOV BL,AL
|
||||
MOV AL,DH
|
||||
AND AL,BH
|
||||
MOV BH,AL
|
||||
RET
|
||||
;
|
||||
SUBHD:
|
||||
MOV DL,AL
|
||||
MOV DH,0
|
||||
MOV AL,DL
|
||||
SUB AL,BL
|
||||
MOV BL,AL
|
||||
MOV AL,DH
|
||||
SBB AL,BH
|
||||
MOV BH,AL
|
||||
RET
|
||||
L_6 EQU $
|
||||
DSEG
|
||||
ORG OFFSET L_6
|
||||
;
|
||||
; WORKING STRAGE AREA
|
||||
;
|
||||
RS 40 ;LOCAL STACK AREA
|
||||
NEWSP RS 0 ;LOCAL STACK POINT
|
||||
OLDSP RS 2 ;SYSTEM STACK SAVE
|
||||
OUTCHR RS 1 ;OUTPUT CHARACTER
|
||||
WHEXVA RS 1 ;WORK FOR HEX CONVERT
|
||||
WACONV RS 1 ;FOR ASCII CONVERT
|
||||
DEVCNT RS 1 ;DEVICE COUNTER
|
||||
WCDFLG RS 1 ;CONDITION BYTE SAVE AREA
|
||||
CTBADR RS 2 ;COFIGURATION TABLE ADDRESS SAVE AREA
|
||||
;
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user