IBM XT 5160 Technical Reference page 315

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

SOURCE
(BIOS FOR THE IBM PERSONAL COMPUTER XT)
11/08/82
NON-MASKABLE I NTERRUPT ROUT I NE:
THIS ROUTINE WILL PRINT A PARITY CHECK
1 OR 2 MESSAGE:
AND ATTEMPT TO F I NO THE STORAGE LOCAT I ON CONTA I N I NG THE
BAD PAR I TY •
I F FOUND, THE SEGMENT ADDRESS WILL BE
PR I NTED •
I F NO PAR I TY ERROR CAN BE FOUND (I NTERM I TT ANT
READ PROBLEM l
????? <-W I LL BE PR I NTED WHERE THE ADDRESS
WOULD NORMALLY GO.
IF ADDRESS
IN ERROR
IS IN THE
1/0
EXPANSION BOX, THE
ADDRESS WILL BE FOLLOWED BY A 'tE)',
IF IN SYSTEM UNIT,
A ' t S)' WILL FOLLOW THE ADDRESS
-----------------------------------------------------------------
NM I
I NT PROC
NEAR
-
ASSUME
DS:DATA
PUSH
AX
SAVE OR I G CONTENTS OF AX
IN
AL,PORT C
TEST
AL, OCOH-
PAR I TY CHECK?
JNZ
NMI
1
JMP
014-
NO, EXIT FROM ROUTINE
013:
MOV
MOV
MOV
TEST
JNZ
MOV
MOV
MOV
INT
CALL
DX,DATA
DS,DX
S I ,OFFSET 01
AL,40H
013
S I ,OFFSET 02
AH,O
AL,CRT MODE
10H
-
P_MSG
ADDR OF ERROR MSG
1/0
PAR I TY CHECK
01 SPLA Y ERROR MSG
MUST BE PLANAR
I NIT AND SET MODE FOR V IDEO
CALL V IDEO 10 PROCEDURE
PR I NT ERROR MSG
SEE IF LOCAT I ON THAT CAUSED PAR I TY CHECK CAN BE FOUND
MOV
AL,OOH
OUT
OAOH, AL
IN
AL,PORT B
OR
AL,00110000B
OUT
PORT_B,AL
AND
AL,1 1001 1 1 1B
OUT
PORT_B,AL
MOV
BX,MEMORY SIZE
CLD
SUB
DX,DX
NMI
-
LOOP:
MOV
DS,DX
MOV
ES,DX
MOV
CX,4000H
SUB
S I, S I
REP
LODSB
IN
AL,PORT_C
AND
AL,1 1000000B
JNZ
PRT NMI
ADD
DX,0400H
SUB
BX,16D
JNZ
NMI LOOP
MOV
S I ,(OFFSET D2A
l
CALL
P_MSG
CLI
HLT
PRT_NMI:
MOV
DX,DS
CALL
PRT SEG
MOV
DX,0213H
MOV
AL,OO
OUT
DX,AL
MOV
AL,' ('
CALL
PRT HEX
MOV
AX,OA55AH
MOV
CX,AX
SUB
BX,BX
MOV
[BX] ,AX
NOP
NOP
MOV
AX, [BX]
CMP
AX,CX
JE
SYS BOX ERR
MOV
AL,TE' -
CALL
PRT HEX
JMP
SHORT HLT _NM I
SYS_BOX_ERR:
MOV
AL, 'S'
CALL
PRT_HEX
HLT_NMI:
MOV
AL,') ,
CALL
PRT_HEX
CLI
HLT
014:
POP
AX
IRET
NMI
-
INT ENDP
o
I SABLE TRAP
TOGGLE PAR I TY CHECK ENABLES
GET MEMORY SIZE WORD
SET 0 I R FLAG TO
I NCR I MENT
POINT OX AT START OF MEM
SET FOR
16KB SCAN
SET S I TO BE REAL TI VE TO
START OF ES
READ 16KB OF MEMORY
SEE
I F PAR I TY CHECK HAPPENED
GO PRINT ADDRESS
IF IT DID
PO I NT TO NEXT 16K BLOCK
PRINT ROW OF
77777
IF PARITY
CHECK COULD NOT'
BE:
RE-CREATED
HAL T SYSTEM
PR I NT SEGMENT VALUE
; 0 I SABLE EXPANS I ON BOX
;
( CAN'T WR I TE TO MEM
l
WR I TE A WORD TO SEGMENT THA T
HAD THE ERROR
I S IT THERE?
YES- MUST BE SYS UN IT
NO-MUST BE
IN EXP. BOX
HALT SYSTEM
RESTORE OR I G CONTENTS OF AX
ROS CHECKSUM SUBROUT I NE
.----------------------------------------
ROS CHECKSUM
PROC
NEAR
-
MOV
CX, 8192
ROS CHECKSUM CNT:
-
XOR -
AL,AL
C26:
NEXT ROS MODULE
NUMBER OF BYTES TO ADD
ENTRY FOR OPT I ONAL ROS TEST
ADD
INC
LOOP
OR
RET
ROS _ CHECK SUM
AL,DS:[BX]
BX
C26
AL,AL
ENDP
PO I NT TO NEXT BYTE
ADD ALL BYTES
IN ROS MODULE
SUM
=
O?
5-168
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents