PDF Printing 600 Dpi AC 7883F MC_CCMFAF0 MS11_MF11_MA11 P Mem_Feb78 MC CCMFAF0 MS11 MF11 MA11 Mem Feb78

AC-7883F-MC_CCMFAF0-MS11_MF11_MA11-P-Mem_Feb78 AC-7883F-MC_CCMFAF0-MS11_MF11_MA11-P-Mem_Feb78

User Manual: AC-7883F-MC_CCMFAF0-MS11_MF11_MA11-P-Mem_Feb78

Open the PDF directly: View PDF PDF.
Page Count: 42

-' -
.XEROX
COPIES=02,FORMS=NONE,END;
TY
TEST
MACYll
30A(1052)
13-JAN-78
12:27
PAGE
1
CCMFAF.Pl1
13-JAN-78
12:13
.
REM
* .
IDENTIFICATION
PRODUCT
CODE:
AC-7SB3F-MC
PRODUCT
NAME:
CCMFAFo
MS11, MF11, MA11-P
MEM
DATE
RELEASED:
FEB
1978
MAINTAINER:
DIAGNOSTIC
GROUP
COPYRIGHT
(C)
1973,
1978
DIGITAL
EQUIPMENT
CORPORATION,
MAYNARD,
MASS.
THIS
SOFTWARE
IS
FURNISHED
UNDER
A
LICENSE
FOR
USE
ONLY
ON
A
SINGLE
COMPUTER
SYSTEM
AND
MAY
BE
CPPIED
ONLY
WITH
THE
INCLUSION
OF
THE
ABOVE
COPYRIGHT
NOTICE. THIS
SOFTWARE,
OR
ANY
OTHfR
COPIES
THEREOF,
MAY
NOT
BE
PROVIDED
OR
OTHERWISE
MADE
AVAILABLE
TO
ANY
OTHER
PERSON
EXCEPT
FQq
USE
ON
SUCH
SYSTEM
AND
TO
ONE
WHO
AGREES
TO
THESE
LICENSE
TERMS.
TITLE
TO
AND
OWNERSHIP
OF
THE
SOFTWARE
SHALL
AT
ALL
TIMES
RfMAIN
IN
DEC.
THE
INFORMATION
IN
THIS
DOCUMENT
IS
SUBJECT
TO
CHANGE
WITHOUT
NOTICE
AND
SHOULD
NOT
BE
CONSTRUED
AS
A
COMMIT-
MENT
BY
DIGITAL
EQUI~MENT
CORPORTATION.
DEC
ASSUMES
NO
RESPONSIBILITY
FOR
THE
USE
OR
RELIABILITY
OF
ITS
SOFTWARE
ON
EQUIPMENT
WHICH
IS
NOT
SUPPLIED
BY
DEC.
4i§8II
,..$>001(>'
CCMFAFO.
MEMORY
PARI
SEQ
0001
"
..
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN-78
12:27
PAGE
2
CCMFAF.P11
13-JAN-78
12:13
1.0
ABSTRACT
THIS
PROGRAM
LOCATES
THE
PARITY
MEMORY
REGISTERS
FOR
BOTH
THE
CORE
AND
MOS
PARITY
MEMORIES
.AND
PREFOR~S
A
CHECK
OF
THE
BITS
IN
EACH.
IT
THEN
CREATES
A
MAP
SHOWING
THE
MEMORY
CONTROLLED
BY
EACH
PARITY
REGISTER.
THE
PARITY
REGISTERS
AND
THE
MEMORY
ARE
THEN
TESTED
USING
THE
INFORMATION
IN
THE
MAP.
2.0
REQUIREMENTS
2.1
EQUIPMENT
..
PDP-11
WITH
MF11-LP
OR
MA11-P
PARITY
MEMORY
(CORE), MS-11
(MOS)
PARITY
MEMORY
2.2
STORAGE
THE
PROGRAM
REQUIRES
4K
OF
MEMORY
TO
LOAD
AND
8K
TO
RUN.
3.0
LOADING
PROCEDURE
LOAD
PROGRAM
INTO
MEMORY
USING
ABS
LOADER.
OR
XXDP.
4.0
STARTING
PROCEDURE
4.1
STARTING
ADDRESSES
4.2.1
200=
NORMAL
(WORST
CASE)
TESTING
220=
ROUTINE
TO
SCAN
FOR
BAD
PARITY
230=
RESTART
OF
NORMAL
TESTING-
USES
PREVIOUS
MAP
OF
PARITY
MEMORY
PROGRAM
AND/OR
OPERATOR
ACTION
LOAD
STARTING
ADDRESS.
SET
DESIRED
SWITCH
REGISTER
SETTINGS (SEE
5.1-
ALL
DOWN
FOR
WORST
CASE).
PRESS
START.
IF
SA
200
OR
RESTART
ADDRESS
230
IS
USED,
THE
BELL
WILL
RING
AT
THE
COMPLETION
OF
EACH
PASS
AND
END
PASS=
XXX
WILL
BE
TYPED
(WHERE
XXX
IS
THE
NUMBER
OF
PASSES
COMPLETED
SINCE
THE
PROGRAM
WAS
LAST
STARTED).
5.0
OPERATING
PROCEDURE
5.1
OPERATIONAL
SWITCH
SETTINGS
THE
DIAGNOSTIC
IS
DESIGNED
TO
USE
HARDWARE
SWR
FOR
SYSTEMS
HAVING
THIS
REGISTER,
HOWEVER
FO~
SYSTEMS
NOT
HAVING
HARDWARE
SWITCH
REGISTER
IT
WILL
USE
LOCATION
17b
TO
GIVE
THE
FOLLOWING
OPTIONS:
SW
15=1
OR
UP
HA
LT
ON
ERROR
SW
14=1
OR
UP
SCOPE
LOOP
SW
13=1
OR
UP
INHIBIT
PRINTOUT
SW
11=1
OR
UP
INHIBIT
ITERATIONS
SW
10=1
OR
UP
HALT
AFTER
LOCATING
BAD
PARITY
BEFORE
CORRECTING
IT
(USED
IN
PARITY
SCAN
ROUTINE
ONLY)
SW
09=1
OR
UP
--
HALT
AFTER
THE
PARITY
MEMORY
MAP
HAS
SEEN
PRINTE'·
(ALLOWS
MANUAL
CHANGES
TO
FORCE
TESTING
OF
MEMORY
..
SEQ
0002
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN~7B
12:27
PAGE
3
CCMFAF.P11
13-JAN-78
12:13
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
a
THAT
WAS
NOT
LOCATED)
SW
OB=l
OR
UP
--
HALT
AT
END
OF
PASS
(IF
HALTED
ELSEWHERE,
THE
PROGRAM
MAY
BE
RELOCATED
TO
BANK
1,
SAD
PARITY
MAY
EXIST
IN
MEMORY,
AND/OR
WRITE
WRONG
PARITY
MAY
BE
SET)
SUBROUTINE
ABSTRACTS
BEGIN
SA
200,
RESTART
230
SCOPE
THIS
SUBROUTINE
CALL
IS
PLACED
BETWEEN
EACH
SUBTEST
IN
THE
INSTRUCTION
SECTION. IT
RECORDS
THE
STARTING
ADDRESS
OF
EACH
SU3TEST
AS
IT
IS
BEING
ENTERED.
IF A
SCOP~
LOOP
IS
REQUESTED,
IT
WILL
JUMP
TO
"THE
START
OF
THE
SUBTEST
THAT
THE
SCOPE
LOOP
IS
REQUESTED
FOR.
IF
SCOPE
LOOP
IS
NOT
REQUESTED,
THERE
WILL
BE
64
ITERATIONS
OF
THAT
SUBTEST
BEFORE
THE
NEXT
SUBTEST
IS
ENTERED
(EXCEPT
IN
THOSE
ROUTINES
WHERE
IMAX
IS
CHANGED).
SWITCH
11
ON
A
ONE
INHIBITS
ITERATION
OF
SUBTESTS.
ERROR
HANDLERS
(ERRST,ERRP,ERR)
THESE
ROUTINES
ARE
CALLED
VIA
EMTS
TO
PRINT
OUT
ERROR
INFORMATION.
(SEE
6.0
FOR
DESCRIPTION
OF
ERROR
INFORMATION)
PSCAN
(SCAN
MEMORY
FJ~
BAD
PARITY)
THIS
ROUTINE
READS
ALL
LOCATIONS
IN
MEMORY
AND
PRINTS
OUT
THE
PHYSICAL
ADDRESSES
(18
BITS)
OF
THOSE
LOCATIGNS
CONTAINING
BAD
PARITY.
IT
IS
UTILIZED
WITHIN
THE
PROGRAM
WHILE
EXERCISING
MEMORY
IF
A
PARITY
ERROR
OCCURS
UNEXPECTEDLY,
AND
MAY
ALSO
BE
CALLED
USING
STARTING
ADDRESS
220.
$TYPE
(ASCII
MESSAGE
TYPEOUT
ROUTINE)
THIS
IS
THE
STANDARD
TYPEOUT
ROUTINE,
ALLOWING
PATCHING
TO
UTILIZE
OUTPUT
DEVICES
OTHER
THAN
THE
ASR
33.
$~ULL
CONTAINS
THE
VALUE
TC
BE
USED
AS
A FILLER
CiiARACTER,
AND
$FILLS
CONTAINS
A
NUMBER
INDICATING
THE
NUMBER
OF
FILLER
CHARACTERS
REQUIRED.
TPS
AND
TPB
CONTAIN
THE
STATUS
AND
BUFFER
REGISTER
ADDRESSES
OF
THE
OUTPUT
DEVICE.
TRAPCATCHER
THIS
IS
A SERIES
OF
INSTRUCTIONS
STARTING
AT
LOCATION
0
DESIGNED
TO
DETECT
AND
ISOLATE
UNEXPECTED
TRAPS
AND
INTERRUPTS
TO
THE
TRAP
AND
INTERRUPT
VECTOR
AREA
OF
MEMORY.
EACH
VECTOR
ENTRANCE
ADDRESS
IS
LOADED
WITH
THE
ADDRESS
OF
THE
NEXT
LOCATION.
THE
NEXT
LOCATION
IS
LOADED
WITH
A
HALT
(000000).
THUS
AN
ILLEGAL
TRAP
OR
INTERRUPT
WILL
CAUSE
A
HALT
AT
THE
TRAP
LOCATION
PLUS
TWO.
IF
A
HALT
OCCURS
IN
THE
TRAP
OR
INTERRUPT
AREA,
EXAMINE
REGISTER
SIX.
IT
WILL
CONTAIN
THE
CURRENT
STACK
ADDRESS.
THE
CDN"IENTS
OF
THE
CURRENT
STACK
ADDRESS
IS
THE
VALUE
OF
THE
LOCATIO~
COUNTER
WHEN
THE
TRAP
>10
SEQ
0003
" #
"
'"
;",
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN-78
12:27
PAGE
4
CCMFAF.P11
13-JAN-78
12:13
5.3
5.3.1
5.3.2
OR
INTERRUPT
OCCURRED.
PROGRAM
AND/OR
OPERATOR
ACTION
ALTERING
THE
PARITY
MEMORY
MAP
IF
THE
MAP
TYPED
AT
RUN
TIME
DOES
NOT
AGREE
WITH
THE
HARDWARE
PRESENT
THE
MAP
CAN
MANUALLY
BE
CHANGED
TO
ALLOW
TESTING
OF
PARITY
MEMORY
THAT
THE
MAPPER
DID
NOT
FIND. SETTING
SWITCH
a
TO
A 1
WILL
CAUSE
THE
PROGRAM
TO
HALT
AFTER
THE
MAP
IS
TYPED.
AFTER
THE
HALT,
MODIFY
THE
MAP
AS
DESIRED
(SEE
THE
DESCRIPTION
IN
THE
LISTING-
THE
MAP
BEGINS
AT
LOCATION
6CO).
THEN
PRES~
CONTINUE.
THE
NEW
MAP
WILL
BE
PRINTED,
AND
IF
SW9
IS
STILL
SET
THE
PROCESS
WILL
BE
REPEATED.
IF
SW9
IS
NOT
SET,
THE
PROGRAM
WILL
TEST
PARITY
MEMORY
USING
THE
NEW
MAP.
STOPPING
THE
PROGRAM
BECAUSE
THE
PROGRAM
RELOCATES
ITSELF
TO
BANK
1
WHILE
TESTING
BANK
0,
A
SWITCH
IS
PROVIDED
TO
HALT
THE
PROGRAM
AT
THE
END
OF
A PASS.
SETTING THIS
SWITCH
(SWS)
WILL
CAUSE
THE
PROGRAM
TO
HALT
IN
BANK
o
AT
THE
END
OF
THE
CURRENT
PASS
(AFTER
OUTPUTTING
THE
END
OF
PASS
MESSAGE).
6.0
ERRORS
6.1
ERROR
PRINTOUTS
THERE
ARE
THREE
TYPES
OF
ERROR
MESSAGES
USING
COMBINATIONS
OF
THE
FOLLOWING
ERROR
TYPE
ROUTINES.
PC=zzzzzz
ICNT=YYYYYY
MPR=XXXXXX
MPR
DATA=VVVVVV
TEST
LOC=XXXXXX
SIB:
XXXXXX
WAS:
XXXXXX
PC
OF
FAILING
ERROR
CALL.
REFER
TO
THIS
ADDRESS
IN
THE
LISTING
FOR
AN
EXPLANATION
OF
THE
ERROR.
CURRENT
ITERATION
COUNT
OF
FAILING TEST.
ADDRESS
OF
PARITY
REGISTER
UNDER
TEST.
CONTENTS
OF
PARITY
REGISTER
UNDER
TEST.
MEMORY
LOCATION
UNDER
TEST
CONTENTS
OF
MEMORY
LOCATION
SHOULD
BE.
CONTENTS
OF
MEMORY
LOCATION
WAS.
6.2
DETERMINING
ADDRESS
OF
TEST
LOCATION
WHEN
KT11
IS
PRESENT
IN
MOST
OF
THE
SUBTESTS,
IF
A
KT11
IS
PRESENT
IT
IS
USED.
IN
ALL
CASES
IN
THIS
PROGRAM,
WHE~
THE
KTll
IS
ON,
KERNEL
PAGE
0
IS
USED
TO
REFERENCE
BANK
0
AND
KERNEL
PAGE
7
IS
WSED
TO
REFERENCE
THE
EXTERNAL
BANK.
IN
MOST
CASES,
KERNEL
PAGE
1
IS
~SED
TO
REFERENCE
THE
MEMORY
CURRENTLY
UNDER
TEST. SINCE
THE
USE
OF
THE
MEMORY
MANAGEMENT
OPTION
IS
SIMILAR
THROUGHOUT
THE
PROGRAM,
IT
IS
EASY
TO
DETERMINE
THE
ACTUAL
(PHYSICAL)
MEMORY
ADDRESS
BEING
TESTED.
TO
CALCULATE
A
PHYSICAL
ADDRESS,
ADD
THE
STARTING
ADDRESS
OF
THE
BANK
BEING
TESTED
TO
THE
OFFSET
WHICH
GIVES
THE
ADDRESS
WITHIN
THE
BANK.
SINCE
IN
THIS
PROGRAM
ALL
RELOCATED
MEMORY
TESTING
IS
DONE
THRU
KERNEL
PAGE
1.
KERNEL
PAGE
ADDRFSS
RFr.rSTFR 1
{~nnO~~~
77ry~~ry,
",.
,.
SEQ
0004
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN-78
12:27
PAGE
5
CCMFAF.Pl1
13-JAN-78
12:13
WILL
ALWAYS
CONTAIN
THE
STARTING
ADDRESS
OF
THE
BANK.
ACTUALLY,
KERNEL
PAGE
ADDRESS
REGISfER 1 (KPAR1)
CONTAINS
JUST
THE
TOP
12
BITS
OF
THE
BANK
STARTING
ADDRESS.
ADDING
TWO
ZEROES
(OCTAL)
TO
THE
RIGHT
OF
THIS
VALUE
WiLL
GIVE
YOU
THE
FULL
18 BIT
ADDRESS
OF
THE
BANK.
THE
VIRTUAL
ADDRESS
USED
TO
REFERENCE
THIS
BANK
UNDER
TEST
WILL
ALWAYS
START
WITH
001 (BINARY,
TOP
3
OF
16
BITS).
THIS
REFERENCES
PAGE
1.
THE
LOWER
13
BITS
GIVE
THE
ADDRESS
WITHIN
THE
BANK~
ADD
THEM
TO
THE
STARTING
ADDRESS
OF
THE
BANK
TO
GET
THE
FULL
18 BIT
PHYSICAL
ADDRESS.
FOR
EXAMPLE,
AN
ERROR
COMMENT
MAY
SAY
"Rl
CONTAINS
THE
ADDRESS
OF
THE
TEST
LOCATION
(VIRTUAL
THRU
KERNEL
PAGE
1 IF
KTll
PRESENT)."
R1
MIGHT
CONTAIN
320CO,
AND
KERNEL
PAGE
ADDRESS
REGISTER
1
(LOCATION
772342)
MIGHT
CONTAIN
2400.
FIRST
GET
THE
STARTING
ADDRESS
OF
THE
BANK
BY
ADDI~G
2
ZEROES
TO
THE
RIGHT
OF
THE
NUMBER
IN
KPAR1.
THUS
THE
VALUE
2400
INDICATES
THAT
THE
BANK
STARTS
~T
240000.
SECOND,
CALCULATE
THE
OFFSET
WITHIN
THE
BANK.
THE
VIRTUAL
ADDRESS
32000
BREAKS
DOWN
INTO
I(TOP 3 BITS)
WHICH
REFERENCES
KPAR1,
AND
12000
(LOWER
13
BITS)
WHICH
IS
THE
OFFSET.
ADD
THE
OFFSET
(12000)
TO
THE
BANK
ADDRESS
(240000)
TO
GET
THE
ACTUAL
PHYSICAL
ADDRESS
BEING
TESTED
(252000).
6.3
ERROR
RECOVERY
IN
GENERAL,
TEST
FAILURES
WILL
PRINTOUT
AN
ERROR
MESSAGE
AND
CONTINUE.
IF
THE
HALT
ON
ERROR
SWITCH
IS
SET, HITTING
CONTINUE
WILL
RECOVER.
IF
THE
PROGKAM
HANGS
UP
IN
A
LOOP,
THE
ERROR
IS
LIKELY
TO
BE
A
SIGNAL
WHICH
WAS
NEVER
RECEIVED. IF A
HALT
OCCURS
IN
THE
TRAP
AND
VECTOR
AREA
THE
PROGRAM
MUST
BE
RESTARTED.
IF
THE
PROGRAM
HALTS
IN
THE
MAIN
FLOW,
CONSULT
THE
LISTING
IF
NO
MESSAGE
IS
TYPED
OUT.
6.4
ERRORS
WHILE
TESTING
BANK
ZERO
(ERROR
PC
VALUES
ABOVE
20000)
TEST20
AND
TEST21
CHECK
BANK
0
IF
IT
HAS
PARITY
MEMORY.
TO
DO
THIS,
THE
CODE
IS
RELOCATED
TO
AND
EXECUTED
FROM
BANK
1.
THE
ERROR
PRINTOUTS
WILL
THUS
GIVE
THE
PC
IN
BANK
1
OF
THE
ERROR
CALL.
SINCE
ALL
LOCATIONS
HAVE
BEEN
MOVED
UP
20000,
SUBTRACT
20000
FROM
THE
ERROR
PC
TO
GET
THE
ADDRESS
IN
THE
LISTING
WHICH
CORRESPONDS
TO
THE
PRINTOUT.
7.0
RESTRICTIONS
THE
PROGRAM
REQUIRES
A
MINIMUM
OF
8K
MEMORY
TO
RUN.
XXDP
CHAINING
IS
POSSIBLE
FOR
SYSTEMS
GREATER
THAN
BK.
7.1
STARTING
PROCEDURE
PROGRAM
MUST
BE
LOADED
INTO
LOWER
4K
OF
MEMO~Y.
7.2
OPERATING
RESTRICTION-
AVOID
USING
THE
"HALT"
SWITCH
IF
THE
PROGRAM
IS
HALTED
AT
A
RANDOM
POINT
DURING
EXECUTION,
SEVERAL
PROBLEMS
MAY
ARISE.
THE
PROGRAM
MAY
BE
RELOCATED
TO
BANK
1
AT
THE
TIME
IT
IS
STOPPED,
IN
WHICH
CASE
NONE
OF
THE
STANDARD
STARTING
ADDRESSES
WILL
WORK.
WRITE
WRONG
PARITY
MAY
BE
SET,
IN
WHICH
CASE
...
SEQ
0005
..
..
$
CCMFAFO,
MEMORY
PARITY
TEST
MACYll
30A(1052)
13-JAN~7B
12:27
PAGE
6
CCMFAF.P11
13-JAN-7B
12:13
YOU
MAY
ENTER
BAD
PARITY
WHILE
PATCHING.
AND
MEMORY
MAY
CONTAIN
BAD
PARITY
SINCE
YOU
MAY
BE
IN
THE
MIDDLE
OF
A
TEST
WHICH
UTILIZES
WRITE
WRONG
PARITY. IT
IS
THEREFORE
STRONGLY
RECOMMENDED
THAT
YOU
HALT
THE
PROGRAM
VIA
THE
"HALT
AT
END
OF
PASS"
SWITCH
(SW8)
OR
THE
"HALT
ON
ERROR"
SWITCH
(SW15)
RATHER
THAN
VIA
THE
HALT/ENABLE
SWITCH.
B.O
MISCELLANEOUS
B.l
EXECUTION
TIME
EXECUTION
TIME
DEPENDS
ON
THE
AMOUNT
OF
PARITY
MEMORY
UNDER
TEST.
IT
TAKES
ABOUT
1
MINUTE
TO
TEST
24K
OF
PARITY
MEMORY
(1
PASS).
B.2
STACK
POINTERS
THE
KERNEL
STACK
POINTER
IS
INITIALIZED
TO
510.
9.0
PROGRAM
DESCRIPTION
"
THIS
PROGRAM
FIRST
LOCATES
MAll
&
MF11
CORE
PARITY
AND
MS-ll
MOS
PARITY
CONTROL
REGISTERS
BY
ADDRESSING
;ACH
POSSIBLE
REGISTER
ADDRESS
AND
CHECKING
THOSE
WHICH
DO
NOT
TIME
OUT.
ON
DETECTING
THE
PRESENCE
OF
A
PARITY
REGISTER
*
THE
PROGRAM
CHECKS
IF IT
IS
A
CORE
PARITY
OR
A
MOS
PARITY
REGISTER
AND
ACCORDINGLY
STORES
THIS
INFORMATION
IN
AN
INDICATOR(INDCO-INDC15)
THE
ADDRESSES
OF
THE
~EGISTERS
ARE
RECORDED
AND
OUTPUT
TO
THE
CONSOLE
DEVICE,
AND
THEN
THE
REGISTERS
ARE
CHECKED
TO
SEE
THAT
THE
CORRECT
BITS
ARE
R/W.
RESET
IS
USED
TO
TEST
THE
EFFECT
OF
INIT.
PARITY
MEMORY
IS
THEN
LGCATED
BY
SETTING
WRITE
WRONG
PARITY
IN
ALL
REGISTERS
AND
WRITING
AND
READING
THE
FIRST 4
ADDRESSES
IN
EACH
4K.
EACH
TIME
A
PARITY
REGISTER
RECORDS
A
PARITY
ERROR,
THE
MAP
IS
ALTERRED
T~
INDICATE
THAT
THAT
REGISTER
CONTROLS
THE
MEMORY
BEING
ADDRESSED.
THE
FINAL
MAP
IS
PRINTED
AND
THEN
THE
PARITY
CONT~OL
LOGIC
IS
CHECKED
USING
THE
PARITY
MEMORY
FOUND.
SEVERAL
PATTERNS
ARE
WRITTEN
INTO
EACH
PARITY
MEMORY
LOCATION
TO
SEE
THAT
NO
PARITY
ERRORS
A~E
CREATED.
FINALLY,
EACH
BYTE
OF
PARITY
MEMORY
IS
WRITTEN
WITH
BOTH
GOOD
AND
GAD
PARITY
TO
SHOW
THAT
THE
PARITY
BITS
CAN
BE
TOGGLED
AND
SENSED.
SINCE THIS
IS
A
COMBINED
DIAGNOSTIC,
AS
FAR
AS
POSSI3LE
COMMON
TESTS
ARE
USED
FOR
BOTH
CORE
AND
MOS.
ONLY
WHERE
THE
MOS
CONTROLLER
DEFERS
FUNCTIONALLY
FROM
THE
CORE,
THE
INDICATOR
IS
CHECKED
FOR
MOS
OR
CORE
AND
THE
MEMORY
IN
QUESTION
IS
TESTED
ACCORDINGLY.
A
DETAILED
EXPLANATION
OF
THE
MAP
IS
GIVEN
IN
THE
LISTING
(PAGE
9-12).
THE
DISPLAY
REGISTER
CONTAINS
THE
NUMBER
OF
THE
TEST
BEING
EXECUTED.
~
SEQ
0006
..
CCMFAFO,
MEMORY
PARITY
TEST
MACYll
30A(1052)
13-~AN-78
12:27
PAGE
7
CCMFAF.
Pll
13-JAN-78
12:
13
MEMORY
PARITY
TEST
MAINDEC-l
I
-OCMFA-O
COPYRIGHT
1973,
1977,
DIGITAL
EQUIPMENT
CORP.,
MAYNARD, MASS.
AUTHOR:
.11M
KAPADIA
325
326
327
32B
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
34B
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
000001
000002
000004
000010
000020
000040
000100
000200
000400
001000
002000
004000
010000
020000
040000
100000
000001
000004
077400
100000
177570
177570
177776
000007
000006
000240
000000
000510
000000
000001
000002
; SWITCH REGISTER SWITCH
OPTI('lS
(SWITCH SET TO
AI)
;SRIS
-HALT
ON
ERROR
;SRI4
-
SCOPE
;SRI3
-
INHIBIT
PRINTOUT
;SRII
-
INHIBIT
ITERATIONS
;SRID
-HALT AFTER LOCATING
BAD
PARITY
BEFORE
CORRECTING
IT
;SR09
-HALT AFTER
TYPING
PARITy
MEMORY
MAP
(ALLO,;S
MANUAL
CHANGES
TO
BE
MADE
TO
THE
MAP
TO
FORCE
TESTING
OF
MEMORY
THAT
WAS
NOT
LOCATED)
;SROB -HALT
AT
END
OF
PASS
(IF
HALTED ELSEWHERE. THE
PROGRAM
MAY
BE
RELOCATED
TO
BANK1,
WRITE
WRONG
PARITY
MAY
BE
SET,
AND/OR
BAD
PARITY
MAY
EXIST
IN
THE
PARITY
MEMORY).
;
SYMBOL
DEFINITIONS
BITO"
BIT1 =2
BIT2.4
BIT3.
I a
BIT4.20
BIT5·40
BIT6.
I
00
8IT7·200
8ITB.400
BIl9·,000
BIT
1
0.2000
Bll
11
=4000
Bll
I
2.
I
0000
BIT
13=20000
B1l14.40000
81115=100000
AE=1
WWP=4
ADRS=77400
PERR=
1
00000
DSWR=
177570
001
5f'=
1775'10
PS=177778
PC="7
SP=%6
NOP·240
OPEN=O
STKPT.TSTX
RO=%O
Rl
=%1
R2="2
;8IT
DEFINITIONS
ACTION ENABLE
WRITE
WRONG
PARITY
ADDRESS
OF
ERROR
PARITY
ERROR
BIT
HARDWARE
SWITCH REGISTER
HARDWARE
DISPLAY
REGISTER
CCMFAFO.
MEMORY
PARITY
TEST
MACYl1
30A(1052)
13-JAN-78
12:27
PAGE
8
CCMFAF.
Pl1
13-JAN-78
12:13
000030
000032
000046
000052
000003
000004
000005
000006
000114
177572
000030
016032
000340
000046
011702
000052
040000
000174
R3="3
R4=%4
R5·%5
R6="6
PARVEC=114
SRO-177572
;MACRO
DEFINITIONS
;
PARITY
ERROR
TRAP
VECTOR
;ADDRESS
OF
MEM
MGMT
REGISTER
SRO
; TRAPCATCHER
(.+2
,HALT)
LOADED
INTO
LOCATIONS
000-576
;
LOAD
EMT
V
ECTOR
.=30
EMTINT
340
.=46
SENDAD
.*52
BIT14
;LOAD STARTING
ADDRESS
AREA
••
174
377
37B
379
380
381
382
3B3
3B4
385
3B6
3B7
3B8
3B9
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
41B
419
420
421
422
423
424
425
428
427
428
429
430
431
432
000174
000000
DISPREG:
.WORD
0
;THIS
IS
THE
SOFTWARE
DISPLAY
REGISTER
000176
000200
000210
000220
000230
000510
000512
000514
000516
000520
000522
000524
000526
000530
000532
000000
000167
000210
000167
000220
000167
000230
000167
000510
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
001232
014204
001132
001042
SWREG:
.WORD
~MP
START
.-210
~MP
RSTLDR
.=220
JMP
SCAN
.-230
JMP RSTART
.=510
;GENERAL DATA AREA
TSTX'
0
FTIhE:
0
TEMPX: 0
ADRPT: 0
BITPT:
0
TRFLG: 0
TYFLG:
0
TYCOR: 0
HIADR:
0
TSTLOC: 0
0
;THIS
IS
THE
SOFTWARE
SWITCH REGISTER
;GO
TO
START
OF
PROGRAM
;
GO
RESTORE
THE
LOADERS
;
SCAN
FOR
BAD
PAR
ITY
; RESTART WITHOUT RETYPING
MAP
INFORMATION
;
TITLE
PRINTED.
1
MAPPING-
ADDRESS POINTER
MAPPING-
BIT
POINTER
INOICATING
MAPPING-
TRANSISTION
FLAG
MAPPING-
TYPED FLAG
MAPPING-
K
CORE
ACCUMULATOR
USED
TO
CHECK
WHEN
DONE
TESTING
LOADED
101·
TH
ADDRESS
OF
LOCATION
TEST
IN
SOME
SUBTESTS
BANK
A BANK
UNDER
SEQ
0007
SEQ
0008
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN,-78
12:27
PAGE 9
SEQ
0009
CCMFAF.P11
13-JAN-7812:13
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
45,3.
454
455
456
457
45B
459
460
461
462
463
464
465
466
467
4G8
469
470
471
472
473
474
475
476
"77
478
479
480
481
482
4B3
484
485
486
487
468
CCMFAFO,
000534
000536
000540
000542
000544
000546
000550
000552
000554
000556
000560
000562
000564
000566
000570
000572
000574
000576
000600
000602
000604
000606
000610
000612
MEMORY
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
00
0000
000000
000000
172101
000000
000000
CC'OOOO
17
2103
0000ao
000000
000000
172105
000000
000000
PAR I TY TES T
CCMFAF" P11
13-JAN-78
12:
13
489
000614
00
0000
490
000616
172107
491
000620
000000
492
000622
000000
493
000624
000000
494
000626
172111
495
000630
COOOOO
496
000632
000000
497
000634
000000
498
000636
172113
499
000640 000000
500
000642
000000
501
000644
000000
502
000646
172115
503
000650
000000
504
000652
000000
505
000654
ceODOO
506
000656
172117
507
000660
oeoooo
508
000662
ooooc'O
50S
000664
000000
510
000666
17,2121
511
000670
000000
512
000672
000000
513
000674
000000
514
0006"16
172123
515
000700 000000
516
000702 000000
517
000704
000000
51
B
000706
172125
519
000710
000000
520
000712
000000
521
000714 000000
522
000716
172127
523
000720
000000
524
000722
000000
525
000724 000000
526
000726
172131
527
000730 000000
528
000732 000000
529
000734
000000
530
000736
172133
S31
000740 000000
532
000742 000000
533
000744 000000
534
000746
172135
535
000750
000000
536
000752
000000
537
000754
000000
53B
000756
172137
539
000760
000000
540
000762
000000
541
000764
000000
542
543
000766
000000
544
MACY1t
SHOBE:
WAS:
TRDATA:
MPHOf,
:
TBANr; :
MEf,1UT:
NOK1:
HIWORD:
LO\oJFLG:
ODDFLG:
TEMP:
MTY
FG:
nELDC:
;VALUE
EXPECTED
; ACTUAL
VALUE
FOUND
;
5ET
TO
INDICATE
NO
KTll
PRESENT
; I F SET
INO:CATES
TESTING
HIGH
8YTE
;
OF
MEMORY
LOCATION
;SET
TO
INDICATE
MAP OF
PARITY
MEMORY
; A LREADY TYPED
;MEMORY
PARITY
CONTROL
REGISTER ADDRESSES
;THE
LEAST
SIGNIFICANT
BIT
IN THE DEVICE ADDRESS
IS
SET
TO
A
ONE(1)
;
IF
THE CONTROL
IS
FOUhlD NOT
TO
BE
PRESENT.
THE
tI'lEMORY
PRESENT UNDER
;CON1ROl
OF
EACH CONTROLLER
IS
REPRESENTED
BY
2 OCTAL
"lORDS.
EACH
BIT
;REPRESENTS
A 4K
BLOCK,
I.E.
BITO:::
Q-4K,
Bl11:::
4-8K,
81T15=
60-64K.
;THE
LOW
BYTE
OF
THE
LAST
WORD
FOR
EACH
REGISTER
INDICATES
THE OFFSET
(O,2.4.0R
6)
;
FOR
THE
FIRST
ADDRESS THAT
ACTUALLY
CORRESPONDED
TO THE
REGISTER.
THE
HIGH
BYTE
GETS
;5ET
:-0 1
TO
INDICATE
THAT A
MEMORY
ADDRESS HAS BEEN FOUND
FOR
THAT
REGISTER.
;FOR
EXAMPLE,
SAY THAT
MPRO
AND
MPR1
EXIST,
CONTROLLING
INTERLEAVED
MEMORY
;FROM 0
TO
16K,
AND THAT
MPRO
CONTROLS THE ADDRESSES
ENDING
IN
a AND
4.
;THE
MAP
WOULD
THEN LOOI{
AS
t"JLLOWS:
MPRO:
172100
:BIT
0
IS
CLEAR
SINCE
REGISTER
IS
PRESENT
17
;REGISTER
CONTROLS
1ST
16K
(=4
BANKS)
MPRI
:
o
400
172102
17
o
402
;THE
REST OF THE MAP
WOULD
APPEAR AS
IN
MPRO:
MPRI :
MPn2
:
3DA ( 1
052)
MPR3:
MPR4·
MPR5 ;
MPR6
:
MPR7:
MPR8
:
MPR9
:
MPR1
0:
MPR11 :
MPR12
:
MPR13 :
MPR14:
MPRI5:
TREG:
172100+1
o
o
o
172102+1
o
o
o
172104+1
o
o
13-oAN-76
172106+1
a
0
0
172110+1
0
0
0
172112+1
° 0
0
172114+1
0
0
0
172116+1
a
0
a
172120+1
0
a
0
172122+1
a
a
0
172124+1
0
0
0
1'12126+1
0
0
0
172130+1
a
0
172132+1
0
0
0
17?134+1
0
0
0
172136+1
0
0
0
12:27
PAGE
10
:
LOW
BYTE
SHOWS
THAT
FIRST
ADDRESS
;ENDS
IN
0
(OCTAL)
;HIGH
BYT':
CONTAINS
A 1
TO
INDICATE
; THAT
AN
ADDRESS
WAS
FOUND
;8IT
0
IS
CLEAR
SINCE
REGISTER
IS
PRESENT
;
REGISTER
CONTROLS 1
ST
16K
;LOW BYTE
INDICATES
THAT THE
FIRST
;MEMORY ADDRESS ENDS
IN
2
(OCTAL)
;HiGH
BYTE
CONTAINS
A 1
TO
INDICATE
; THAT
AN
ADDRESS
WAS
FOUND
THE
LISTING
;
PARITY
STATUS
REGISTERS
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
;ADDRESS
RESPONSE
THIS
CONTROL
(0,2,4,6)
;0-64K
PARITY
MEr~
UNDER
THIS
CONTROL
;
64-124K
PARITY
MEM
UNDER
THIS
CuNTRDL
;ADDRESS
RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;
64-1
24K
PAR!TY
MEM
UNDER
THI
S CONT ROL
;ADORE5S
RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;O-64K
PARITY
MEM UNDER
THIS
CONTROL
:
64-124K
PARITY
MErYl
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
D-64K
PARI
TY
MEM
UNDER
THIS
CONTROL
,64-124K
PAR I
TY
MEM
UNDER
THI
S CONT ROL
;ADDRESS
RESPONSE
THIS
CONTROL
(0,2
4,6)
;
0-64K
PAi:ITY
MEM
UNDER
THIS
CONTROL
;
64-1
24K
PARITY
MEM
UNDER
THIS
CONTROL
;ADDRESS
RESPONSE
THIS
COIHROL
(0,2,4,6)
;
Q-641{
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
;ADDRESS
RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNOER
THIS
CONTROL
;
64-124K
PARITY
MEM
UNDER
THI
S CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-641':
PARI
TY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;
64-124K
PARITY
MEM
UNDER
THIS
C"':iIJTROL
;ADDRESS
RESPONSE
THIS
CONTROL
(0,2,4,6)
,O-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADORESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
; ADDRESS RESPONSE
THIS
CONTROL
(0,2,4,6)
;
0-64K
PARITY
MEM
UNDER
THIS
CONTROL
;64-124K
PARITY
MEM
UNDER
THIS
CONTROL
;ADORESS
RESPON5E
THIS
CONTROL
(0,2,4,6)
;
PARITY
REGISTER
UNDER
TEST
SEQ
0010
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-78
12:27
PAGE
11
CCMFAF.PI1
13-JAN-7812:13
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
5B5
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
000770
000772
000774
000776
001000
001002
001004
001006
001010
001012
001014
001016
001020
001022
001024
001026
001030
001032
001034
001036
001040
001042
001044
001046
001050
001052
001054
001056
001060
001062
001064
001066
001070
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
070032
077772
125325
152652
052452
025125
102070
072527
177777
107030
152525
000000
000000
000000
000000
000000
:
INDICATORS
FOR
CORE
OR
MOS
PARITY
REGISTER:
;EACH
INDICAT.DR
REFERS
TO
A
PARTICULAR
PARITY
REGISTER.
IF IT
IS
;A
CORE
PARITY
REGISTER
THEN A
'1'
IS
STORED
IN
THE
INDICATOR.
;IF
IT
IS
A
MOS
PARITY
REGISTER
THEN
'-1'
GETS STORED,
:EX=
IF
MPRO
(172100)
IS
FOR
CORE
AND MPRI
(172102)
IS
FOR
MOS
:THEN
THE
INDICATOR
MAP
WILL
LOOK AS
FOLLOWING:
;
INDCO:
000001
;
INDC1:
177777
INDCO:
0
INDCt:
0
INDC2:
a
INDC3:
a
INOC4:
a
INDC5:
a
INDC6:
a
INDC7:
a
INDC8:
a
INDC9:
a
INDC10:
a
INDC
11:
a
INDCI2:
a
INDCI3:
a
INDCI4:
a
INDCI5:
a
RESRVD: a
RESVC:
70032
RESVM:
77772
;PARJTY
PATTERNS
PARPAT:
125325
152652
052452
025125
102070
072527
177777
107030
152525
a
o
;CORE-MOS
PARITY
INDICATOR
FOR
M'·l
;CORE-MOS
PARITY
IDCICATOR
FOR
MPRI
;CORE-MOS
PARITY
INDICATOR
FOR
MPR2
;CORE-MOS
PARITY
INDICATOR
FOR
MPR3
;FOR
MPR4
;
FOR
MPR5
;
FOR
MPR6
; FOR
MPH7
;FOR
MPR8
; FOR
MPR9
; FOR
MPR10
;
FOR
MPRll
;
FOR
MPR12
;FOR
MPR13
;FOR
MPR14
;FOR
MPR15
;BIT
POSITIONS
WHICH ARE RESERVED
;
FOR
FUTURE USE
IN
PARITY
REGISTERS
;CORE
PARITY
;
MOS
PARITY
;
EVEN,
ODD
BYTES
; ODD, EVEN
; EVEN
,000
;000,
EVEN
;
EVEN,
EVEN
;000,000
;
EVEN,
EVEN
;OOO,ODO
; ODD, EVEN
; EXTRA PATTERN AREA
;TERMINATOR,
DO
NOT USE
THIS
LOC
;
THIS
IS
A
MAP
OF
THE
TOTAL
MEMORY
PRESENT
IN
THE
SYSTEM.
MEMl:
a ;
0-64K
MEM
PRESENT
IN
4K
CONTIGUOUS BLOCKS
MEMH: 0
;64-124
MEM
PRESENT
IN
4K
CONTIGOUS BLOCKS
;THIS
IS
A
MAP
OF
THE
TOTAL
PARITY
MEMORY
PRESENT
IN
THE
SYSTEM,
PMEML: ;
0-64K
PARITY
MEMORY
PRESENT
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-78
12:27
PAGE
12
CCMFAF.P11
13-JAN-7812:'3
601
602
001072
000000
603
604
001074
000000
605
606
607
608
609
610
611
612
613
614
615
616
617
61B
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
636
639
640
641
642
643
644
645
646
647
64B
649
650
651
652
653
654
001100
001102
001104
001106
001110
001111
001112
001113
001114
001120
001122
001124
001126
001132
001134
001136
001140
001142
001146
001150
001154
001160
001162
001166
001172
001174
001200
001202
001206
001210
001216
001100
177570
177570
177564
177566
000
002
000
000
105767
001401
000000
010046
017600
112046
001005
005726
012600
062716
000002
004767
122726
001364
016746
105366
002770
004767
000772
105777
100375
116677
00
0207
655
001220
000000
656
177772
000002
000002
000026
000012
177722
000001
000002
177676
000002
177670
PMEMH:
PMEMX:
;
(IN
4K
CONTIGUOUS
BLOCKS)
;64-124K
PARITV
MEMORV
PRESENT
;
(IN
4K
CONTIGUOUS
8LOCKS)
;
TEMP
TO
HOLD CONTENTS
OF
EITHER
;
LOW
OR
HIGH
MAP
; ROUTINE
TO
TYPE
ASCI
I MESSAGES, MESSAGE MUST
TERMINATE
WITH
A 0
BYTE.
;THE
ROUTINE
WILL
INSERT
A NUMBER
OF
NULL
CHARACTERS AFTER A
LINE
FEED.
;NOTE1:
$NULL
CONTAINS
THE CHARACTER
TO
BE
uSED
AS
THE
FILLER
CHARACTER.
;NOTE2:
$FILLS
CONTAINS
THE NUMBER
OF
FILLER
CHARACTERS
REQUIRED.
· =
11
00
SWR:
,WORD
DISPLAY:
WORD
TPS:
177564
TPS:
177566
$NULL:
, BYTE
$FILLS:
BYTE
$TPFLG:
BYTE
,8YTE
$TYPE:
TSTB
BED
HALT
6$:
MOV
MOV
1$:
Move
BNE
TST
MOV
7$
:
ADO
RTI
25
:
JSR
3$:
CMP8
8NE
MOV
4$:
PECB
BLT
JSR
BR
5$:
TSTB
BPL
MOV8
RTS
;GENERAL DATA
SCNFlG:
0
DSWR
DOISP
$TPFLG
6$
RO,-(SP)
@2(SP),RO
(RO)+,-(SP)
2$
(SP)+
(SP)+,RO
#2,
(SP)
PC,5$
#12,(SP).+
1$
$NULL,-(SP)
1
(SP)
3$
PC,5$
4$
@>TPS
5$
2(SP)
,@>TPB
PC
AREA
;ADORESS
OF
THE
SWITCH
REGISTER
; ADDRESS
OF
THE
DISPLAY
REGISTER
;
PRINTER
STATUS
REGISTER
ADDRESS
;
PRINTER
BUFFER
REGISTER
ADDRESS
;CONTAINS
NULL
CHARACTER
FOR
FILLS
;CONTAINS
H
OF
FILLER
CHARACTERS
REQUIRED
;
"TERMINAL
AVAILABLE"
FLAG
(O=YES)
; RESERVED
;
IS
THERE A
TERMINAL?
;8R
IF
YES
;HALT
HERE
IF
NO
TERMINAL
; SAVE
RO
;GET
ADDRESS
OF
ASCIZ
STRING
; PUSH CHARACTER
TO
BE
TYPED ONTO
STACK
;BR
IF
IT
ISN'T
THE TERMINATOR
;IF
TERMINATOR
POP
IT
OFF
THE
STACK
; RESTORE
RO
; ADJUST RETURN
PC
; RETURN
;GO TYPE
,HIS
CHARACTER
: CHECK I F THE CHARACTER TYPED
;WAS A
LINE
FEED
:
GO
GET NEXT CHARACTER
IF
NOT
LINE
FEED
;GET
H
OF
FI
LLER CHARACTERS NEEDED
;AND
THE
NULL
CHARACTER
; DOES A
NULL
NEED
TO
BE
TYPE07
;BR
IF
NO--GO
POP
THE
NULL
OF
THE STACK
;GO TYPE A
NULL
;LOOP
;WAIT
UNTIL
PRINTER
IS
READY
: LOAD CHARACTER
TO
8E
; TYPED
INTO
DATA
REGISTER
:SCNFLG
GETS SET
IF
USING
: SCAN ROUT!
NE
(SA"220)
SEQ
0011
SEQ
0012
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(
1052)
13-JAN-78
12:27
PAGE
13
CCMFAF.
Pll
13-JAN-7812:13
SEQ
0013
657
00'222
000000
CACHF
L:
0 ;CACHE FLAG
658
00'
224
177746
CACHE:
'77746
;CACHE
CSR
659
00'226
000000
KTST
ART:
660
00'
230
000000
ADRTYP: 0
66'
00'
232
'77600
PORTAB:
177600
662
001234
172200 172200
663
001236
172300
PDREND:
172300
664
001240
172300
KPDRO:
'72300
;KERNEL
PAGE
DESCRIPTOR REGISTER ADDRESSES
665
00'
242
,
72302
KPOR, :
172302
666
00,
244
172304
KPDR2 :
172304
667
00'246
1723'6
KPDR7 :
1723'6
668
001250
1i2340
KPARO:
172340
; KERNEL
PAGE
ADDRESS REGISTER ADDRESSES
669
001252
1i2342
KPAR 1 :
172342
670
001254
1i2344
KPAR2 :
172344
671
001256
172356
KPAR7 :
172356
672
001260
000000
SPSAV:
0 ;
REGISTER
SAVE
LOCATIONS
673
001262
000000
ROSAV: 0
674
001264
000000
RISAV:
0
675
001266
000000
R2SAV:
0
676
001270
000000
R3SAV:
0
677
001272
000000
R4SAV:
0
678
001274 000000
R5SAV:
0
679
680
681
682
;ROUTINE
TO
RESTART WITHOUT
RETYPING
MAP
AFTER TEST HAS BEEN RUNNING
683
001276
012706
000510
RSTART:
MOV
HSTKPT,SP
;SET
UP
STACK
POINTER
684
001302
012767
000001
177252
MOV
#1 ,MTYFG
;SET
FLAG
TO
INDICATE
MAP
HAS
BEEN TYPED
685
001310
005067 010436
CLR PASCNT ;
INITIALIZE
PASS
COUNT
686
001314
012737
015732 000024
MOV
HPWRDN,
~#24
687
001322 012737
000340
000026
MDV
11340,@l1I.26
688
00,330
005067
177154
CLR TSTX
689
001334
005037
177776
CLR
I'#PS
; CLEAR PROCESSOR STATUS REGISTER
690
001340
012737
000006
000004
MOV
H6
,~H4
691
001346
005037 000006
CLR
@H6
692
001352
000167
000530
JMP
8EGIN
693
694
695
696
697
; ROUTINE
TO
SCAN
ALL
MEMORY
FOR
BAD
PARITY
AND
TYPE
18
8IT
ADDRESSES OF BAD
698
; LOCATIONS
699
001356
0'
2706
0005'
0 SCAN:
MOV
HSTKPT,SP
; SETUP STACK
POINTER
700
001362
005767
177124
TST
FTITLE
;IF
TITLE
HAS BEEN
PRINTED,
REGISTERS
701
;HAVE
ALREADY BEEN LOCATEO-
GO
702
;
AND
LOCATE I F
NOT
ALREADY
DONE
703
001366
001006
BNE
SCANB ; 8RANCH,
REGISTERS
HAVE ALREADY BEEN LOCATED
704
001370
005267
,77624
lNC
SCNFLG ; INCREMENT SCNFLG
705
001374
000167
000232
JMP
ST
ART
1 ;GO
TO
LOCATE THE
REGISTERS
706
001400
005067
177614
SCAN
A : CLR SCNFLG ; RETURN HERE AFTER
LOCATING
THE
REGISTERS
707
001404
004767 010346
SCAN8:
JSR
PC,MAPMEM ; SETUP
MEMORY
MAP
708
001410
004767 013100
JSR
PC, PSCAN ;
SCAN
FOR
BAD
PAR
I
TY
709
001414
104000
TYPE
;TYPE
MESSAGE
"BAD
PARITY
SCAN
COMPLETE"
7'0
001416
017603
PSMSG
711
001420 005767
177124
TST NOKT
712
001424 001002
BNE
.+6
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(,C52)
13-JAN-78
12:27
PAGE
14
CCMFAF.Pl1
13-JAN-7812:13
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
001426
001432
001434
001436
001442
001446
001452
001460
001466
001472
001476
001504
001510
001512
001520
001526
001530
001536
001544
001552
001560
001562
001564
001570
001574
001600
001604
001606
001612
00'
620
001622
001624
001626
001630
001632
001634
00'
636
001642
001646
001652
001660
001664
001670
001674
005037
000000
000750
0'
2706
005067
005067
012737
012737
0'3746
013746
0'2737
005777
000407
012767
0'2767
022626
0'2737
012737
052737
052767
000401
022626
012637
012637
005067
005767
0010'
2
005267
023737
001404
104000
0,
7257
104000
017636
,
04000
017026
005067
012702
012703
012737
005037
042712
005062
005062
17"1572
0005'
0
177114
010300
0'5732
000340
000004
000006
00'512
177370
000176
000174
001562
000340
000014
000200
000006
000004
176710
176706
,76700
000042
176700
000566
000770
002012
000006
000001
000002
000004
000024
000026
000004
177360
177354
000004
000006
177746
177442
000046
000004
CLR
HALT
8R
;NORMAL STARTUP
START:
MOV
CLR
CLR
MOV
MOV
MOV
MOV
MOV
TST
8R
2$:
MOV
MOV
CMP
4$:
MOV
MOV
815
8IS
BR
6$:
CM"
5$:
MOV
MOV
CLR
1$:
TST
BNE
INC
CMP
8EQ
TYPE
MTIT
TYPE
MLDRSV
I'HSRO
SCAN
HSTKPT
,SP
MTYFG
PASCNT
#PWRDN,@H24
#340,@#26
I'H4,-(SP)
1'#6,-(SP)
H2$
,@#4
@SWR
4$
#SWREG,
SWR
#DISPREG,
01 SPLAY
(SP)+,
(SP.)+
H6$,@#4
H340,@>N6
#
14
,@#177746
#200,
CACHFL
5$
(SP)+,
(SP')+
(SP)+,@#6
(SF)+,@H4
TSTX
FTITLE
STARTI
FTITLE
@>H42,@>H46
STARTI
;TURN
OFF KT11
IF
PRESENT
;
ENO
OF
PARITY
SCAN
; SET
UP
STACK
POINTER
;CLEAR
FLAG WHICH
INDICATES
MAP TYPED
;
INI
T
IALIZE
PASS
COUNT
;SETUP
POWER
FAIL
RETURN
; SAVE
THE
ERROR
VECTOR
; SET
UP
TIME
OUT
VECTOR
; TRY
TO
REFERENCE THE SWITCH
REGISTER
;8RANCH
IF
NO
TIME
OUT
;
POINT
TO
THE SOFTWARE SWITCH
REGISTER
;
POINT
TO
THE SOFTWARE
DISPLAY
REG.
; RESTORE
THE
STACK
POINTER
;
DISA8LE
CACHE
;SET
FLAG
FOR
CACHE
; RESTORE
ERROR
VECTOR
;
IS
TITLE
PRINTED
YET?
;YES,
SKIP
OVER
;SET
FLAG
;ARE
WE
IN
ACTll
AUTOMATIC MODE?
;YES,
SKIP
TITLE
;TYPE
TITLE
"MEMORY
PARITY
TEST
i
MAINDEC-l1-DCMFA
I.
; TYPE "LOADERS SAVED
IN
BANK
1.
;SEARCH
FOR
PARITY
REGISTERS PRESENT
AND
TYPE ADDRESSES
OF
THOSE
FOUNO
;FAILURE
TO
LOCATE A REGISTER
INDICATES
THAT THE ADDRESS
TIMED
OUT
OR
THAT
SEQ
0014
;
BIT':
5-7
IN
THE REGISTER
DID
NOT
SET
STARll:
TYPE ; TYPE
"MEMORY
PARITY
REGISTERS PRESENT
ARE:"
MMPRS
CLR
MOV
MOV
MOV
CLR
GMPRA:
BIC
CLR
CLR
MPROK
>MPRO,
R2
II
INDCO
I
R3
>GMPR8,@H4
@#6
H1
(2)
2(R2)
4(R2)
; CLEAR
MPR
FLAG
; SET
UP
POINTERS
;POINTER
TO
CORE-MOS
; SET
UP
TIMEOUT TRAP RETURN
;CLEAR
FLAG
BIT
IN
TABLE
;
INITIALIZE
LOCATIONS
IN
THE
TABLE
..
..
CCMFAFO.
MEMORY
PARITY
TEST
MACY11
30A(
1
052)
13-JAN-78
12
:27
PAGE
15
CCMFAF.
Pl1
13-JAN-7B
12:13
SEQ
0015
769
001700
005062 000006
CLR 6
(R2)
770
001704
005772 000000
TST
@(2)
:DOES
THIS
MPR
EXIS1?
(IF
NO,
TIMES
OUT)
771
001710
052772 000340 000000
BIS
#340,1'(2)
;YES-
IS
IT
AN
MFll-LP
OR
MAll-P
CORE
PARITY
REG
772
001716 032772
000340
000000
BI
T
#340,@(2)
773
001724
001414
BEQ
1$
:NO,
IS
IT
A
MOS-11
PARITY
REGISTER?
BRANCH
774
001726 011267
176562
MO':
(2),
TEMPX
:YES-
PRINT
REGISTER
ADDRESS
775
001732
004567
013460
JSR
R5,OACNV
:(GET
ASCII)
776
001736 000514
TEMPX
777
001740 017670
MPRCOR
77B
001742
000006
6
779
001744
104000
TYPE
:
(TYPE
ADDRESS)
780
001746 017670
MPRCOR
781
001750
012713
000001
MOV
#
1,
(R3)
: SET
INDICATOR
FOR
CORE
PARITY
782
001754
000413
BR
2$
7B3
DO
1756
011267
176532
1$:
MDV
(2),
TEMPX
:IT
IS
AMOS
REGISTER,
PRINT
ADDRESS
784
001762 004567
013430
JSR
R5,OACNV
:
(GET
ASCII)
785
001766 000514
TEMPX
786
001770
017731
MPRMOS
787
001772
000006
6
78B
001774
104000
TYPE
:
(TYPE
ADDRESS)
789
001776
017731
MPRMOS
790
002000
012713
177777
MOV
#-1,
(R3)
SET
INDICATOR
FOR
MOS
PARITy
791
002004
005267
176532
2$:
INC
MPROK SET
MPR
REGISTER
PRESENT FLAG
792
002010
000403
BR
GMPRC
SKIP
NEXT
793
002012
022626
GMPRB:
CMP
(SP)+,
(SP)+
RESTORE STACK
POINTER
794
00~O14
052712
000001
BIS
.,
,@R2 SET FLAG
INDICATING
REGISTER
NOT PRESENT
795
002020
062i02
000010
GMPRC: ADO
#10.
R2 UPDATE
POINTER
796
002024 005723
TST
(
R3)+
797
002026 020227
000766
CMP
R2.#TREG
DONE
YET?
79B
002032 002714
BL
T
GMPRA
NO,
LOOP
799
002034
012737
000006
000004
MOV
,116.@#4
YES,
RESTORE TRAPCATCHER
800
002042
00S767
177152
TST
SCNFLG
ARE
YOU
IN
THE
ROUTINE
TO
SCAN
801
MEMORY
FOR
BAD
PARITY-(SCAN)
802
002046 001402
BEQ
GMPRD
NO.
BRANCH
TO
CARRY
ON
NORMALLY
803
002050
000167
177324
JMP SCAN A
YES,
GO
[jACK
TO
THE
MEMORY
804
SCAN
ROU
TINE
805
002054
005767
176462
GMPRD:
TST
MPROK
ANY
PARI
TY
REGISTERS
PRESENT?
606
002060
OD
1
012
BNE
BEGIN
YES-
GO
TEST CONTROLS PRESENT
B07
002062
104000
NOREG:
TYPE
NO-
TYPE
"NO
PARITY
REGISTER
FOUND
II
808
002064
017212
MTR
809
002066
005737
000042
TST
@l1;l42
LOADED
BY
MONITOR?
Bl0
002072 001402
BEQ
,+6
NO,
BRANCH
811
002074
000161
007572
JMP
LOGICAL
YES-
EX
IT
,
NO
REGISTERS
PRESENT
812
002100
000000
HALT
NO
REGISTERS
TO
TEST
B13
002102
000167
177330
JMP
5T
ART
IF
CONTINUED,
TRY
AGAIN
814
815
002106
012767 002156 014346
BEGIt<:
MOV
#TEST
1
+2,
RETURN SETUP SCOPE RETURN
816
002114
105767 177102
TSTB
CACHFl
CACHE
?
B17
002120
001403
SEQ . +1 0 BRANCH I F
NO
81B
002122 012777
000014
177074
MOV
1114,@CACHE
DiSABLE
CACHE
B19
002130
004767
012146
JSR
PC,SAVLDR
SAVE MONITOR
B2D
002134 012767 000100
014314
MOV
"'00.IMAX
MAXIMUM
ITERATION
COUNT
821
002142
012737 000006
000004
MOV
#6.@#4
RESTORE TRAPCATCHER
IN
TIMEOUT
VECTOR
822
002150
005067
176344
CLR
BITPT
823
824
CCMFAFO,
MEMORY
PARITY
TEST
MACYll
30A(1052)
13-JAN-78
12:27
PAGE
16
CCMFAF.Pl1
13-JAN-7812:13
825
826
B27
82B
829
830
831
002154
832
002156
833
002164
834
002170
835
002174
836
002200
837
002202
83B
839
002204
840
002210
841
002212
B42
002220
843
002222
844
002230
845
846
002234
B47
002236
848
002242
B49
002250
85D
002252
B51
852
853
B54
002254
B55
002260
856
857
002262
BS8
002264
859
002266
B60
002270
861
B62
002274
863
002276
B64
002300
865
B66
867
868
002302
869
002304
870
871
002306
872
002312
873
874
002314
875
002320
876
002322
877
87B
879
880
104001
012777
000001
012700
000566
012704
000770
032710
000001
001042
011001
022714
000001
001004
016767
176614
000403
016767
176606
012702
000001
005011
011167
176524
046767
176562
001401
104002
030267
176550
001010
010211
011103
005011
046703
176534
020203
001401
104002
006302
103363
062700 000010
005724
020027
000766
002725
005067
176440
176716
176610
176600
176516
;
**
'" '" '"
'" '"
'"
'" '" '"
***
..
'" '"
'"
** **
'" '"
"',..
*'"
'" '"
*'"
** **
"'"'
'"
"'
......
"'
..
**
"'
..
"'.
'"
..
**
'"
'"
'" '"
**
'"
***
'"
:SHOW
T"AT
BITS
0,2,5-11,
AND
15
OF
EACH
CORE
PARITY
REGISTER
PRESENT
:CAN
BE
SET
AND
CLEARED,
BITS
0,2,15
OF
EACH
MOS
PARITY
REGISTER
; PRESENT
CAN
BE
SET AND
CLEARED
;.
'"
"'."
""'"'*
**
'"
***
**
'"
'"
**
'"
'"
'"
*,,*
**
**
** ** ***
'"
'"
'"
*
'" '"
'" '"
'"
'"
'"
**
'"
***
'"
'"
**
'" '"
"'*
'"
***
'"
TESTl:
SCOPE
1$:
5$:
2$:
3$:
4$:
MOV
MOV
MOV
BI
T
BNE
MOV
CMP
BNE
MOV
BR
MOV
MOV
CLR
MOV
BIC
BEQ
ERROR
BIT
BNE
MOV
MOV
CLR
BIC
CMP
BEQ
ERROR
ASL
BCC
ADu
TST
CMP
BLl
CLR
#l,@DISPLAY
#MPRO,RO
#
INDCO,
R4
#l,@RO
4$
@>RO,R1
#
1,
(R4)
S$
RESVC,
RESRVD
.+10
RESVM, RESRVD
#1,
R2
@>Rl
@Rl,TREG
RESRVD, TREG
.+4
R2,
RESRVD
3$
R2,@Rl
@>Rl
,R3
I'Rl
RESRVD, R3
R2,R3
,+4
R2
2$
.,
0,
RO
(
R4)+
RO,HREG
1$
TREG
:NO
:LOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
; LOAD ADDRESS OF
TABLE
INTO
RO
: LOAD ADDRESS
OF
INDICATOR
IN
R4
:
IS
THIS
REGISTER
PRESENT?
:
NO-
B"ANCH
TO
GET NEXT ADDRESS
:YES-
LOAD
Rl
WITH
ADDRESS
OF
;
PARI
TY
REGISTER
:
IS
THIS
.'EGISTER
CORE?
:YES,
CORE, STORE RESERVED
BITS
:MOS,
STORE RESERVED
BITS
: LOAD
R2
'IJITH
VALUE
OF
FIRST
BIT
;
TO
BE
TESTED
:
INITIALIZE
PARITY
REGISTER
;READ
CONTENTS
OF
PARITY
REGISTER
;ClEAR
BITS
w'HICH ARE RESERVED
;CHECK
OTHER
BITS-
BRANCH
IF
OK
:CLEAR
INSTRUCTION
DID
NOT
INITIALIZE
:ALL
USED
BITS
IN
PARITY
REGISTER
:TO
ZERO
(Rl
CONTAINS
ADDRESS
OF
:FAILING
REGISTER)
:
IS
THIS
BIT
RESERVED?
:YES-
DON'T
TEST
IT
SINCE
IT
:MAY
BE
ZERO
OR
ONE
;NO-
SET
THIS
BIT
IN
THE
PARITY
REGISTER
: READ AND
SAvE
CONTENTS
OF
PARITY
REGISTER
;CLEAR
PARITY
REGISTER
:CLEAR
BIT
LOCATIONS
THAT
ARE
:RESERVED
: CHECK REST
; BRANCH I F
OK
:PARITY
REGISTER
WHOSE
ADDRESS
IS
IN
Rl
;WAS
INCORRECT
AFTER
THE
VALUE
IN
R2
;WAS
wRITTEN
INTO
IT.
ACTUAL
CONTENTS
:
(WITH
UNUSED
BITS
CLEARED)
IS
IN
R3
:ROTATE
BIT
TO
8E
TESTED
: I F NOT
OONE
WITH
ALL
BIT
POSITIONS
;GO
TEST
THIS
ONE
:MOVE
RO
TO
POINT
TO
NEXT
POSSIBLE
ADDRESS
;OF
A
PARITY
REGISTER
;AT
END
OF
TABLE?
;
NO,
BRANCH
; **
If:
'" '" '"
"'**.'" ***
*****
**
"''''*
"''''
'"
***
'" '"
**
••
"''''
'"
'" '"
'"
**
'"
'"
'" '"
**
'"
**
'"
**
'"
'"
****
"''''
••
:SHOW
THAT
RESET CLEARS
BITS
0,2,
AND
15
OF
EACH
PARITY
REGISTER
SEQ
0016
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF.
Pl1
13-JAN-7B
12:13
881
882
883
002326
104001
884
002330
012777
000002
BBS
002336
005067
014114
B86
002342
012700
000566
B87
002346 012703
000770
888
002352
032710
000001
8B9
002356
00101
:2
890
002360
022713
000001
891
002364
001404
892
002366
012710
100015
893
002374
000403
894
002376
012770
107745
B95
002404
062700
000010
896
0024,0
005723
897
B98
002412
020027
000766
B99
900
002~
16
002755
901
002420
105767
176466
902
002424
001003
903
002426
,
05777
176452
904
002432
,00375
905
002434
000005
906
002436
012700
000566
907
002442
012703
000770
908
002446
105767
176550
909
002452
001403
910
002454
012777
000014
911
002462
032710
000001
912
002466
001030
913
002470
022713
000001
914
002474
00'012
915
002476
017002
000000
916
002502
005070
000000
917
002506
042702
077772
91B
919
920
002512
005702
921
002514
DO
1401
922
002516
104002
923
924
925
926
002520
000411
927
002522
017002
000000
928
002526
005070
000000
929
002532
046702
,76276
930
002536
005702
931
00.2540
00
I
401
932
002542
104002
933
934
935
936
CCMFAFO.
MEMORY
PARITY
TEST
CCMFAF.P11
13-JAN-?812:13
937
002544
93B
002550
939
940
002554
941
002556
942
002562
943
944
945
946
947
94B
949
950
951
952
953
954
955
956
9S7
9S8
959
960
961
962
963
964
965
966
967
968
969
970
97'
972
973
974
975
976
977
97B
979
980,
981
982
983
984
985
986
9B7
9B8
989
990
991
992
00256-1
002566
002574
002600
002602
002606
002612
002616
002622
002626
002632
002636
002640
002646
002654
002660
002664
002666
002672
002676
002704
002706
002710
005070
000000
062700
000010
005723
020027 000766
002737
1
04001
012777
005767
001044
004767
004767
004767
005067
005067
012701
032711
001006
056167
056167
062701
020127
103762
004767
005267
032777
001402
000000
000742
000003
175762
011204
007
I
44
007466
176246
176244
000566
000001
000002
000004
0000
10
000766
010126
175664
001000
MACY1!
30A(
1
052)
13-JAN-78
12'27
PAGE
17
SEQ
0017
;
PRESENT.
;
"'*
"'*
'"
"'.'"
"'*'"
***
0/<**
",*
...
'"
'"
."'**
'"
."'*
*
'" '"
"'''II
*$*
"'*
'"
*"''''
'"
***
•••
*
*'"
**
.",*>Ie.",
"'."'
...
"'*
TES
T2'
SCOPE
176544
MOV
'2,@>DISPLAY
LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
CLR
IMAX
DON'T
ITERATE
TEST
MOV
'MPRO,
RO
LOAD
PO
INTER
MOV
'INDCO,R3
POINTER
TO
INDICATOR
1$'
BI
T
.,
,lORD
IS
THIS
PARITY
REGISTER
PRESENT?
ONE
5$
NO
BRANCH
CMP
",
(R3)
IS
THIS
CORE
OR
MOS
PARITY
REGISTER?
BEQ
6$
ND-
8RANCH
000000
MOV
"0001S,II>(RO)
MOS-SET
ALL
DEFINED
BITS
TO
1
8R
.+10
000000
6$:
MOV
Hl07745,II'(RO)
CORE-
SET
ALL
DEFINED
BITS
TO
5$'
ADO
#10.
RO
MOvE
POINTER
TO
POINT
TO NEXT
MPR
AOORESS
TST
(R3)+
INCREMENT
POINTER
TO
INDICATOR
OF
A
PARITY
REGISTER
CMP
RD.
NTREG
AT END OF
TABLE?
BLl
1$
NO-
CaNT
INUE
TSTB
$TPFLG
YES-
TERMINAL
AVAl
LABlE?
BNE
4$
NO-
BRANCH
TSTB
I'TPS
YES-
WAlT
FOR
TERMINAl
TO
FINISH
BPL
.-4
4$'
RESET
ISSUE
IN
IT
MOV
II'MPRO,
RO
LOAD AODRESS
OF
THE
TABLE
MOv
'INDCO,R3
POINTER
TO
INDICATOR
TSl8
CACHF L CACHE ?
BEQ
2$
BRANCH
IF
NO
176542
MOV
"4,@CACHE
DISABLE
CACHE
2$'
BIT
,,1
,@IRQ
IS
THIS
PARITY
REGISTER
PRESENT?
BNE
3$
NO-
BRANCH
CMP
",
(R3)
IS
THIS
A
CORE
PAR
REGISTER?
BNE
7$
NO,
BRANCH
MDV
@(RO),R2
YES.
GET CONTENTS
OF
rEGISTER
CLR @(RO) MAKE SURE THAT
WWP
ANO
AE ARE CLEAR
BIC
#77772,
R2 MASK RESERVED
BITS
FOR
CORE PAR
-lTY
REGISTER.
BITS
5-1
I (ADORS
BITS)
ARE A
LSD
MASKED
TST
R2
CHECK,
I F REST
WERE
CLEARED
BEQ
.+4
ERROR
CORE
PARITY
REGISTER
"HOSE
ADDRESS
IS
PO
aH
ED
TO
BY
RO
WAS
INCORRECT
ACTER A RESET
WAS
ISSUED-
CONTENTS
SAVEO
IN
R2
wITH
UNUSED
BITS
MASKED
BR
3$-4
7$'
MOV
@(RO)
,R2
MOS, GET CONTENTS
OF
REGISTER
CLR @(RO) MAKE SURE THAT
~JWP
8AE ARE CLEAR
BIC
RESVM, R2 MASK RESERVED
BITS
FOR
MOS
PAR REG
TST
R2 CHECK REST
BEQ
.+4
RESET
DID
CLEAR
ALL
BITS
ERROR
MOS
PARITY
REGISTER
WHOOSE
ADDRESS
IS
POINTED
BY
RO
WAS
INCORRECT.
AFTER
ISSUING
RESET CONTENTS
OF
PAR
REG
WERE
AS
·.HOWN
IN
R2(UNUSED
BITS
HAVE BEEN
MASKED)
MACY"
30A(1052)
13-JAN~78
12'27
PAGE
lB
176306
176222
176216
176174
3$'
CLR
ADD
TST
CMP
BL,
@(RO)
#10,RO
(
R3)+
RO,
.TREG
2$
,REINITIALIZE
PARITY
REGISTER
:MOVE
POINTER
TO
POINT
TO
ADDRESS
;oe
NEXT
REGISTER
:
INCREMENT
POINTER
TO
INOICATOR
; DONE?
;NO-
LOOP
;
'" '"
"'
..
,.
",
..
*
'"
'" '"
*
*''''
'" '"
'"
*'
...
'"
"'~.
'"
'"
"'*
'" '"
'"
"'.
'" '"
**
'"
"'.',.
..
*'
01
'"
*'
'"
"'*
*
"'*
* *
"'*
**
"'*
**
"'*
'"
"''''
'"
"'*
'" '"
;MAP CORRESPONDENCE BETWEEN
PARITY
REGISTERS
AND
MEMORY.
AND
TYPE
RESULTS
:NOTE
THAT
IF
PARITy
MEMOR'y'
IS
NOT
LOCATED CORRECTLY
BY
THIS
SUBTEST
:IT
IS
DuE
TO
ONE
OF THE FOLLOWING
FAILURES:
-SETTING
~JRITE
WRONG
PARITY
DID
NOT
CAUSE
BAD
PARITY
TO
BE
WRITTEN
-PARITY
GENERATE
OR
OETECT
LOGIC
FAILED
-PARITY
ERROR
BIT
FAILED
TO
SET
SEQ
0018
-PARITY
BITS
IN
MEMORY
LOCATION
FAilED
(I.E.
BIT
STUCK AT
GOOD
PARITY
VALUE)
;NOTE
THAT
SETTING
SWITCH
REGISTER
S\·'ITCH
9 WILL CAUSE A HALT AFTER THE
MAP
:IS
TYPED.
IF
YOU
WISH
TO
CHANGE THE MAP
TO
I50LATE
THE CAUSE OF A
MAPPING
:FAILURE,
YOU
CAN
DO
THIS
ONCE THE PROCESSOR
IS
HALTED.
SEE THE
DESCRIPTION
:IN
THE
LISTING
(PRECEDING
THE MAP TAG
"MPRO"
AT
LOCATION
600)
FOR
THE
MEANING
;OF
THE
MAP
CONTENTS. AFTER MAKI!\IG THE
DESIRED
CHANGES.
PRESS
CONTINUE.
THE
NEW
;MAP WILL
BE
TYPED AND
IF
SWITCH 9
IS
LEFT
SET
THE
PROCESS WILL BE
REPEATED.
:
IF
SWITCH 9
IS
NOT
LEFT
SET THE
PROGRAM
WI
LL
PROCEED
TO
TEST
THE
PARITY
MEMORY
:ANO
REGISTERS
AS RECORDED
IN
THE
NEW
MAP.
;
"'*
** l\t
>Ie",
'" * ***"'*
..
"'*
""oj<
'"
"'**'"
>I<
'" '"
**
"'*
"'*'"
*"'**
..
'"
'"
>I<
'"
**
*.
"'*
"'***
*'"
*
'"
**
"'*
** **
*'"
"''''
TEST'"
SCOPE
MOV
TST
BNE
JSR
JSR
JSR
CONT3'
CLR
CLR
MOV
1$'
BIT
BNE
SIS
BIS
2$'
ADD
CMP
6LO
JSR
INC
BI
T
BEQ
HALT
BR
1t3,@lDISPLAY
MTYFG
TEST4
%7.
CLRPAR
%7,MAPMEM
%7,MAPREG
PMEML
PMEMH
ItMPRO,Rl
#1.@R1
2$
2(Rl),PMEML
4(Rl)
,PMEMH
#10,
R1
Rl,#TREG
1$
%7,
TMAP
MTYFG
#BIT9,@SWR
.+6
CONT3
: LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
:
IF
MAPPING
HAS ALREAOY BEEN DONE
:SKIP
SUBTEST
;
MAP
MEMORY
;
FIND
PARITY
MEMORY
AND
CORRESPONDING
:REGISTERS
USING
WRITE
WRONG
PARITY
;W1THOUT ACTION ENABLE
SET
;
INITIALI.i.E
LOCATIONS
INDICATING
:
TOT
AL
PARITY
MEMORY PRESENT
; FLAG
EXISTING
PARllY
MEMORY (LOW
64K)
:FLAG
EXISTING
PARITY
MEMORY
(HIGH
64K)
:TYPE
MAP
:
INDICATE
MAPPING
DONE
;5WITCH
9
SET?
:
NO-
BRANCH
:YES-
SWITCH
9 SET
INDICATING
HALT
;AFTER
TYPING
PARITY
MEMORY MAP
:
GO
TYPE
NEW
MAP
TO
VERIFY
USER'S
INTENT
; ** *
'*
"'*
'"
'"
*
"'*
"'
••
>I<
"''''*
"'*
O'
..
"'*
"'*
>I<
'"
** **
>I<
'"
'" '"
'" '"
*** * ** * * *
*"'*
******
***"''''* "'******
;SHOW THAT ASSERT
P8
WORKS
CORRECTLY
FOR
EACH
REGISTER
:SHOW THAT
NO
TRAP OCCURS
IF
AcTION
ENABLE
(AE)
IS
NOT SET
CCMFAFO,
MEMORY
PARITY
TEST
MACYlt
30A(
1052)
13-~AN-78
12:27
PAGE
19
CCMFAF.
PI1
13-~AN-7B
12:
13
SEQ
0019
993
;SHOW
THAT
SETTING
AE
WITH
ERROR
ALREADY SET DOESN'T CAUSE A TRAP
994
;NOTE THAT
IF
A
KTll
IS
PRESENT,
IT
IS
USED
DURING
THIS
SUBTEST
995
;
.....................................................................
996
002712
104001
TEST4:
SCOPE
997
002714 012777 000004
176160
MOV
N4,.DISPLAY
;
LOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
998
002722
012767
000100
013526
MOV
#100,IMAX
999
002730 004767
011
056
~SR
%7,CLRPAR ;CLEAR
ALL
PARITY
REGISTERS
1000
002734 005767
175610
TST
NOKT
;KT11
PRESENT?
1001
002740 001004
BNE
1$
;NO-BRANCH
1002
002742 004767 010744
uSR
%7,NRALL
; YES-MAP
ALL
PAGES
NON
RESIDENT
1003
002746 004767
01111
0 uSR
%7,MAPI
;
THEN
MAP
KERNEL 0
TO
BANK
0,
KERNEL
1004
;7
TO
EXTERNAL BANK, SET KERNEL
1005
;0,1,
AND
7
RW,
AND
TURN
ON
KTll
1006
002752 012700 000566
1$:
MOV
NMPRO,
RO
; SETUP
TO
FIND
REGI STERS PRESENT
1007
002756 012702
000770
MOV
N1NDCO,
R2
1008
002762
032710
000001
LOOP4:
BIT
Nl,IIRO
;
IS
THIS
REGISTER PRESENT?
1009
002766 001405
BED
TST4
; YES-BRANCH
TO
TEST
IT
1010
002770
062700
0000.10 LOP4:
ADD
Nl0,RO
; NO-CHECK
FOR
ANOTHER
ONE
1011
002774 005722
TST
(R2)+
; INCREMENT PTR9LT
1012
002776
103771
BLO
LOOP4
1013
003000 000457
BR
DONE4
;
BRANCH
WHEN
ALL
REGISTERS
HAVE
BEEN TESTED
1014
003002
004767
011120
TST4:
uSR
%7,
LocATM ; LOCATE
MEMORY
CORRESPONDING
TO
1015
;THIS
REGISTER-
IF
NO
KTI
I,
Rl
SHOULD
1016
;
BE
RETURNED
CONTAINING
THE
ADDRESS
1017
;OF THE 1ST LOCATION CONTROLLED
BY
THIS
1018
;REGISTER
(INCLUDING
EXTERNAL
INTERLEAVE
1019
jOFFSET
IF
NEEDED) SHOUl.D
BE
RETURNED
1020
;IF
KTI1
IS
PRESENT,
Rl
1021
;POINTING
TO
THE
1ST LOCATION CONTROLLED
1022
;BY
THIS
REGISTER, MAPPED
THRU
KERNEL
1023
;
PAGE
1.
KERNEL
PAGE
1
SHOULD
BE
1024
;MAPPED
TO
THE
CORRECT
BANK
1025
003006
032701
000001
BIT
#l,Rl
;
IS
ERROR
RETURN
INDICATED?
1026
003012 001403
BED
.+10
;NO-
BRANCH
1027
003014
104002
ERROR
JMAP
INDICATES
NO
PARITY
MEMORY
1028
;
IS
CONTROLLED
BY
THIS
REGISTER
1029
;RO POINTS
TO
THE
ADDRESS
OF
THE
1030
;
PARITY
REGISTER
1031
003016
000167
177746
~MP
LOP4
1032
003022 012737
003110
000114
MOV
NTRP4A,ON114
;SETUP
PArllTY
TRAP
RETURN
1033
003030
012770
000004
000000
MOV
#WWP,II(RO)
;SET
WRITE
WRONG
PARITY
1034
003036
01111
1
MOV
IIR1,IIRl
;WRITE
CONTENTS
OF
LOCATION WITH
1035
;
WRONG
PARITY
1036
003040
005070
000000
CLR
II(RO)
;CLEAR
PARITY
REGISTER
1037
003044
005711
TST
IIRI
;
READ
BAD
PARITY
WITH ACTION ENABLE
1038
; CLEARED-
NO
TRAP
EXPECTED
1039
003046 012737 003116
000114
MO. NTRP4B,IINPARVEC ;
CHANGE
PARITY
TRAP
RETURN
1040
003054
052770
000001
000000
BIS
NAE,II(RO)
;
SET
ACTION ENABLE WITH
PARITY
ERROR
1041
;ALREADY
SET-
SHOULDN'T
TRAP
YET
1042
003062
012737
003124
000114
MOV
NTRP4C
,II'PARVEC
;
CHANGE
PAR
ITY
TRAP
RETURN
1043
003070
005711
TST
IIRI
;READ LOCATION
AGAIN-
SHOULD
GET
1044
; A
PARITY
TRAP
DUE
TO
READING
BAD
1045
;
PARITY
WITH ACTION ENABLE
SET
1046
003072
104002
ERROR
;NO
PARITY
TRAP
AFTER READING
LO~ATlON
1047
;WHICH
SHOULD
CONTAIN
DAD
PARITY-
104B
;Rt
CONTAINS ADDRESS
OF
MEMORY
LOCATION
CCMFAFO,
MEMORY
PARITY
TEST MACYI1
30A(
1
052)
13-~AN-7B
12:27
PAGE
20
CCMFAF.
Pl1
13-JAN-78
12:13
SEQ
0020
1049
(VIRTUAL,
THRU
KERNEL
PAGE
"
IF
KT
11
1050
PRESENT)
RO
POINTS
TO
THE
ADDRESS
OF
1051
THE
PARITY
REGISTER
IN
WHICH
AE
WAS
SET
1052
003074
005070
000000
CONT4 :
CLR
II(RO)
CLEAR
PARITY
REGISTER
1053
003100
005511
ADC
IIRI
CLEAR
BAD
PARITY
1054
003102
005070
000000
CLR
II(RO)
CLEAR
PARITY
ERROR
BIT
1055
003106 000730
BR
LOP4
GO
TO
TEST NEXT REGISTER
1056
00311
0
104002
TRP4A:
ERROR
PARITY
TRAP
OCCURRED
WITH ACTION
1057
ENABLE
CLEAR-
RO
POINTS
TO
THE
ADDRESS
1058
OF
THE
PARITY
REGISTER
UNDER
TEST
1059
Rl
CONTAINS
THE
ADDRESS
OF
THE
MEMORY
1060
UNDER
TEST
(VIRTUAL
IF
KTI1
IS
"qESENT)
1061
003112
022626
CMP
(SP)+,(SP)+
RESTORE STACK POINTER
1062
003114
000767
BR
CONT4
1063
003116
104002
TRP4B:
ERROR
;
PARITY
TRAP
OCCURRED
WHEN
ACTION
1064
; ENABLE
WAS
SET WITH
PARITY
ERROR
1065
; ALREADY SET
1066
;
RO
POINTS
TO
THE
ADDRESS
OF
THE
1067
;
PARITY
REGISTER
UNDER
TEST
1068
;Rl
CONTAiNS
THE
MEMORY
ADDRESS
UNDER
1069
; TEST
(VIRTUAL
IF
KT11
IS
PRESENT)
1070
003120
022626
CMP
(SP)+,
(SP')+
;RESTORE STACK POINTER
1071
003122 000764
BR
CONT4
1072
003124 005770
000000
TRP4C: TST
.(RO)
;
ERROR
BIT
SET AFTER
PARITY
TRAP?
1073
003130
100401
BMI
.+4
;
YES-
BRANCH
1074
003132
104002
ERROR
;
ERROR
81 T
NOT
SET AFTER
PARITY
1075
;
TRAP-
RO
POINTS
TO
THE
ADDRESS
1076
;OF
THE
PARITY
REGISTER
UNDER
TEST
1077
003134
022626
CMP
(SP)+,(SP)+
;RESTORE STACK POINTER
1078
003136
000756
BR
CONT4
1079
003140 012737
000116
000114
DONE4:
MOV
.PARVEC+2,.'PARVEC
;
RESTORE
TRAP CATCHER
1080
003146 005767
175376
TST
NOKT
1081
003152
001002
BNE
.+6
1082
003154 005037
177572
CLR
••
SRO
;TURN
OFF
KT11 I F PRESENT
1083
1084
1085
;
....
4-
...........
*
••••
***
....
******
••••••••
"'
•••
_._
•••
**
....
*****
**
••••••
*
••••
1086
;SHOW
THAT READING
GOOD
PARITY
AFTER
BAD
PARITY
DOESN'T CLEAR
PARITY
ERROR
BIT
1087
;
.........
"'
....
'" '"
'"
"'
...
'"
"'.*
"'
..
'"
"'
......
"'
••
"'
...
**
....
'"
•••
*
..
'"
'"
**
'"
"'
....
**
'"
'"
"'
...
'"
*
'"
"'.*
**
....
"'
.... *
...
1088
003160
104001
TEST5:
SCOPE
1089
003162
012777
000005
175712
MOV
N5,@DISPLAY
;
LOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
1090
003170
004767 010616
~SR
PC,CLRPAR ;CLEAR
ALL
PARITY
REGISTERS
1091
003174
005767
175350
TST
NOKT
;KTI1
PRESENT?
1092
003200
001004
BNE
1$
;NO,
BRANCH
1093
003202
004767
010504
~SR
PC,NRALL
;YES,
MAP
ALL
PAGES
NON-RESIDENT
1094
003206
004767
010650
~SR
PC,MAPI
;
THEN
MAP
KERNEL 0
TO
BANK
O.
MAP
KERNEL
1095
; 7
TO
THE
EXTERNAL BANK. SET KERNEL
1096
;0,1,
AND
7
RW,
AND
TURN
ON
KTI1
1097
003212
012700
000566
1$:
MOV
NMPRO,
RO
;SETUP
TO
FIND
REGISTERS PRESENT
1098
003216
03271
0
000001
LOOPS:
BIT
#I,i>RO
;
IS
THIS
REGISTER PRESENT?
1099
003222
001406
BEQ
TST5
;
YES-
BRANCH
TO
TEST
IT
11
00
003224
062700 000010
LOPS:
ADD
Nl0,RO
;
NO-
CHECK
FOR
ANOTHER
ONE
1101
003230
020027
000766
CMP
RO,NTREG
1102
003234
103770
BLO
LOOPS
1103
003236
000431
BR
DONES
;
EXIT
WHE,'
ALL
REGISTERS
HAVE
BEEN TESTED
1104
003240
004767
010662
TST5:
~SR
PC,
LQCATM
;
LOCA
TE
MEMORY
CORRESPONDING
TO
THIS
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF
.Pl1
13-JAN-#/8
12:
13
11
05
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
"1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
,
138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
,
150
1151
1152
1153
1154
1155
1156
"
57
1158
1159
1160
CCMFAFO.
003244
003250
003252
003254
003260
003266
003270
003272
003300
003302
003304
003310
003312
003314
003320
003322
003326
003330
003334
003336
003344
003350
003354
003356
003362
003366
003372
003376
003400
003404
0034
t a
003412
003414
MEMORY
032701
000001
001403
104002
000167
177744
012770
000004
011111
00S711
042770 000004
01
1111
005711
005770
000000
100401
104002
005070
000000
000741
005767
175222
001002
005037
177572
104001
012777 000006
004767
010442
005767
175174
001
C
04
004767
010330
004767
010474
012700
000566
032710
000001
DC
1406
062700
000010
020027
000766
103770
000523
004767
010506
~ARITY
TEST
CCMFAF.P11
13-JAN-78
12:
13
1161
1162
1163
003420
032701
000001
1164
003.:124
001403
"65
003426
104002
1166
1167
1168
1169
003430
000167
177744
1170
1171
'172
1173
003434
005011
1174
003.!l36
005070
000000
1175
003442
005002
1176
1177
003444
110211
1178
003446
005711
1179
003450
005770
000000
1180
003454
100006
1181
003456
104002
1182
1183
11 B4
1185
003460
005070
000000
1186
003464
005011
1187
003466 005002
1188
003470
000402
1189
003472
105:202
1190
003474
001363
'191
003476
110261
00000
1
1192
003502
005711
1193
003504 005770 000000
1194
003510
100002
1195
003512
104002
1196
1197
1198
003514
000402
1199
003516
105202
1200
003520
001366
1201
1202
1203
1204
003522
0050
11
1205
0035~4
005002
1206
003526 012770 000004
1207
003534
110211
120B
003536 005070
000000
,
209
, 21 0
00.3542
005711
1211
003S44
005770 000000
1212
003550
100402
1213
003552
104002
1214
,
215
1216
MACY"
30A(1052)
13-JAN-78
12:27
PAGE 21
000000
000000
175536
MACY11
000000
SEQ
0021
BIT
#
1,
R1
BE0
+1
a
ERROR
JMP LOPS
MOV
ItWWP
RO
1
MOV
@R1
TST
@R1
BIC
";WP,
(O(
RO)
MOV
@lR1
,@lR1
TST
@R1
TST
@(RO)
BMI
.+4
ERROR
CLR
@(RD)
BR
LOPS
DONES:
TST
NOK r
BNE
.+6
CLR
@#SRO
REGISTER-
R1
WILL
BE
RETURNED
CONTAINING
THE ADDRESS
OF
THE
FIRST
LOCATION
CONTIWLLED
BY
THIS
REGISTER
(MAPPEO
THRU
KER~JEL
PAGE 1
IF
KT11
IS
PRESENT)
IS
ERROR RETURN
INDICATED?
NO-
BRANCH
MAP
INDICATES
NO
PARITY
MEMORY
IS
CONTROLLED BY
THIS
REGISTER.
RO
POINTS
TO
THE ADDRESS OF THE
PARITY
REGISTER
;SET
WWP
IN
THIS
REGISTER
;I,o,'RITE
CUNTENTS
OF
LOCATION
~JITH
;
It/RONG
PA!~I
TY
;DETECT
\·mm~G
PARITY
;CLEAH
I>IWP
IN
PARITY
REGISTER
;RESTORF..
GOOD
PARITY
; REREAD LOCAT
ION
:READ
CONfENT$
OF
PARITY
REGISTER
;BRANCH
IF
PARITY
ERROR
IS
STILL
SET
;
PARI
TV
ERROR
BI
f
CLEARED
BY
READING
;GOOD
PARITY
(OR
POSSIBLY
l.>JHILE
DOING
;THE
BIC
fO
CLEAR
WWP).
RO
POINTS
TO
;THE
PARITY
REGISTER
ADDRESS.
;CLEAR
THE
PARITY
REGISTER
; TURN OFF
KT11
I F
PRESENT
; ",**
oj<
>I
***"'
...
"'''
"'.
'"
*,.**,,'01".
*'
*"'*****
*
..
***
****
*'
*
..
**
"'*i<",
~*
"'*
*
...
*,.
******
***
..
***"'*
;SHDW THAT
PARlTY
GENERATE AND
DETECT
LOGIC
\!JORKS
CORRECTLY
FOR
EACH
BYTE
;SHOI": TriAT
WRITE
WKONG
PARITY
WORKS
FOR
HIGH
AND lOW
BYTES
;SHO~:
THAT
WRITING
INTO
LOCATION
~<JHEN
WRITE
I,oIRONG
PARITY
IS
NOT SET
;RESTORES
GOOD
PARITy
TES16
: SCOPE
MOV
#6,I§.lOISPLAY
: LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
JSR
%7,
CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
TST
NOKT ; KT
11
PRESENT?
BNE 1 $ ;
NO,
BRANCH
uSR
%7,NRALL
;
YE$-
MAP
IT
(KERNEL
0
TO
BANK
0,
R'.'J;
uSR
%7,MAPl
;
KERI~E
L 7
TO
EXTERr~AL
BANK.
RW;
KERNEL
1
RW)
;
!~ND
TURN
IT
ON
1
$:
MOV
hMPRO,RO
;SETUP
TO
F I
NO
REGISTERS
PRESENT
LOOP6 : BIT # 1,@lRO ;
IS
THI
S
REGISTER
PRESENT?
BEQ
TST6
;YES-
BRANCH
TO
TEST
IT
LOP6
:
ADO
#10.
RO
;
NO-
CHECK
FOR
ANOTHER ONE
CMP
RO.I1TREG
8LO
LOOP6
BR
DONE6 ; BRANCH
TO
DO:'\JE
IF
ALL
REGI
STERS
; HAVE BEEN
TESTED
TST6
:
uSR
%7,LOCATM
; LOCATE MEMORY
CORRESPONDING
TO
;THIS
REGISTER-
R 1 SHOU LD
BE
RETURNED
;CONTAINING
THE ADDRESS OF THE
FIRST
30A(
1052)
13-JAN-78
12:27
PAGE
22
SEQ
;
LOCATION
CONTROLLED
BY
THIS
REGISTER
;
(VlfHUAL
THRU
KERNEL
PAGE 1
IF
KT 11
PRESENT)
SI
T 111.
R1
; I F
NO
MEMORY
'liAS FOUND
TO
CORRESPOND
BEQ
.+10
;
OClO
ADDRESS
IS
RETURNED-BRANCH
IF
OK
ERROR ;
MAP
INDICATES
NO
PARITy
MEMORY
IS
: CONTROLLED
BY
THIS
REGISTER
;RO
POINTS
TO
THE ADDRESS OF
THE
;PARITV
REGISTER
JMP LOP6 ;
AFTER
ERROR, CHECK
FOR
NEXT
REGISTER
;FIRST
SHOW
THAT I F THE
PARITY
REGISTER
IS
CLEARED
INITIALLY.
;PARrTY
ERROR DOESN J T SET
CLR
@R1
;
INITIALIZE
LOCATION
UNDER
TEST
CLR
@(RDl
;
INITIALLY
CLEAR
PARITY
REGISTER
CLR
R2
;R2
CONTA
..
'JS
V"\LUE
TO
BE LOADED
;
INTO
MEMORY
1$:
MOV6 R2 ,@IRl
;\!JRITE
VALUE
INTO LOll)
BYTE
TST
@R1
; READ
IJIOR8
TO
CHECK PAR I
TY
TST
@(RO)
; CHECK
PARI
TY
REGISTER
BPl
5$
; BRANCH
IF
ERROR NOT
SET
ERROR
;PARITY
ERROR SET
WHEN
VALUE
IN
R2
WAS
;WRITTEN
AND READ BACK
FROM
LOW
BYTE
OF
;
LOCATION
It,HOSE ADDRESS
IS
CONTAINEO
IN
; R 1
(W1IJP
i,'JAS
NOT
SET)
CLR
@(RO)
;CLEAR
ERROR
BIT
CLR
@R1
;REINITIALlZE
TEST
LOCATION
CLR R2
;REINITIALIZE
VALUE
TO
BE
USED
BR
2$
5$:
INCB
R2 ;
INCREMENT
VALUE
TO
BE LOADED
BNE
1$
;LOOP
UNTIL
ALL
VALUES
HAVE BEEN
USED
2$:
MOV8
R2,
1(
R1)
;'IJRITE
ALL
VALUES
INTO
HIGH
BYTE
TST
@R1
: READ
WORD
TO
CHECK
PAR
I
TY
TST
@(RO)
;
CHEC~\
PA'd
TY
REGISTER
BPl
.+6
; BRANCH 1 F ERROR NOT
SET
ERROR ;
PARITV
H."ROR SET
~oJHEN
VALUE
IN
R2
;1,'JAS
l,oJRITTEN
AN~
READ BACK
FROM
HIGH
BYTE
;OF
LOCATION
WHOSE
ADDRESS
IS
CONTAINED
BR
6$
;
IN
R 1
(W·.>JP
VJAS
NOT
SET)
INCB
R2
;INCREMENT
VALUE
TO
BE LOADED
BNE
2$
; LOOP UNT
IL
ALL
VALUES
HAVE
BEEN
USED
;TEST
P,\R I
TY
GENERATE AND
DETECT
LOGIC
BY
SETTING
~JRlTE
l.oJRONG
PARITY
AND
;WRITING
EACH
POSSIBLE
VALUE
TO
THE
LOW
BYTE,
THEN
TO
THE
HIGH
BYTE
6$
:
ClR
@R1
;
INITIALIZE
LOCATION
UNDER
TEST
CLR
R2
;INITIALIZE
VALUE
TO
BE
WRITTEN
3$:
MOil
#WI,oJP,@(RO)
;SET
l,oJRl
TE
l.'JRONG
PARITY
MOVB
R2
,@R1
;WRITE
WRDNG
PARITY
IN
lOW BYTE
ClR
@(RO)
;
CLEAR
l,oJRlTE
WRONG
PARI
TY.
AND
CLEAR
;
PARITY
ERROR
IF
SET
TST
@R1
; READ BACK
l,oJRONG
PARITY
TST
@(RO)
;
PARITY
f:.RROR
SET?
BMI
.+6
;
YES-BRANCH
ERROR
:PARITY
ERROR
DID
NOT
SET
WHEN
THE
;
LOCATION
UNDER
TEST
WAS
WRITTEN
: AND READ BACK
WITH
WR
..
TE
WRONG
PARITY
; SET
RD
POINTS
TO
ADDRESS
OF
PARITY
0022
..
CC'\
!
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF.P11
13-JAN-7812:13
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
,
235
1236
1237
1238
1239
1240
1241
1242
1243
1244
'245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
t
267
1268
1269
1270
003554
003556
003560
003562
003564
003570
003572
003576
003600
003602
003610
003614
003620
003622
003626
003630
003632
003634
003636
003640
003642
003646
003650
003654
003656
003660
003662
003666
003670
000402
105202
001362
005011
005070
005711
005770
100(}01
104002
012770
110261
005070
005711
005770
100402
104002
000402
105202
001361
005011
005070
005711
005770
100001
104002
000647
005767
001002
005037
1271
003674
104001
000000
000000
000004
000001
000000
000000
000000
000000
174662
177572
1272
003676
012777 000007
CCtJlFAFO, MEMORY
PARITY
TEST
CCMFAF.Pl1
13-JAN-7812:13
1273
003704
004767
010102
1274
003710
012737
004004
1275
003716
005037
000116
1276
003722
012700
000566
1277
003726
032710
00000,
127B
003732
001406
1279
003734
062700
000010
1280
003740 020027
000766
1281
003744
103770
1282
003746
000412
1283
003750
012770
000001
1284
003756
052770
100000
1285
003764 000240
1286
003766
DC
5070
000000
1287
003772
000760
1288
003774
012737
000116
1289
004002
000405
1290
004004
104002
1291
1292
1293
1294
1295
004006
022626
1296
004010 005070
000000
1297
004014
000747
129B
1299
1300
1301
1302
1303
1304
1305
MACY11
30A(1052)
13-JAN-7B
12:27
PAGE
23
000000
4$:
BR
INCB
BNE
CLR
CLR
TST
TST
BPL
ERROR
MOV
MOVB
CLR
TST
TST
BMI
ERROR
BR
INCB
BNE
CLR
CLR
TST
TST
BPL
ERROR
BR
TST
BNE
CLR
.+6
R2
3$
@Rl
@(RO)
@Rl
"(
RO)
.+4
#WWP,@>(RO)
R2,1(R1)
@(RO)
@Rl
@(RO)
.+6
.+6
R2
4$
@Rl
@(RO)
@Rl
@(RO)
.+4
LOPS
NOKT
.+6
@#SRO
REGISTER.
Rl
CONTAINS
ADDRESS
OF
LOCATION
BEING
TESTED
(VIRTUAL,
THRU KERNEL
PAGE
1
IF
KT11
IS
PRESENT).
R2
CONTAINS
THE
VALUE
WRITTEN
EX
IT
LOOP
AFTER
ERROR
INCREMENT DATA
LOOP
TILL
DONE
WITH
ALL
VALUES
REINITIALIZE
lOCATION
TO
CLEAR BAD
PARITY
CLEAR
ERROR
IF SET
READ
LOCATION,
WHICH SHOULD
NOW
HAVE
GOOD
PAR
ITY
PARITY
ERROR
SET?
NO,
BRANCH
GOOD
PARITY
WAS
NOT
RESTORED BY
WRITING
INTO THE LOCATION WITH
WRITE
WRONG
PARITY
CLEARED
SET WRITE
WRONG
PARITY
WRITE
WRONG
PARITY
IN
HIGH BYTE
CLEAR WRITE
\IJRONG
PARITY
AND
PARITY
ERROR I F SET
READ
BACK
wRONG
PARI
TV
PARI
TY
ERROR
SET?
YES-BRANCH
PARITY
ERROR
DID
NOT
SET
WHEN
THE
LOCATION
UNDER TEST
WAS
WRITTEN
AND
READ BACK
WITH
WRITE
WRONG
PARITY
SET.
RO
POINTS
TO
THE AODRESS
OF
THE
PARITy
REGISTER.
SEQ
0023
THE
VALUE
IN
R2
WAS
WRITTEN
INTO
THE HIGH
BYTE
OF
THE
LOCATION
WHOSE
ADDRESS
IS
IN
R1
I
VIRTUAL
THRU KERNEL PAGE 1
IF
KT11
PRESENT)
THEN
THE:.
PARITY
REGISTER
WAS
CLEARED
AND
THE
~<JORD
WAS
READ
BACK
EX
1 T LOOP AFTER ERROR
INCREMENT
DATA
LOOP
TILL
DONE
WITH
All
VALUES
CLEAR BAD
PARITY
IN
TEST
LOCATION
CLEAR
PARITY
ERROR
BIT
IF
SET
READ
LOCATION. WHICH SHOULD
NOW
HAVE
GOOD
PARITY
CHECK
PARITY
ERROR
BIT
BRANCH
IF
CLEAR
WRITING
INTO LOCATION
WHEN
WRITE
WRONG
PARITY
WAS
NOT
SET
DID
NOT
WRITE
GOOD
PARITY
GO
CHECK
FOR
ANOTHER
PARITY
REGISTER
iTURN
OFF
KT11
IF
PRESENT
; ** *
....
"'"'
"'
..
'"
'"
'" '"
**
'" '"
'"
***
*'
'"
** **
**
'" '"
** **
**
**.*
"'
...
*'"
"'
...
**.*
**
'"
'" '"
'"
'"
'" '" '"
'"
'"
**
**
**
*"''''
;SHOW
THAT
SETTING
PARITY
ERROR AFTER
SETTlNG
ACTION ENABLE WON'T CAUSE A TRAP
;
**
'" '"
**,.
**
**
'"
****
****
'"
**
'"
** **
'"
"'
......
** **
**
*
'" '"
'"
'" '"
"'*
*'
'"
"'*
...
'"
*
...
**
'"
>I<
** ** ** ** ** ",,,,II<
TEST7:
SCOPE
175176
MOV
#7
,"DISPLAY
: LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
MACY11
30A(1052)
13-JAN-7B
12:27
PAGE
24
000114
000000
000000
000114
J5R
MOV
CLR
MOV
LUP7 :
BI
T
BE-
LOOP? :
ADD
CMP
BLO
BR
TST7
:
MOV
BIS
NOP
CLR
BR
DONE
7:
MOV
BR
TRP7:
ERROR
CMP
CLR
BR
%7.CLRPAR
II'TRP7,@lIIPARVEC
@IIPARVEC+2
HMPRO.
RO
#1,@RO
TST7
#10,
RO
RD,
,uTREG
LUP7
DONE7
#AE,@(RO)
#PERR,@(RO)
@(RO)
LOOP7
I;'PARVEC+2.@lIIPARVEC
TEST
1 0
(SP)+,
(SP)+
@(RO)
LOOP7
:
INITIALLY
CLEAR
ALL
PARITY
REGISTERS
: SETUP
PARITY
TRAP RETuRN
: SETUP
TO
GET ADDRESS
OF
REGISTER
PRESENT
: BRANCH
TO
TEST
REGISTER
; BRANCH
IF
DONE
TESTING
ALL
REGISTERS
;SET
ACTION ENABLE
;SET
PARITY
ERROR
: SHOULD
NOT
TRAP
: CLEAR
PARITY
REGI5TER
;GO CHECK NEXT
REGISTER
: TRAP OCCURRED
WHEN
PARITY
ERROR
BIT
;
WAS
SET
VI A A
BI
S
INSTRUCT
ION
;WITH
ACTION ENABLE ALREADY
SET.
:RD
POINTS
TO
THE ADDRESS
OF
THE
;
PARITY
REGISTER
:RESTORE
STACK
POINTER
:CLEAR
PARITY
REGISTER
**'"
'"
*
'"
'"
'"
'"
'" '"
"'*"'**
'"
*'"
'"
*
'"
"'*
"'*
'"
'"
* ** *"'*
'"
**
'"
>t
*
"'
...
"'*
'" '"
*'"
"''''
"''''
'" '"
** * *
'" '"
**
*
"'**
*'"
***
SHOW
THAT REPEATED
PARITY
ERRORS
WILL
CAUSE REPEATED TRAPS
IF
ACTION
ENABLE
IS
SET
AND
PARITY
ERROR
IS
LEFT
SET.
SHO,) THAT
niE
ERROR
ADDRES5
BITS
(11-5)
TRACK
(ONLY
FOR
CORE
PARITY
REGISTERS)
** **
*
'"
ill
'" '"
"'*"''''''''''
'"
"''''*'''
"'**"'*'"
**
"'**
'"
*
'"
"'''''''*
'"
'"
>I<
"'*
...
'"
"'*
'"
"''''
**
"'''''''*
'"
"''''*''''''''''''''''''*'''
***
SEQ
0024
eeMFAFO,
MEMORY
PARiTy
TEST MACY11
30A(
1
052)
13-JAN-78
12:
27
PAGE
25
eCMFAF.
P11
13-JAN-7812:13
SE~
0025
1306
004016
104001
TEST1
0:
SCOPE
1307
004020
012777
000010
175054
MOV
#10,@OISPLAY
LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
1308
004026
004767
007760
JSR
%7,CLRPAR
INITIALLY
CLEAR
ALL
PARITY
REGISTERS
1309
004032
005767
174512
TST
NOKT
KT
11
PRESENT?
1310
004036
001004
BNE
1$
NO-
BRANCH
1311
004040
004767
007646
J5R
%7,NRALL
YES-
INITIALLY
MAP
ALL
PAGES
NR
1312
004044
004767
010012
J5R
%7,MAPl
MAP KERNEL 0
TO
BANK
0,
RW
1313
KERNEL
7 TO THE
EXTERNAL
BANK,
RW
1314
MAKE KERNE", PAGE 1
RW
AND TURN
ON
THE
KT11
1315
004050
012700
000566
1$:
MOV
HMPRO,
RO
1316
004054
012702
000770
MOV
HINDeO,R2
1317
004060
032710
000001
LUPI
0:
BIT
H 1
,@RO
13'8
004064
001407
BEQ
TST10
;BRANC;,
TO
TEST
REGISTER
I F PRESENT
1319
004066 062700
000010
LOOP10:
ADD
#1
0,
RO
1320
004072
005722
TST
(R2)+
1321
004074
020027
000766
CMP
RO,
HTREG
1322
004100
103767
BLO
LUP10
1323
004102
000507
BR
DONE10 ; BRANCH
IF
ALL
REGISTERS
HAVE BEEN
TESTED
1324
004104
004767
010016
TST1
0:
JSR
%7.
LOCATM
1325
004110
032701
000001
BIT
N1
,Rl
;
ERROR
RETURN
INDICATED?
1326
004114
001403
BEQ
.+10
; BRANCH
IF
NO
1327
004116
104002
ERROR
;MAP
INDICATES
THERE
IS
NO
MEMORY
132B
; CORRESPONDING
TO
THIS
REGISTER
1329
;
RO
POINTS
TO
THE ADDRESS
OF
1330
;THE
PARITY
REGISTER
1331
004120
000167
177742
JMP
LOOP
10
1332
004124
012770
000004
000000
MOV
NWWP,@(RO)
;SET
WRITE
WAONG
PAAITY
1333
004132
011111
MOV
IilRl,@R1
;WRlTE
WHCNG
PARITY
IN
FIRST
LOCATION
1334
004134
016161
004000
004000
MOV
4000(Rl)
,4000(Rl)
;WRITE
WRONG
PARITY
IN
SECOND
LOCATION
1335
004142
012770
000001
000000
MOV
hAE,C'(RO)
; SET
ACTION
ENABLE AND CLEAR REST
1336
004150
012737
004202
000114
MOV
hTRPl
O,@lNPARVEC
;SETUP
PARITY
TRAP
RETURN
1337
004156 012767 000010
000152
MOV
H10,COUNT
: SETUP COUNTER
TO
EXECUTE
INSTRU~TION
1
1338
; (
1,,5T
1 )
TEN
TIMES
1339
004164
005711
INST1
:
TST
IilRl
;READ
WRONG
PARITY
WITH
AE
SET-
SHOULD
1340
;TRAP
TO
TRP1Q
1341
004166
104002
ERROR
:NO
PARITY
TRAP OCCURRED.
RO
POINTS
TO
1342
; ADDRESS
OF
THE PAR I
TV
R
EGI
STER BE I
NG
1343
:TESTEO.
1344
004170
000441
BR
CONT10
1345
004172
005761
004000
INST2:
TST
4000(
R1)
;REAO
WRONG
PARITY
FROM
SECOND ADDRESS
1346
:WITH
AE
5ET-
SHOULD
TRAP
TO
TRP10A
1347
004176
104002
ERROR
;NO
PARITY
TRAP OCCURRED,
RO
POINTS
TO
134B
; THE ADDRESS
OF
THE
PARITY
REGISTER
1349
: BEING TESTED
,350
004200
000435
BR
eONT
10
1351
004202
005367
000130
TRP10:
OEt: COUNT
;HAS
PARITY
TRAP OCCURRED TEN
TIMES?
1352
004206
001413
BEQ
1$
;
YES-
BRAI'-lCH
1353
004210
022712
000001
eMP
H1
,(R2)
;
IS
THIS
/...
CORE
PAR
REG?
1354
004214
001005
6NE
2$
; NO, BRANCH (NO ERROR
1355
;
ADDRESS
81
T5
FOR MOS
PAR
1356
004216
032770
000040
000000
BIT
#BIT5,@(RO)
;
IF
ERROR ADDRESS
BITS
ARE
TRACKING,
1357
;BlT
5 SHOULD
8E
CLEAR
(ONLY
FOR
CORE
PARITY)
135B
004224
001401
BEQ
,+4
1359
004226
104002
ERROR ;PARITY
ERROR
ADDRESS
BITS
INCORKECT
1360
;RO
POINTS
TO
THE
ADDRESS
OF
THE
PARITY
1361
;REGISTER.
AI
CONTAINS
THE
ADDRESS
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-78
12:27
PAGE
26
CCMFAF.Pl1
13-JAN-7812:13
1362
1363
1364
1365
1366
1367
136B
1369
1370
1371
1372
,373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
138B
1389
1390
1391
1392
1393
1394
1395
1396
1397
139B
1399
1400
1401
1402
1403
1404
1405
1406'
1407
1406
1409
1410
1411
1412
1413
1414
1415
1416
1417
004230
004234
004236
004244
004250
004252
004256
004260
004266
004270
004272
004274
004302
004306
004310
004314
004320
004322
004326
004330
004334
004336
004340
004342
004350
004354
004360
004362
004366
004372
004376
004402
004406
004410
004414
004416
004422
004424
012716
000002
012737
012716
000002
022712
001005
032770
00,001
104002
022626
012737
005070
005511
00
5561
005070
000662
005767
001002
005037
00
040
1
000000
104001
012777
004767
005767
001004
004767
004767
012700
012703
032710
001003
022713
001407
062700
005723
020027
004164
004252
004172
000001
000040
000116
000000
004000
000000
174222
177572
000011
007436
17
4170
007324
007470
000566
000770
000001
000001
000010
000766
000114
000000
000114
174532
2$:
MOV
RTl
1$:
MOV
MOV
RTl
TRP10A:
eMP
BNE
8IT
BNE
ERROR
1
$:
CMP
CONT10:
MOV
eLR
ADC
ADC
CLR
BR
00NE1
0:
TST
BNt::
CLR
8R
COUNT: 0
IIINST1,@lSP
IITRPl
OA
,@I#PARVEC
IIINST2,@SP
N1
,(R2)
1$
HBlT5,@(RO)
.+4
(SP)+,(SP)+
II PAR'JEC+2.@#PARVEC
@(RO)
@Rl
4000(Rl
)
Iil(
RO)
LOOP
10
NOKT
,+6
@flSRO
TEST11
; REFERENCED
TO
CAUSE A PARITY TRAP
;
(VIRTUAL
IF
KTll
IS
PRESENT)
;GO
EXECUTE
INSTRUCTION
1 AGAIN
;
CHANGE
PARI
TV
TRAP RETURN
:GO
EXECUTE
INSTRUCTION
2
;
IS
THIS
A CORE REG?
:NO.
BRANCH
; PARI
TY
'TRAP
OCCURRED- CHECK
PARITy
;ERROR
ACDRESS
BITS
;BRANCH
IF
OK
(IF
THE
PARITY
ERR~·~
;ADDRESS
6ITS
TRACKED.
BIT
5 WILL
BE
SET)
;PARITY
ERROR
ADDRESS
BITS
INCORRECT
;RO
POINTS
TO
THE
ADDRESS
OF
THE
;PARITY
REGISTER,
THE ADDRESS REFERENCED
;TO
CAUSE THE ERROR
WAS
THAT
IN
;Rl
PLUS
4000
(OCTAL),
; RESTORE T RAPCATCHER
;CLEAR PARITY
REGISTER
;CLEAR
BAD
PARITy
; CLEAR
PARITY
ERROR
BIT
I F SET
; TURN OFF
KT11
IF
PRESENT
i *
"'
......
'"
'"
* *
'"
'"
***
'"
'"
*""*
**
** *
'"
"'*
* *
>1<
......
'"
**
'"
*
**,..".
...
'"
'"
>/.
*-
**
'"
**
'I<,;.
"'
...
**
*"'
...
'"
** **
'" '"
"'*
**"
;IF
MULTIPLE
PARITY ERRORS
OCCUR
DURING
ONE
INSTRUCTION
OJITH
f.CTION ENABLE
;NOT
SET)
THE ERROR ADDRESS
BITS
WILL
RECORD THE LAST ERROR
(ONLY
FOR
CORE
PARITY
;REGISTERS)
;
"'*
**
'"
"'
..
*
'"
*
'"
>I<
>1<**
*'"
***
'"
'"
'1*
>1'**
**
'"
>I<
'"
"''''
****
'"
*-
>I<
'"
** *
"'
..
..to
'"'-*
'" *-oJ<;.
'"
'" '"
'"
**"''''
**>1<*
**
**'"
TEST11:
SCOPE
MOV
JSR
TST
BNE
JSR
JSR
H11,@DISPLAY
%7,CLRPAR
NOKT
1$
%7.NRALL
%7,MAP1
LOAD
THE
TEST NUMBER
INTO
THE
DISPLAY
INITIALLY
CLEAR
ALL
PARITY
REGISTERS
KT 11 PHESENT?
NO-
BRANCH
YES.
MAP
KERNEL
PAGE
0
TO
BANK
O.RW
MAP
KERNEL
PAGE
?
TO
THE
EXTERNAL
BANK.
RW
SET KERNEL
PAGE'
RW
AND
TURN
ON
KTll
SEQ
0026
1$:
MOV
MOV
BIT
BNE
CMP
SEQ
IlMPRO
I
RO
hINDCO,
R3
#1.@RO
LOOP11
SETUP
TO
GET ADDRESSES
OF
REGISTERS
PRESENT
LUP11 :
LOOP'1:
ADD
TST
CMP
Nl
,
(R3)
TST11
#10,
RD
(
R3)+
RO,HTREG
IF
THIS
REG
NOT
?RESENT.
SKIP
IS
THIS
A CORE
PAR
REG?
YES.
THEN
TEST
IT
IF
NOT CORE,
SKIP
THIS
REGISTER
..
..
CCMFAFO,
MEMORY
PARITY
TEST
MACY,'
30A('0521
13-JAN-7B
,2:27
PAGE
27
CCMFAF.Pl1
13-JAN-7812:13
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
,429
1430
1431
1432
1433
1434
1435
1436
1437
143B
1439
1440
1441
1442
1443
i
444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
14~5
1456
1457
'458
1459
1460
1461
1462
1463
1464
,
465
1466
1467
1468
1469
1470
1471
1472
1473
004430
004432
004434
004440
004444
004446
004450
0044S4
004456
004462
004470
004472
004474
004500
004502
004506
004510
004512
004520
004522
004524
004530
004532
004534
004540
004542
004546
004550
004554
004556
004564
004570
004574
004576
004602
103764
000443
004767
032701
001403
104002
000167
010102
062702
012770
011111
011212
005070
021112
00S770
100401
104002
032770
001001
104002
005070
005511
005512
005070
000726
005767
001002
00S037
104001
012777
004767
005767
001004
004767
004767
007466
000001
177742
010000
000004
000000
000000
000100
000000
000000
174002
177572
000012
007222
173754
00711
0
007254
000000
000000
174316
SEO
0027
8LO
BR
TST11:
JSR
LUP11
DONE11
%7,LOCATM
BRANCH
OUT
IF
ALL
REGISTERS
HAVE BEEN
TESTED
GET THE ADDRESS
OF
A MEMORY
LOCATION
CORRESPONDING TO
THIS
PARITY
REGISTER
BIT
BE.
ERROR
111
t
Rl
.+10
JMP
LOOPll
MOV
Rl,R2
ADD
#10000,R2
MOV
NWWP
,@>(RO)
MOV
@>Rl
,il>Rl
MOV
Il'R2,II>R2
CLR
@>(RO)
CMP
@>Rl
,Ii'R2
TST
1'(
RO)
BMI
.+4
ERROR
BIT
#BIT6,@l(RO)
BNE
ERROR
CLR
ADC
ADC
CLR
8R
DONEll:
TST
BNE
CLR
.+4
II>(RO)
<1ORl
i'R2
@(RO)
LOOPll
NOKT
.+6
i'NSRO
ERROR
RETURN
INDICATED?
BRANCH I F NOT
NO
MEMORY
IN
MAP CORRESPONDING TO
THIS
PARITY
REGISTER.
RO
POINTS
TO
THE ADDRESS OF THE
PARITY
REGISTER
:SETUP
SECOND
TEST
ADDRESS
LOCATION
: SET
WRITE
WRONG
PARITY
.:WRITE
WRONG
PARITY
IN
FIRST
TEST
LOCATION
:WRITE
WRONG
PARITY
IN
SECOND TEST
LOCATION
:CLEAR
PARITY
REGISTER
:READ
FIRST
TEST
LOCATION,
AND
: THEN READ SECOND
TEST
LOCATION
: MAKE SURE
PARITY
ERROR SET
;PARITY
ERROR
NOT SET
AFTER
:
READING
TWO
LOCATIONS
WHICH
: SHOULD HAVE BAD
PARITY
: CHECK
ERROR
ADDRESS-
I F THE
LAST
:ADDRESS
wAS RECORDED.
BIT
6
WILL
:
BE
SET
:
PARITY
ERROR
ADDRESS
BITS
INCORRECT
:
RO
POINTS
TO
ADDRESS OF
PARITY
REGISTER
: R2
CONTAINS
ADDRESS
OF
LAST
BAD
PARITY
: LOCA
TlON
REFERENCED
(I
F KT11
PRESENT.
:ADDRESS
IS
VIRTUAL
THRU KERNEL PAGE
1)
:CLEAR
PARITY
REGISTER
;CLEAR
BAI'>
PARITY
:CLEAR
PARITY
ERROR
BIT
: TURN OFF
KT11
I F PRESENT
**,.
...
'"
'"
'"
**
***
"'
...
******
"'
...
**
*'"
**
**
'"
"''''II:
'"
**
'"
'"
"'
..
***
'"
'"
** ** *
'"
**
'"
***
'"
"'**.*
.01<",*
***
SHOw
THAT
IF
AN
INSTRUCTION
DOING
A
DATIP
GETS A
PARITY
ERROR,
THE
ORIGINAL
DATA
IS
REWRITTEN
IF
ACTION
ENABLE
IS
SET,
AND
IS
ALTERRED
IF
ACTION
ENABLE
IS
CLEAR
.>jo
**
'"
***
***
'"
**
"'*
'"
"''''""
"'''''''>It'''''''''
"'.'"
."''''**** **
'"
'"
** **
'"
*
"'*
"''''*,..
**
'" '"
** **
****
****
'"
EST12:
SCOPE
MOV
JsR
TsT
BNE
JSR
JSR
#12,"DlsPLAY
%7,CLRPAR
NOKT
1$
%7,NRALL
%7,MAPl
: LOAO THE
TEST
NUMBER
INTO
THE
DISPLAY
: KT
11
PRESENT?
:
NO-
BRANCH
:
YES,
MAP
KERNEL 0
TO
BANK
0,
RW
:MAP
KERNEL 7
TO
THE
EXTERNAL
BANK,
RW
: SET KERNEL 1
RW
AND TURN
ON
KT11
ccrv1FAFO.
MEMORY
PARITY
TEST MACV11
30A{10S2)
13-JAN-78
12:27
PAGE
28
CCMFAF.Pl1
13-JAN-7B
12:13
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
,500
1501
1502
1503
1504
1505
1506
1507
150B
1509
1510
1511
1512
lS13
1514
1515
1516
1517
1518
1519
1520
,521
,522
1523
1524
1525
1526
1527
1528
1529
004606
00--1612
004616
OO.q622
004624
004630
004632
004636
004640
004644
004646
004650
004654
004660
004662
004664
004670
004676
004704
004710
004716
004720
004722
004724
004730
004734
004736
004740
004744
004746
004750
004752
004760
012700
012702
032710
001003
022712
001407
062700
005722
020027
103764
000474
004767
032701
001403
104002
000167
012737
012770
012711
012770
005211
104002
000440
005070
021127
001401
104002
005770
100401
104002
022626
012770
012711
000566
000770
000001
000001
000010
000766
007252
000001
177742
004724
000004
125252
000001
000000
125252
000000
000004
125252
000114
000000
000000
000000
1$:
MOV
MOV
LUP12:
BIT
BNE
CMP
BEQ
LOOP12:
ADD
TST
CMP
BLO
BR
T5T1:c.:
JSR
BIT
BEQ
ERROR
JMP
MOV
MOV
MOV
MOV
INC
ERROR
BR
TRP12:
CLR
CMP
BEQ
ERROR
TST
BMI
ERROR
CMP
MOV
MOV
hMPRO.
RO
IIINDCD,R2
#1.@lRD
LOOP
12
#1,
(R2)
TST12
#1
0,
RO
(
R2)+
RO,.,REG
LUP12
DONE12
%7,LOCATM
#l,Rl
.+10
LODP12.
#TRP12,@#PARVEC
#WWP,@(RO)
#125252.@lRl
NAE,@l(RO)
@Rl
CONT12
@l(RO)
@Rl
,#125252
.+4
@(RO)
.+4
(sP)+,
(SP)+
#WWP,@>(RO)
#125252,«'Rl
SEQ
0028
: SETUP
TO
GET ADDRESSES
OF
REGISTERS
PRESENT
SKIP.
IF
THIS
REG
NOT PRESENT
REG
PRESENT,
IS
IT
CORE?
YES,
DO*
THIS
TEST
SKIP,
IF
THIS
REG
IS
NOT
CORE
BRANCH
TO
DONE I F
ALL
REGISTERS
HAVE BEEN
TESTED
LOCATE
MEMORY
CORRESPONDING TO
THIS
REGISTER
ERROR
RETURN
INDICATED?
NO-
BRANCH
NO
MEMORY
IN
MAP
CORRESPONDING
TO
THIS
REGISTER.
RO
POINTS
TO
THE ADDRESS
OF
THE
PARITY
REGISTER
SET
UP
PARITY
TRAP RETURN
SET
WRITE
WRONG
PARITY
WRITE
WRONG
PARITY
IN
TEST
LOCATION
SET
ACTION
ENABLE
AND
CLEAR
WRITE
WRONG
PARITY
00
DATIP.DATO
WITH
ACTION
ENABLE
SET-
SHOULD
A90RT
ON
DATIP
AND
RESTORE
ORIGINAL
DATA
NO
ABORT OCCURRED
ON
READING
LOCATION
WHICH SHOULD
CONTAIN
BAD
PARITY
(WITH
AE SET
I.
RO
POINTS
TO
ADDRESS OF
PARITY
REGISTER.
Rl
CONTAINS
ADDRESS OF
TEST
LOCATION
(VIRTUAL
THRU
KERNEL
PAGE 1
IF
KTll
IS
PRESENT I
PARITY
TRAP
OCCURRED-
CLEAR
PARITY
REGISTER
ORIGINAL
DATA
RESTORED?
YES.
BRANCH
NO-
DATIP
WHICH
GOT
A
PARITY
ERROR
TRAP ALTERRED CONTENTS OF
LOCATION
READ.
ADDRESS
OF
TEST
LOCATION
IS
IN
Rl
(I
F
KTll
IS
PRESENT,
ADDRESS
IN
Rl
IS
VIRTUAL
THHU
KERNEL
PAGE
1)
RO
POINTS
TO
ADDRESS
OF
PARITY
REGISTER
MAKE
SURE
PARITY
ERROR
SET
WHEN
DATA
WAS
REREAD
IN
THE
ABOVE
CMP
DATIP
WHICH
GOT
A
PARITY
ERROR
TRAP
ALTERRED
THE
PARITY
OF
THE
LOCATION
READ
Rl
CONTAINS
ADDRESS
OF
TEST
LOCATION
(VIRTUAL
THRU
KERNEL
1
IF
KT11
PRESENT)
RESTORE STACK
POINTER
SET
WRITE
WRONG
PARITY
AND
CLEAR
PARI
TY
ERROR
REWRITE
DATA
WITH
WRONG
PARITY
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF.Pll
13-JAN-7812:13
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
154B
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1579
1579
1580
1581
1582
1583
1584
1585
004764
004770
004776
005000
005D04
005010
005012
005014
005020
005022
005024
005030
005032
005036
005040
005046
005052
005054
005060
005062
005070
005074
005100
005102
005,06
005112
005116
DOS122
005124
005130
005134
005136
005070
012737
005211
005070
022711
001401
104002
005770
100001
104002
005070
0050
11
005070
000675
012737
005767
001002
005037
104001
012777
004767
005767
001004
004767
004767
012700
032710
001406
062700
020027
103770
000470
000000
000116
000000
125253
000000
000000
000000
000116
173476
177572
0000
13
006716
173450
006604
006750
000566
000001
000010
000766
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF,P11
13-JAN-7812:13
1586
1587
1588
1589
t
590
1591
1592
1593
1594
1
S95
1596
1597
159B
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
161 B
1619
1620
1621
1622
1
b23
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
~
636
1637
163B
1639
1640
1641
005140
005144
0051
SO
005152
005154
005160
005166
005174
005200
005206
005210
005212
005214
005220
005224
005226
005230
005234
005236
005240
005242
005250
005254
005260
005266
0052'10
005274
005300
00S302
004767
032701
001403
104002
000167
012737
012770
012711
012770
005711
104002
000434
005070
021127
001401
104002
005770
100401
104002
022626
012770
012711
005070
012737
005711
005070
022711
001401
104002
006762
000001
177744
005214
000004
125252
000001
000000
125252
000000
000004
125252
000000
000116
000000
125252
MACY11
30A(1052)
13-JAN-78
12:21
PAGE
29
000114
QOO
114
174012
CLR
MoV
INC
CLR
CMP
BEQ
ERROR
TST
BPL
ERROR
CoNTI2:
CLR
CLR
CLR
BR
DONE
12:
MoV
TST
BNE
CLR
@(RO)
#
PARVEC+2,
"NPARVEC
@lRl
11'(
RO)
"25253,@lR1
.+4
"(
RO)
.+4
@(RO)
@R1
@(RO)
LOOP
12
IIPARVEC+2,@#PARVEC
NOKr
.+6
...
SRO
;CLEAR
PARITY
REGISTER
; RESTORE TRAPCATCHER
;SINCE
AE
15
CLEAR,
INSTRUCTION
5HOULD
; COMPLETE AND
SHOULD
CLEAR
BAD
PARITY
;CLEAR
PARITY
ERROR
BIT
; CHECK
DA
T A
;DATIP.
DATo
TO
A
LOCATION
CONTAINING
BAD
;
PARITY
Io'JITHOUT AE SET
LEFT
INCORRECT
:DATA.
RO
POINTS
TO
THE ADDRESS
OF
; THE
PARITY
REGISTER.
R1
CONTAINS
THE
;ADDRESS
OF
THE
TEST
LOCATION
(V_~TUAL
:THRU
KERNEL PAGE 1
IF
KTl1
IS
PRESENT)
;CHECK
PARITY
ERROR
BIT
:DATIP,
DATO
WITH
AE
CLEAR
DID
;NDT
CLEAR
BAD
PARITY
IN
LOCATION
;ADDRESSED.
RO
POINTS
TO
THE ADDRESS
;OF
THE
PARITY
REGISTER.
Rl
CONTAINS
; THE ADDRESS OF THE
TEST
LOCATION
;
(VIRTUAL
THRU
KERNEL
PAGE 1
IF
KT11
:
IS
PRESENT)
; CLEAR
PARITY
REGISTER
;ClEAR
LOCATION
TO
RESTORE
GOOD
PARITY
;CLEAR
PARITY
ERROR
IF
SET
;GO
CHECK
FOR
ANOTHER
PARITY
;
REGISTER
; RESTORE
TRAPCATCHER
; TURN
OFF
KT11
IF
PRESENT
;
...
'"
"'''
'"
"'
..
'"
'"
'" '"
**
'"
'" '" '"
'"
*'"
*
'"
~
'"
*
'" '"
"',.
'" '"
'" '" '"
**
"'"
"'"'
"',,-
>1-*
*'
'"
'" '" '" '"
"'
...
*
'"
*>1<
'"
'" '"
'"
"'
..
* *
"''''
**
*'**
;SHOW
THAT
IF
AN
INSTRUCTION
DOING
A
DATI
(BUT
NO
DATO
TO
THE SAME
LOCATION)
;GETS
A
PARITY
ERROR, THE
ORIGINAL
DATA
IS
UNALTERRED,
WHETHER
OR
NOT
ACTION
: ENABLE
IS
SET
;
oj<
*
'"
'"
* *
'"
**"' * **
..
**
'"
***
'"
*"'
..
** *
..
**
>1<
....
***
**
*
*'
........
~
'*
'"
*
1<
t">/.-
"'
..
"'''
"'"
'"
>I<
'"
'"
"'*
* *
'"
*** *"'*
TEST13:
SCOPE
MoV
JSR
TST
BNE
JSR
JSR
1/13,@DISPLAY
%7.CLRPAR
NOKT
1$
%7,NRALL
%7,MAPl
;LOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
;
KTll
PRESENT?
;
NO-
SRANCH
;YES,
MAP
KERNEL
a
TO
BANK
O,KERNEL
;7
TO
THE
EXTERNAL
BANK.
AND
KERNEL
;
0.1
,AND
7
RW
SEQ
0029
1$:
MDV
#MPRO,RO
II
1
,@RO
TST13
;
SETUP
TO
GET
ADDRESSES
OF
REGISTERS
PRESENT
LUP13:
BIT
BEQ
LooP13:
ADO
CMP
BLo
BR
#1
0,
RO
RO.
#TREG
LUP13
DONE13
;If
THIS
REGISTER
IS
PRESENT,
GO
: TEST
IT
; BRANCH
I'
ALL
REGI5TERS
HAVE BEEN
: TESTED
MACY
11
30A
( 1
052)
13-JAN-7B
12:
27
PAGE
30
000114
000000
000000
000000
000114
TST
13:
TRP13:
JSR
BI
T
BEQ
EROOR
JMP
MOV
MoV
MOV
MoV
TST
ERROR
BR
CLR
CMP
BEQ
ERROR
TST
BMI
ERROR
CMP
MOV
MOV
CLR
MoV
TST
CLR
CMP
BEQ
ERROR
%7,
LoCATM
111.
R1
.+10
LoOP13
IITRP13,@I#PARVEC
/lWWP,@(RD)
#125252,@Rl
NAE,@(RO)
@>R1
CoNT13
@(RO)
@>Rl
,#125252
.+4
@(RO)
.+4
(SP)+,
(5P)+
#WWP,
..
(RO·,
#125252,@R1
@>(RO)
/I
PARVEC+2.@#PARVEC
@Rl
@(RO)
#125252.I1'Rl
.+4
LOCATE
MEMORY
CORRESPONDING
TO
THIS
REGISTER.
AND
IF
KT11
IS
PRESENT
MAP
KERNEL
1
TO
THAT
MEMORY
ERROR RETURN
INDICATED?
NO-
BRANCH
MAP
INDICATES
NO
MEMORY
WAS
FOUNO
CORRESPONDING
TO
THIS
REGISTER
RO
POINTS
TO
THE ADDRESS
OF
THE
PARI
TY
REGISTER
SETUP
PARITY
TRAP RETURN
SET
WRITE
WRONG
PARITY
WRITE
I,>JRONG
PARITY
SET ACT
ION
ENABLE
AND
CLEAR
~JRITE
WReNG
PARITY
DATI
WI
TH
ACTION
ENABLE
SET
SHOULD
ABORT
LEAVING
DATA
UNCHANGED
NO
ABORT
ON
READING
BAD
PARITY
wI
TH
ACTION
ENABLE
SET.
RO
POINTS
TO
THE ADDRESS OF THE
PARITY
REGISTER.
R1
CONTA[NS
THE ADDRESS
OF
THE
TEST
LOCAT I
ON
(V
I RTUA L THRU KERNE L PAGE
1
IF
KTll
IS
PRESENT).
ABORT OCCURRED
AS
EXPECTED-
CLEAR
REGI5TER
ORIGINAl.
DATA
RESTORED?
YES.
BRANCH
DATI
WHICH
GOT
A
PARITY
ERROR
ALTERRED
THE CONTENTS OF
THE
LOCATION
ADDRESSED.
(R1
CONTAINS
THE ADDRESS OF
MEMORY
BEING
TESTED-
IF
KT11
IS
PRESENT.
ADDRESS
IN
R1
IS
VIRTUAL)
RO
POINTS
TO
THE ADDRESS OF THE
PARITY
R~GISTER
CHECK
PM-dTY
REGISTER
BRANCH I F
PARITY
ERROR SET
PARITY
ERROR NOT SET
AFTER
READING
DATA
WrTH
BAD
PARITY
RO
POINTS
TO
THE ADDRESS OF
THE
PARITY
REGISTER.
Rl
CONTAINS
THE
ADor.ESS
0;·
THE TEST
LOCATION
(VIRTUAL
THRU
KERNEL
PAGE 1
IF
KT11
PRESENT)
RESTORE STACK
POINTER
SET
vJRITE
WRONG
PARITY,
CLEAR
PARITY
ERROR
REWRITE
DATA
WITH
WRONG
PARITY
CLEAR
PARITY
REGISTER
;RESTORE
TRAPCATCHER
DATI
TO
LOCATION
WITH
BAD
PARITY
AE
NOT
SET-INSTRUCTION
SHOULD COMPLETE
CLEAR
PARITy
ERROR
BIT
CHECK
DA
T A
DATI
TO
LOCATION
WITH
BAD
PARITY
SEQ
0030
WITHOUT
ACTloN
ENABLE
SET
LEFT
INCORRECT OAT A
R1
CONTAINS
THE ADDRESS OF THE
TEST
LOCATION
(VIRTUAL
THRU
KERNEL PAGE 1
CCMFAFO,
MEMORY
PARITY
TEST
MACYII
30A(
1052)
13-JAH-78
12:27
PAGE 31
CCMFAF. P11
13-JAN-7812:13
SEQ
0031
1642
! F
KTtl
IS
PRESENT),
RO
POINTS
TO
THE
1643
ADDRESS
OF
THE
PART!Y
REGISTER.
1644
005304 005070 000000
CONTI3:
CLR <I'(RO) CLEAR PARITY
REGISTER
1645
005310
005011
CLR
@RI
CLEAR
LOCATION
,
646
005312
005070
000000
CLR @(RO)
CLEAR
PARITY
ERROR
I F SET
1647
005316
000702
BR
LOOP
13
GO
CHECK
FOR
ANOTHER
PARITY
1648
REGISTER
1649
005320
012737
000116
000114
DONEI3:
MOV
HPARVEC+2.o;HPARVEC
; RESTORE TRAPCATCHER
1650
005326 005767
173216
TST NOKT
1651
005332
001002
BNE
,+6
1652
005334
005037
177572
CLR
@HSRO
; TURN OFF
KT11
I F PRESENT
1653
1654
1655
1656
;
*'"
'"
>I<
'"
"'
...
,...
.....
"'
...
'"
'" '"
"'*
"''''*
'" '"
'"
>I<
**
'"
"'''
'"
>I<
'" '"
"'
...
II<
**
>1<""
"'''
'"
>I<
'"
"'
...
'"
~
'"
**
'" '"
**
.....
'" '"
** ***
"'**
"'*"''''*
1657
;CHECK
PARITY
MEMORY
WITH
SERIES
OF
PATTERNS
FROM
4K
TO
2BK
1658
;
ENABLE
PARITY TRAP
1659
;
'" '"
'" '"
**
'" '"
>I<
"'
......
***
"'
..
'"
**
>I<
'"
'" '"
**
** **
'"
oj<
*"'*"'*'"
'"
'"
"',.
'"
'" '"
'"
** **
'"
'" '"
'"
'" '"
*
'"
**
****
II<
***
*>It*
1660
005340
104001
TESTI4:
SCOPE
1661
005342 012777 000014
173532
MOV
1t14,@DISPLAY
;lOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
1662
005350
005067 011102
CLR
IMAX
;
DON
I T I TERATE THE REST
OF
THE
SUBTESTS
1663
005354
004767 006432
JSR
PC,
CLRPAR
;ClEAR
All
PARITY
REGISTERS
1664
005360
012737
005734
000114
MOV
IITRP14,@lhPARVEC
;SETUP
PARITY
TRAP RETURN
1665
005366
022767 000002
173474
CMP
#2,PMEML
;TEST
FOR
AN
8K
SYSTEM
1666
005374
103402
BLO
,+6
;SYST
>
8K
1667
00S376
004767 005742
J5R
PC,
SMlSYS
;5YST
<
OR
=
8K
1668
005402
032767
000002
173110
BIT
1/2,BITPT
; TEST BANK
INDICATOR
FOR
BANK 1
1669
005410 001007
BNE
1$
1670
005412
012767 000004
173100
~OV
1t4.BITPT
;
INIT
IP,LIZE
BANK
INDICATOR
TO
BANK 2
1671
005420
012767
040000
173070
'DV
#40000,
ADRPT
;INITIALIZE
MEMORY
STARTING
AODRESS
"
1672
005426
000403
BR
LOOP14
1673
005430
0'2767
020000
173060
1
$:
MOV
1t20000,
ADRPT ;
INITIALIZE
BANK
INDICATOR
TO
BA"K
1
1674
005436
036767
173056
173424
LOOPI4:
BIT
BI
TPT
,PMEMl
;DOES
THIS
4K
HAVE
PARI
TY?
1675
005444
001021
BNE
T5T14
;
YES,
TEST
IT
1676
005.';45
032767
000002
173044
LUP14
:
BIT
112,BITPT
; TEST
FOR
BANK 1
INDICATOR
IF
SET
GO
TO
TEST
16
1677
005454
001001
BNE
EX
1678
005456 000402
BR
,+6
1679
005460
000167
000776
EX:
JMP
TEST,6
1680
005464
062767
020000
173024
ADD
1t20000,
ADRPT ;
NO-
UPDATE
MEMORY
ADDRESS
16Bl
005472
OC6367
173022
ASL
BI
TPT
;UPDATE
BIT
POINTER
1682
C
054
76
022767 000200
173014
CMP
11200,81
TPT ;
THIS
28K
DONE?
1683
005504
003354
BGT
lOOP14
; NO, BRANCH
TO
SEE I F NEXT
4K
1684
;SHOUlD
BE
TESTED
1685
005506
000443
BR
DONE
14
;
YES,
EX
I T
1686
005510
012704 001036
TST14:
MOV
IIPARPAT,
R4 ;
INITIALIZE
PATTERN
POINTER
1687
005514
016767
172776
173006
MOV
ADRPT
,HIAOR
; SET UPPER
LIMIT
FOR
THIS
4K
1688
000522
062767 020000
173000
ADu
1t20000,HIADR
1689
005530
016705
172762
MDV
ADRPT
,R5
1690
005534
OQ5025
2$
: CLR
(5)
t-
;
INITIALLY
CLEAR
CORE
BLOCK UNDER
TEST
1691
005536 020567
172766
CMP
R5,
HIADR
1692
005542
103774
BLO
2$
1693
005544
012701
000566
MOV
IIMPRO, R 1 ;
INITIALIZE
TO
SET
AE
IN
ALL
REGISTERS
1694
005550
032711
000001
3$:
BIT
#l,@R1
1695
005554
C::J1003 BNE
.+10
1696
005556
012771
000001
000000
MOV
HAE,@(Rl)
;SET
ACTION
ENABLE
IF
:'EGISTER
IS
PRESENT
1697
005564
062701
000010
ADD
It 1
O.
Rl
CCMFAFO,
MEMORY
PARITY
TEST
MACYll
30A(lCS2)
13-JAN-7B
12:27
PAGE
32
CCMFAF.
Ptl
1
3-J
AN-78
12:
1 3
SEQ
0032
1698
005570
020127
000766
CMP
Rl,HTREG
1699
005574
103765
EilO
3$
1700
005576
004767
000024
4$:
JSR
%7,
TPCORE
GO
TO
ROUTINE
TO
EXERCISE
THIS
4K
1701
WiTH
THE CURRENT
PATTERN
1702
005602
005724
TST
(4)+
UPDATE PATTERN
1703
005604
005714
TST
(4)
LAST
PATTERN?
1704
005606
001373
BNE
4$
NO,
lOOP
1705
005610
004767
006176
J5R
PC.CLRPAR
YES,
CLEAR
ALL
PARITY
REGISTERS
1706
005514
000714
BR
LUP14
UPDATE
AND
CHECK NEXT
4K
1707
005616 012737
000116
000114
DONE
14:
MOV
1/
PARV
EC+2.@#PARVEC
;RE5TORE
TRAP CATCHER
1708
005624
000473
BR
TESTIS
;
GO
TO
NEXT
TEST
1709
1710
;ROUTINE
TO
WRITE
AND
CHECK EACH
LOCATION
IN
4K
(STARTING
AT
ADDRESS
1711
;
IN
ADRPT) WITH VALUE
POINTED
TO
BY
R4
1712
005626
016705
172664
TPCORE:
MOV
ADRPT,
R5 ; SETUP R5
TO
ADDRESS
MEMORY
1713
;lOCATION
BEING
CHECKED
1714
005632
01'415
1$:
MOV
(4),
(5)
;vJRITE
PATTERN
INTO
MEMORY
1715
005634
011567
172676
MOV
(5),
WAS
: READ TEST
LOCATION
1716
005640
021467
172672
CMP
(4)
,~IAS
;DATA
OK?
1717
005644
001401
BEQ
,+4
;
YES-
BRAt\lCH
1718
005646
104002
ERROR
; DATA INCORRECT
IN
LOCAT
ION
WH05E
1719
; ADDRESS
IS
IN
R5,
R4
POINTS
TO
THE
1720
;DATA
WRITTEN.
,
721
005650
005725
TST
(5)+
;UPDATE
ADDRESS
POINTER
1722
005652 020567
172652
CMP
R5,HIADR
;
THIS
4K
DONE?
1723
005656
103765
BLn
1$
;NO,
BRANCH
TO
TEST
NEXT
LOCATION
1724
005660
005067
173102
CLH TREG ;
YES,
DID
ANY
PAR
ITY
ERRORS OCCUR
1725
;WITHOUT
TRAPPING?
1726
005664
012701
000566
MOV
#Mf.RO,R1
1727
005670
032711
000001
2$:
BIT
H1
,(
1 )
1728
005674
001003
BNE
.+10
1729
005676
005771
000000
TST
@(Rl
)
1730
005702
100406
BM!
3$
;
YES-
BRANCH
173
t
005704
062701
000010
ADD
#10,
Rl
1732
005710
020127
000766
CMP
Rl,HTREG
1733
005714
103765
BLO
2$
1734
005716
000207
RTS
%7
;NO,
RETURN
1735
005720
011167
173042
3$:
MOV
@RI,TREG
;STORE
ADDRESS
OF
REGISTER
GETTING
ERROR
1736
005724
104004
ERRORS
;PARITY
ERROR
SET
(WITH
AE
SET)
AND
1737
;NO TRAP OCCURRED, TREG
CONTAINS
1738
;AODRESS
OF
PARITY
REGISTER
,IHICH
1739
;HA5
ERROR
BIT
SET,
1740
005726
004767
006562
JSR
%7.
PSCAN ; SCAN
FOR
PARITY
ERRORS
AND
PRINT
1741
;
lB
BIT
ADDRESSES
OF
THOSE FOUND.
1742
;AFTER
REPORTING EACH
ERROR
CLEAR
IT
1743
005732
000207
RTS
%7
1744
1745
;PARITY
TRAP
SERVICE
(NO TRAPS
TO
114
SHOULD
OCCUR
IN
THIS
5UBTEST)
1746
005734
005067
173026
TRP14
: CLR
TREG
1747
005740
012701
000566
MOV
IIMPRO,
R1
;
FIND
PARITY
REGISTER
INDICATING
PARITY
ERROR
1748
005744
032711 000001
1$:
BIT
HI,
(Rl
)
17L1.9
005750
001003
BNE
.+10
1750
005752
005771
000000
TST
@(Rl)
1751
005756
100407
BMI
2$
; BRANCH I F
PARITy
ERROR
SET
1752
005760
062701
000010
ADD
#10,
R1
1753
005764
020127 000766
CMP
R1,HTREG
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(
1052)
13-uAN-7S
12:27
PAGE
33
CCMFAF,
Pl1
13-uAN-7S
12:13
SEQ
0033
1754
0115770
103765
BLO
1$
1755
005772
104002
ERROR
PARITY
TRAP
TO
114
OCCURRED
DURING
1756
005774
000405
BR
3$
TEST
14
SUT
NO
REGISTERS HAVE
1757
PARITY
ERROR
SET
1758
005776
011167
172764
2$:
MOV
@ORI
,TREG
STORE
ADDRESS
OF
REGISTER
GETTING
ERROR
1759
006002
104004
ER~ORS
PARITY
TRAP
TO
114
OCCURRED
DUE
TO
1760
PARITY
ERROR
WHILE
EXERCISING
MEMORY
1761
Rl
POINTS
TO
THE ADDRESS
OF
THE
1762
PARITY
REGISTER
HAVING
PARITY
ERROR
1763
BI
T SET
1764
006004 004767
006504
uSR
%7,
PSCAN
SCAN
FOR
BAD
PARITY
AND
TYPE
18
BIT
ADDRESSES
1765
OF
LOCATIONS
FOUND
BAD
1766
006010
022626
3$:
CMP
(SP)+,
(SP)+
RESTORE STACK
POINTER
1767
006012
000207
RTS
%7
RETURN
(FROM JSR
TO
TPCORE) TO
176B
CHECK
NEXT PATTERN
1769
1770
1771
1772
; * ...
"'
..
'"
"'
..
'"
'"
"'
...
**
....
**
••
'"
"'
.......
'"
"'
........
"'
......
'"
>\I""~''''''''''
'"
*
'"
06<
*"',..
'"
"',..
'"
'" '" '"
"'
...
**
*.
'"
"'.*.*.
1773
;CHECK
PARITY
MEMORY
WITH
SERIES
OF
PATTERNS
ABOVE
28K
1774
; ENABLE
PARITy
ERROR
TRAPPING
1775
;
.11<
................................
"'
...........
"'
......
*
...
"'
........
'"
....
**
...
I/<
*"'
...
"'
................
"'
......
"'
...
,.,
..............
"'
......
1776
006014
104001
TESTI5:
SCOPE
1777
006016
012777
000015
173056
MOV
NI5,(oOISPLAY
;
LOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
1778
006024
005767
172520
TST
NOKT
;KT11
PRESENT?
1779
006030
001402
8EQ
,+6
;
YES-
BRANCH
1780
006032
000167
000424
JMP
TEST16
;NO,
SKIP
TEST
1781
006036
004767
005750
JSR
PC
,CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
1782
006042 004767
005644
uSR
%7,NRALL
;
MAP
KERNEL 0
TO
BANK
0,
RW
1783
006046 004767
006010
uSR
%7,MAP'
;MAP KERNEL 7
TO
THE EXTERNAL BANK
1784
; SET KERNEL I
RW
AND
TURN
ON
KT11
17B5
006052 012777
001600
173172
MOV
N1600,@KPARI
;MAP KERNEL
PAGE
1
TO
BEGINNING
OF
2B-32K
17B6
006060 005067
172470
CLR
LOWFLG
;CLEAR
FLAG
TO
INDICATE
CHECKING LO\;ER
64K
1787
006064 016767
173000
173002
MOV
PMEML,
PMEMX
1788
006072
012737
006402
000114
MOV
HTRP15,@NPARVEC
; SETUP
PA"ITY
TRAP RETURN
1789
006100
012767
000200
172412
MOV
nOO,BIT,PT
;
INITIALIZE
8IT
POINTER
1790
006106
036767
172406
172760
LOOPls:
8IT
eITPT
t PMEMX ;DOES THIS
4K
HAVE
PARITY?
'791
006114
00'022
8NE
TST15
;YES.
BRANCH
TO TEST
IT
1792
006116 062777
000200
173126
LaPIS:
ADD
H200,I!'KPARI
;NO-
MAP
TO
NEXT
4K
1793
00e124
006367
172370
ASL
BITPT
;UPOATE
BIT
POINTER
1794
0013130
103366
BCC
LOOP15 ;
BRANCH
I F
NOT
DONE
WITH
64K
1795
006132
005767
172416
TST
LOWFLG
; DONE
l~
ITH
128K?
1796
006136
001051
8NE
DONE
1 5
;YES,
BRANCH
1797
006,40
005267
172410
INC
LDWFLG
;NO,
SET FLAG
INDICATING
UPPER
64K
'79B
006144
016767
172722
172722
MOV
PMEMH,
PMEMX
;SETUP
PARITY
MAP
WORD
1799
006152
012767
000001
172340
MOV
Hl,BITPT
; SETUP
8IT
POINTER
FOR
UPPER
64K
'800
006160
000752
SR
LOOP15
;CONTINUE
1801
006'62
012704
001036
TST15:
MOV
HPARPAT
,R4
:
INITIALIZE
PATTERN POINTER
'802
006166
012767
020000
172322
MOV
H20000,
ADRPT ;
INITIALIZE
VIRTUAL
ADDRESS
OF
MEMORY
1803
;
8EING
TESTED
1804
006174
012705
020000
MOV
#20000,R5
1805
006200
005025
2$:
CLR
(5)+
;
INITIALLY
CLEAR
CORE
BLOCK
UNOE.
TEST
1806
006202 020527
040000
CMP
R5,#40000
1807
006206
103774
8LO
2$
lB08
006210
012701
000566
MOV
NMPRO,
R1
;
INITIALIZE
TO SET
ACTION
ENABLE
IN
ALL
1809
;
PARITY
REGISTERS
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(1052)
13-uAN-7B
12:27
PAGE
34
CCMFAF,Pl1
13-JAN-7812:13
1810
leI
I
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
'825
1826
1827
1828
1829
1830
IS31
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1S47
1848
lB49
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
006214
006220
006222
006230
006234
006240
006242
006246
006250
006252
006254
006260
006262
006266
006274
006276
006300
006304
006306
006312
006316
006320
006322
006324
006330
006332
006336
006342
006346
006350
006354
006356
006362
006366
006370
006372
006376
006400
006402
006406
006412
006416
032711
001003
012771
062701
020127
'03765
004767
005724
005714
00
'1373
004767
000716
005037
012737
000472
000240
012705
011415
011567
021467
001401
104002
005725
020527
103765
005067
0'2701
03271
I
00
I
003
005771
100406
062701
020127
103765
000207
011167
104004
000207
005067
012701
032711
001003
000001
000001
000010
000766
000030
00S532
17'7572
000116
020000
172224
172220
040000
172430
000566
000001
000000
000010
000766
172370
'72360
000566
000001
000000
000114
3$:
8IT
BNE
MOV
ADD
eMP
8LO
4$:
uSR
TST
TST
BNE
uSR
8R
OONEls:
CLR
MOV
8R
#I,(oRI
,+10
NAE
,I!'(
RI)
HI
0,
Rl
Rl
,NTREG
3$
%7,
TPCORX
(4)+
(4)
4$
PC
,CLRPAR
LOP15
i!'HSRO
#PARVEC+2,@#PARVEC
TESTl6
;SET
ACTION ENABLE
IF
THIS
REGISTER
; I S PRESENT
;EXERCISE
THIS
4K
;UPDATE PATTERN
; LAST PATTERN?
;NO,
lOOP
;YES,
CLEAR
All
PARITY
REGISTERS
; UPDATE
AND
CHECK
NEXT
4K
;TURN OFF
KTI
1
~JHEN
DONE
;
,2STORE
TRAPCATCHER
:
GO
TO
N,EXT
TEST
;PARITY
MEMORY
TEST ROUTINE
USING
KTll
AND
TESTING
MEMORY
ABOVE
28K
;WRITES
AND
CHECKS
EACH
LOCATION
IN
4K
USING
KERNEL
PAGE
I MAPPED
TO
CURRENT BANK
TPCORX:
NOP
1$:
2$:
3$:
MOV
MOV
MOV
CMP
8EQ
ERROR
TST
CMP
810
ClR
MOV
BIT
SNE
TST
8MI
ADO
CMP
8LO
RTS
MOV
ERRORS
#20000,
Rs
(4),
(5)
(5)
,WAS
(4),WAS
,+4
(5)+
RS,
#40000
1$
TREG
NMPRO,Rl
Nl
,(
I)
.+10
@(Rl)
3$
.'0,
Rl
Rl
,NTREG
2$
%7
Ii'Rl
TREG
RTS
%7
; SETUP
R5
TO
POINT
TO
THE
LOCAlION
;UNDER TEST
(VIRTUAL
ADDRESS)
;WRITE
PATTERN
;REAO TEST
lOCATION
;OATA
OK?
;
YES-
BRANCH
;
NO-
DATA INCORRECT
IN
LOCA
T!
ON
WHOSE
IN
Rl
(GOES
THRU
POINTS
TO
; V 1 RTUA L
ADDRESS
IS
;KERNEl
PAGE
I>'
R4
;THE
VALUE
WRITTEN.
;UPDATE ADDRESS POINTER
;THIS
4K
DONE?
;NO,
8RANCH TO TEST NEXT LOCATION
;YES,
CHECK
TO
SEE
IF
ANY
PARITY
;
ERRORS
OCCURRED
WITHOUT TRAPPING
;
IS
THIS
PARITY
REGISTER PRESENT?
;NO,
GET
NEXT
ONE
;
YES-
DID
ERROR
SET?
;
YES-
BRANCH
;NO-
GET
NEXT REGISTER
;NO ERRORS-
EXIT
; STORE ADDRESS
OF
REGISTER
GETTING
ERROR
;
PAR
I
TY
ERROR
SET
(AE
A LREADY
SET)
;
AND
NO
TRAP
OR
TIMEOUT
OCCURRED
:
Rl
POINTS
TO
THE
ADDRESS
OF
THE
;
PARITY
REGISTER
iPARITV
TRAP
TRPIS:
CLR
SERVICE
(NO TRAPS
TO
114
SHOULD
OCCUR
IN
TlHS
SUBTEST)
TREG
MOV
#MPRO,Rl
;LOCATE
PARITY
REGISTER
INDICATING
ERROR
1$:
BIT
#1,
(Rl)
BNE
.+10
SEQ
0034
..
"
"f,
.j
/
CCMFAFO,
MEMORY
PARITY
TEST
MACY,'
30A(
1052)
13-JAN-78
12:27
PAGE
35
CCMFAF.
P11
13-JAN-78
12:13
SEQ
0035
1866
006420
005771
000000
TST
"(Rl
)
1
867
005424
1 0
0407
8MI
2$
; BRANCH I F
PARITY
ERROR
IS
SET
1868
006426
062701
000010
ADD
"O,R'
1
869
006432
020127
000766
CMP
Rl
,NTREG
1870
006436
103765
8LO
1$
1871
006440
104002
ERROR
;TRAP
TO
114
OCCURRED
DURING
TEST
15
BUT
1872
;NO
PARITY
REGISTERS
HAVE
PARITY
ERROR
SET
1873
006442 000405
BR
3$
1874
006444
011167
172316
2$:
MOV
II>Rl
,TREG
;STORE
ADDRESS
OF
REGISTER
GETTING
ERROR
1
B75
006450
104004
ERRORS
:PARITY
TRAP
TO
114
OCCURRED DUE
TO
1876
:
PARITY
ERROR
WHI LE
EXERCISING
MEMORY
1877
:
"TREG"
CONTAINS
ADDRESS
OF
PARI'
Y
REGISTER
1878
:HAVING
PARITY
ERROR
BIT
SET
1879
006452
004767
006036
JSR
%7,
PSCAN : SCAN
MEMORY
FOR
BAD PAR
ITY
AND
PR
I NT
18
1880
:
BI
T ADDRESSES
OF
LOCATIONS
FOUND
1881
: CLEAR BAD
PARITY
IN
EACH AFTER
1882
:REPORTING
IT
1883
006456
022626
3$:
CMP
(SP)+,
(SP)+
: RESTORE STACK
POINTER
1884
006460
000207
RTS
%7
: RETURN (FROM
JSR
TO
TPCDRX)
TO
1885
:TEST
NEXf
PATTERN
lB86
1887
1888
1889
*'"
'"
'"
'"
"'.'"
>I<
"'*
***
"''''
******
*'"
*.
*.
*** * ******
'"
"'
••
*"'** * ***
******
**
'"
.***
•••••
**'"
1
890
FORCE
WRONG
PARITY
IN
EACH BYTE
OF
PARITY
MEMORY
FROM
4K
TO
2BK
1891
WR
IT
E
WRONG
PAR
ITY
AND
READ
IT
BACK
WI
TH
ACTION
ENABLE
SET,
MAKING
1892
SURE THAT A TRAP OCCURS. THEN
WRITE
GOOD
PARITY
AND
MAKE SURE THAT
1893
NO
TRAP ·OCCURS
WHEN
IT
IS
READ.
MAKE SURE THAT
THE
ERROR
ADDRESS
BITS
1894
(PARITY
REGISTER
!;ITS
5-11)
ARE CORRECT.
1895
**
"'*
'"
'"
"'*
'"
'"
>I<
***'" *
*'"
**
*'"
'"
**
'"
*'"
***
***"""'.,,,,,
'"
*'"
**'"
'" '"
*
'"
***'" *** * **** **
*"'**
"''''
"''''*
1896
006462
1
04001
EST
16:
SCOPE
1897
006464
012777
000016
172410
MoV
#16,@DISPLAY
: LOAD
THE
TEST
NUM8ER
INTO
THE
DISPLAY
1898
006472 012737
007076
000114
MOV
#TRP16,@#PARVEC
: SET
uP
TRAP RETURN
1899
006500
032767
000002
172012
BIT
#2,BITPT
: TEST BANK
INDICATOR
FOR
8ANK 1
1900
006506
C01007
8NE
LUP16
1901
006510
012767
000004
172002
MOV
#4,BITPT
:
INIT
POINTER
TO
BANK 2
1902
006516
012767
040000
171772
MOV
#40000,
ADRPT
1903
006524
000403
BR
.+10
1904
006526
012767
020000
171762
LUP16
:
MOV
#20000,
ADRPT
1905
006534
036767
171760
172326
1$:
SIT
8 I TPT ,PMEML :
DOES
THIS
4K
HAVE
PARITY?
1906
006542
001021
BNE
3$
:
YES,
8RANCH
TO
TEST
IT
1907
006544
032767
000002
171746
2$:
BIT
#2,81
TPT ;
TEST
FOR
BANK 1
INDICATOR
IF
SET
GO
OUT
1908
006552
C0100l
BNE
.+4
1909
006554
000402
8R
.+6
1910
006556
000167
001546
JMP
OUT
1911
006562
062767
020000
171726
ADD
#20000,
ADRPT
:NO.
UPDATE
MEMORY
ADDRESS
BY
4K
1912
006570
006367
171724
ASL
BITPT
:UPDATE
BIT
POINTER
1913
006574
022767
000200
171716
CMP
11200,
BITPT
; TH I S
28K
DONE?
1914
006602
003354
8GT
1$
:NO,
CHECK NEXT
4K
1915
006604
000421
BR
DONE16 :
YES,
EXIT
1916
005606
016767
171704
171714
3$:
MOV
ADRPT,
HIADR
: SET UPPER
LIMIT
THIS
4K
1917
006614
062767
020000
171706
ADO
#20000,HIADR
1918
006622
004767
005164
JSR
%7,CLRPAR
: CLEAR
ALL
PARITY
REGISTERS
1919
006626
016705
171664
MOV
ADRPT,
R5
,
920
006632
005025
5$:
CLR
(5)+
;CLEAR
8A:·.K UNDER
TEST
1921
006634
020567
171670
CMP
R5,HIADR
CCMFAFO.
MEMORY
PARITY
TEST
MACVll
30A(1052)
13-JAN-78
12:27
PAGE
36
CCMFAF.Pl1
13-JAN-7812:13
1922
1923
1924
,
925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
'938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
006640
006642
006646
006650
006654
006662
006656
006672
006676
006704
006710
006714
005720
006722
006730
006734
006740
006742
006746
006750
006754
006760
006764
006766
006774
007000
007004
007006
007012
007014
007020
007022
007030
007032
007040
007044
007050
007052
007060
007064
007070
007072
103774
004767
000736
004767
012737
000167
016705
005067
012767
012715
012701
032711
001003
012771
062701
020127
103765
005767
100425
112715
012701
032711
001003
042771
062701
020127
103765
005767
100407
142715
000407
000020
005136
000116
000472
171624
171660
125253
125253
000566
000001
000005
000010
000766
171610
000253
000566
000001
000004
000010
000766
171544
000317
"
2765
000252
000751
142765
000377
012701
000566
032711
000001
001003
042771
000005
062701
000010
020127
000766
103765
104002
000114
171630
000000
000000
000001
000001
000000
8LO
6$:
JSR
BR
DoNE16:
JSR
MOV
JM"
5$
%7,WWP16
2$
%7,
CLRPAR
#
PARVEC+2,@#PARVEC
TEST17
;GO
WRITE
WRONG
PARITY
IN
EACH
8YTE
: UPDATE
AND
CHECK NEXT
4K
;CLEAR
ALL
PARITY
REGISTERS
IF
DONE
:RESToRE
TRAP CATCHER
:
GO
TO
NEXT
TE5T
:WRITE
WRONG
PARITY
TEST
ROUTINE
-
TESTS
EACH BYTE
IN
4K
:USING
SAME
DATA
VALLE,
WRITES AND CHECKS
PARITY
IN
WRONG
STATE
:ANO
THEN
IN
CORRECT STATE
TO
PROVE THAT
PARITY
8ITS
TOGGLE
WWP16:
MOV
ADRPT
,R5
:SET
TEST ADDRESS
POINTER
CLR ODDFLG :
INDICATE
TESTING
LOW
BYTE
SEQ
0036
MOV
#125253,5HDBE
:STORE
DATA
FOR
USE
BY
ERROR
TYPFoUT
ROUTiNE
WWP16A:
MOV
#125253,II>R5
:INITIALIZE
TEST
LOCATION
1$:
5$:
2$:
6$:
3$:
4$:
MOV
#MPRO,R1
:SETUP
TO
LOAD
PARITY
"EGISTERS
81T
#1,(1)
BNE
.+10
MOV
#WWP+AE,@{R1)
ADD
CMP
8LO
TST
8MI
MoVB
MOV
BIT
BNE
81C
ADD
CMP
8LO
TST
8MI
BICB
BR
MOv8
BR
BIC8
MOV
BIT
BNE
BIC
ADD
CMP
BLo
ERROR
1110,
Rl
Rl,lITREG
1$
ODDFLG
2$
#253,@R5
IIMPRO.
Rl
#
1,
(1
)
.+10
#WWP,@{Rl)
#10,
Rl
Rl,#TREG
5$+4
ODDFLG
6$
#317
,@R5.
3$
#252,1(R5)
5$
#377,l(R5)
#MPRO,Rl
#l,@Rl
.+10
#WWP+AE,"{Rl
)
#10,
Rl
R1
,#TREG
4$
:SET
WRITE
WRONG
PARITY
AND
ACTION
; ENABLE I F
THIS
PARITY
REGISTER
:15
PRESENT
:WRITING
HIGH
BYTE7
:
YES,
8RANCH
:NO.
WRITE
WRONG
PARITY
IN
LOW
8YTE
:THIS
CODE
CLEARS
WWP
BIT
IN
ALL
:
PARITY
REGISTERS
;TESTING
HIGH
OR
LOW
BYTE?
;8RANCH,
IF
HIGH
BYTE
:DETECT
WRONG
PARITY
WITH
DATIP-
:SHOULD
TRAP
TO
TRP16
BEFORE
DOING
THE
oATOB
:WRITE
WRONG
PARITY
IN
HIGH
BYTE
;DETECT
WRONG
PARITY
WITH
DATIP-
:SHOULD
TRAP
TO
TRP16
8EFORE
DOING
THE
DAToB
:NO TRAP
oCCURREo-
SETUP
TO
CLEAR
:
AE
AND
WWP
:CLEAR
AE
AND
WWP
IN
ALL
PARITY
REGISTERS
ERROR,
NO
TRAP
AFTER
WRITING
ANn
READING
WRONG
PARITY
IN
LaCATIO~
WH05E ADDRESS
IS
IN
R5
(AE
AND
WWP
WERE
SET
IN
ALL
PARITY
REGISTERS)
TESTING
LOW
BYTE
IF
ODDFLG
IS
POSITIVE
TESTING
HIGH
BYTE
IF
ODDFLG
IS
NEGATIVE
CCMFAFO,
MEMORY
PARITY
TEST MACVl I
30A(
1052)
13-~AN-7B
12:27
PAGE
37
CCMFAF.
Pll
13-~AN-78
12:
13
SEQ
0037
1978
; NOTE THAT
AE
AND
WWP
WERE
CLEARED
1979
; BEFORE TYPING THE
ERROR
PRINTOUT
1980
007074
000517
BR
CN16
1981
1982
;WHEN
WRONG
PARITY
DATA
IS
READ BACK SHOULD ENTER HERE
VIA
TRAP
TO
114
1983
007076
012701
000566
TRPlr-.:
MOV
HMPRO,
Rl
;PARITY
TRAP OCCURRED-
FIRST
CLEAR
1984
007102
032711
000001
TRPI6A:
8IT
111,t§lRl ;
WWP
AND
AE
IN
All
REGISTERS
1985
007106 001003
8NE
.+10
1986
007110
042771
000005
000000
SIC
NAE+WWP,@I(Rl)
1987
007116
062701
000010
ADD
110,Rl
1988
007122 020127
000766
CMP
Rl
,NTREG
1989
007126
103765
BlD
TRP16A
1990
007130
012701
000566
MOV
HMPRO,Rl
;FIND
THE
REGISTER THAT SENSED THE
F.RROR
1991
007134
012703
000770
MDV
HINDeo
t R3
1992
007140 005067
171622
ClR
TREG
1993
007144
032711 000001
1$:
BIT
Hl,QIIRI ;
DOES
TH
I 5
CONTRO
l
EXIST?
1994
007150
001017
BNE
2$
;NO,
BRANCH
1995
007152
005771
000000
TST @I(RI )
;YES-
IS
ERROR
SET?
1996
007156
100014
8Pl
2$
;NO,
BRANCH
1997
007160 005767
171602
TST TREG ;
YES-
WAS
I T SET
IN
ANY
OTHER
REGISTER ALSO?
1998
00716"
001401
BEQ
.+4
; NO-
BRANCH
1999
007166
104002
ERROR
;
ERROR
SET
IN
MORE
THAN
ONE
PARITY
REGISTER
2000
;AFTER
WRITING
WRONG
PARITY
IN
lOCATION
2001
;WHOSE
ADDRESS
IS
IN
R5
2002
007170
036761
171324
000002
BIT
BITPT
,2(Rl)
;OOES
MAP
INDICATE
THIS
PARITY
REGISTER
2003
; CONTROLS
THIS
MEMORY?
2004
007176
001001
BNE
.+4
;YES,
8RANCH
2005
007200
104002
ERROR
;
PAR
I
TV
REGI STER RESPONDED
TO
MEMORY
2006
;NOT INCLUDED
IN
ITS
MAP
2007
;
PARITY
REGISTER'
5 ADDRESS
IS
POINTED
2008
;
TO
BY
Rl.
ADDRESS
OF
lOCATION
CAUSING
2009
;
PARITY
ERROR
IS
IN
R5
2010
007202
010304
MOV
R3,R4
2011
007204
011167
171556
MOV
QIIRI
,TREG ; STORE REGISTER ADDRESS
2012
007210
062701
000010
2$:
ADO
Hl0,Rl
2013
007214
005723
TST
(R3)+
2014
007216
020127
000766
CMP
Rl,HTREG
2015
007222
103750
BlO
1$
; 8RANCH
UNTI
l
All
THE
PARITY
2016
; REGISTERS HAVE BEEN CHECKED
2017
007224 011567
171306
MDV
(5)'WAS
;SAVE
DATA
FROM
lOCATION
UNDER
TEST
2018
007230
022715
125253
CMP
N
125253
,Il'R5
;010
8ICB
CHANGE
DATA?
2019
007234
001401
BEQ
.+4
;NO.
CONTINUE
2020
007236
104003
ERRORP
;DATA
WAS
MODIFIED
BY
THE
BICB
WHICH
2021
;GOT A
PARITY
ERROR
TRAP-
SINCE
PARITY
ERROR
2022
;
TRAP
OCCURRED, CONTENTS
SHOULD
NOT
HAVE
2023
;
BEEN
MODIFIED.
R5 CONTAINS ADDRESS
2024
;
OF
TES T
lOCATION.
"TREG"
CONTAINS
2025
;ADDRESS
OF
PARITY
REGISTER
SENSING
2026
;
ERROR
2027
007240
005767
171522
TST
TREG
;WAS
PARITY
ERROR
SET
IN
ANY
REGISTERS?
2028
007244 001002
BNE
3$
;
YES-
BRANCH
2029
007246
104002
ERROR
:
PARITY
TRAP
OCCURRED
ON
READING
2030
;WRONG
PARITY
(WITH
AE
SET)
BUT
NO
2031
;REGISTERS
HAD
PARITY
ERROR
BIT
SET.
2032
; R5 CONTA
INS
THE
ADDRE$S
OF
THE
2033
; TEST
lOCATION.
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(ICS2)
13-JAN-7B
12:27
PAGE
38
CCMFAF.
Pll
13-JAN-78
12:13
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
007250
007252
007256
007260
007264
007270
007272
007276
007300
007302
007304
007306
007310
007312
007314
007316
007322
007324
007330
007332
007334
007340
007342
007344
007350
007352
007354
007360
007362
~07366
007374
007402
007406
007410
007414
007420
007426
000420
022714
001015
017701
042701
010502
042702
000302
006302
006302
020102
001401
104003
022626
011515
005077
005715
005777
100001
104002
005167
100401
005725
020567
103401
000207
000167
104001
004767
012777
012777
005767
001402
000167
004767
012737
012767
000001
171502
170037
003777
171444
171436
171216
171160
177324
005032
000017
000017
171142
000636
004372
007762
000200
171506
171500
000114
171064
3$:
4$:
CNTI6:
CNI6;
1$:
BR
CMP
BNE
MOV
BIC
MOV
BIC
SWAB
ASl
ASl
CMP
BEQ
ERRORP
CMP
MOV
ClR
TST
TST
BPl
ERROR
COM
BMI
TST
CMP
BlO
RTS
JMP
4$
HI,
(R4)
4$
It'TREG,Rl
1/170037,R1
R5,R2
113777,
R2
R2
R2
R2
Rl,R2
.+4
(SP)+,
(SP)+
(5),
(5)
@lTREG
Il'R5
@lTREG
.+4
ODDFlG
.+4
(5)+
RS,HIADR
1$
%7
WWP16A
GET
PARITY
REGISTER CONTENTS
MASK
OFF
All
BUT
ERROR
ADDRESS
BITS
GET
ADDRESS
OF
lOCATION
UNDER
TEST
POSITION
BITS
IN
R2
;
PARI
TY
ERROR
ADDRESS
BITS
CORRECT?
:
ERROR
ADDRESS
BITS
(~ARITY
REGISTER
;BITS
11-5)
ARE
INCORRECT. R5
CONTAINS
;THE
ADDRESS
OF
THE TEST
lOCATION.
;
"TREG"
CONTAINS
THE ADDRESS OF THE
;
PARITY
REGISTER DETECTING
THE
ERROR
;RESTORE STACK POINTER
;RESTORE TEST
lOCATION
TO
FIX
BAD
PARITY
;ClEAR
ER"OR
BIT
IN
PARITY
REGISTER
;
READ
lOCATION
TO
SEE I F
PARITY
IS
GOOD
;
IS
PARITY
ERROR
SET?
;NO-
BRANCH
;WRiTING
lOCATION
WITH WRITE
WRONG
PARITY
iCLEAR
DIDN'T
CLEAR
BAD
PARITY
;R5
CONTAINS ADDRESS
OF
THE
TEST
;lOCATION.
"TREG"
CONTAINS
THE
ADDRESS
;OF
THE
PARITY
REGISTER DETECTING
;
THE
ERROR
;TOGGlE
BYTE
INDICATOR
; 8RANCH I F
READY
TO
TEST HIGH
8YTE
;UPDATE ADDRESS
POINTER
;
THIS
4K
DONE?
;NO,
TEST NEXT
lOCATION
; RETURN
TO
TEST NEXT B;,NK
'"
"'
......
'"
'"
",,,,
'"
"'
..
'"
'"
'" '" '" '"
"',.,
"'
.......
'"
'" '"
'" '" '"
'"
"'
...
'"
"'.*
'" '" '"
'"
'" '" '" '"
*
'"
'"
'" '" '"
"'
..
'" '"
'" '"
'"
"'
...
"'
...
'"
'" '" '"
"'*
...
'" '"
FORCE
WRONG
PARITY
IN
EACH
BYTE
OF
PARITY
MEMORY
ABOVE
28K
WRITE
WRONG
PARITY
AND
READ
IT
WITH ACTION ENABLE
SET,
MAKING
SURE
THAT A TRAP OCCURS.
THEN
WRITE
AND
READ
THE
SAME
lOCATiON
WITH
GOOD
PARITY
(USING
SAME
DATA)
TO
SHOW
THAT THE
PARITY
BIT
TOGGLES. MAKE
SURE
THAT
THE
ERROR
ADDRESS
BITS
(PARITY
REGISTER
BITS
5-11)
ARE
CORRECT.
_*'"
"'II<
••••••••••••••
'"
***
........
*
..........
"'''''''
••
'"
•••••
*.*.*.
**
............
*
••
ESTI7:
SCOPE
JSR
MOV
MOV
TST
BEQ
~MP
~SR
MOV
MOV
PC,
RSTLDR
"7,@DISPlAY
',7,II>DISPlAY
NOKT
.+6
XFRI
PC,CLRPAR
HRP17,@I'PARVEC
'200,BITPT
lOAD
THE
TEST
NUMBER
INTO
THE
DISPLAY
KT
11
PRESENT?
YES,
BRANCH
NO,
SKIP
TO
NEXT TEST
CLEAR
All
PARITY
REGISTERS
SETUP
FOC_
PARITY
TRAP
INITIALIZE
4K
BIT
POINTER
SEQ
0038
q
CCMFAFO.
MEMORY
PARITY
TEST
MACY11
30A(
1
952)
13-JAN-78
12:27
PAGE
39
CCMFAF.
P11
13-JAN-78
1,2:13
2090
007434
004767
004252
JSR
%7,NRALL
2091
007440
004767
004416
JSR
%7.MAPI
2092
2093
2094
007444
012777
001600
171600
MOV
.#1600,@KPAR1
2095
007452 005067
171076
CL;:
LOWFLG
2096
007456
016767
171406
t
71410
MOV
PMEML,
PMEMX
2097
007464
012767
000002
000366
MOV
#2.!NDX17
2098
007472
036767
171022
171374
1
$:
BI
T
BITPT
I
PMEMX
2099
007500
001025
BNE
3$
2100
007502
062777 000200
171542
2$
: ADD
#200,@KPARl
2101
007510
006367
171004
ASL
81 TPT
2102
007514
103366
BCC
1 $
2103
007516
005767
171032
TST LOWFLG
2104
007522
001025
SNE DONE
17
2105
007524 005267
171024
INC
LOWF
LG
2106
007530
016767
171336
171336
MOV
PMEMH
,
PMEMX
2107
007536
012767
000001
170754
MOV
#l.BITPT
2108
007544 012767
000004
000306
MOV
#4.INDX17
2109
007552
000747
SR
1$
2110
007554
012705
020000
3$:
MOV
1f20000.R5
2111
007560
005025
5$
: CLR
(5)+
2112
007562 020527
040000
CMP
R5,1I40000
2113
007566
103774
SLO
5$
2114
007570
004767
000020
6$:
JSR
%7,W'I>JP17
2115
007574
000742
BR
2$
2116
007576 005037
177572
DONEI7:
CLR
@#SRO
2117
007602 012737 000116
000114
MOV
UPARVEC+2,@ltPARVEC
2118
007510
000167 000436
JMP XFRl
2119
2120
;WRITE
WRONG
PARITY
TEST
ROUTINE
TO
2121
007614
012705
020000
WWP17:
MOV
1t20000,R5
2122
007620 005067
170732
CLR
OODF
LG
2123
007624 012767
125253
170702
MOV
II
125253,
SHOBE
2124
007632 012715
125253
WIJP17A:
MOV
II 1
25253,@RS
2125
007636
012701
000566
MOV
HMPRO,
Rl
2126
007642
032711
000001
1$:
BI
T
#1.
(1)
2127
007646
001003
BNE
.+10
2128
007650
012771
000005
000000
MOV
IIWWP+AE.@(R1)
2129
2130
007656
062701
000010
ADD
IIl0,R1
2131
007662 020127 000766
CMP
R1,IITREG
?132
007666
103765
BLO
1$
2133
007670
OC5767
170662
TST ODDFLG
2134
007674
100405
BMI
2$
2135
007676
112715
000253
MOVa
#253.@R5
2136
007702
142715
000377
BICB
11377.@R5
2137
2138
007706 000406
BR
3$
2139
007710
112765
000252
000001
2$
: MOVe
#252,1(R5)
2140
007716
142765
000377
000001
BICB
#377,l(R5)
2141
2142
007724
012701
000566
3$
:
MOV
IIMPRa,
Rt
2143
007730
0,,2711
000001
4$:
BIT
II 1
,@lR1
2144
007734
001003
BNE
.+10
2145
007736
042771
000005
000000
BIC
#AE+WlvP,@I(Rl)
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-78
12:27
PAGE
40
CCMFAF.Pl1
13-JAN-7812:13
007744
007750
007754
007756
007760
062701
020127
103765
104002
000512
000010
000766
ADD
CMP
BLO
ERROR
#10,
R 1
Rl.#TREG
4$
8R
CNT17
TEST
SEQ
0039
INITIALIZE
ALL
PAGES
TO
NON-RESIDENT
MAP
KERNEL
0
TO
BANK
0,
RW;
KERNEL 7
TO
THE
EXTERNAL
BANK.
RW. TURN
ON
THE
KTll
AND MAKE
KERNEL
1
RW
INITIALIZE
KERNEL PAGE 1
TO
2BK
CLEAR FLAG
TO
INDICATE
TESTING
LOWER
64K
; SETUP
OFFSET
TO
CHECK
LOWER
64K
OF MAPS
;
DOES
THIS
4K
HAVE
PARITY7
;
YES.
BRANCH
TO
TEST
IT
;NO.
MAP
TO
NEX
r
4K
; UPDATE
BIT
POINTER
;
GO
CHECK
TO
SEE
IF
THI
S
4K
HAS
OAR
ITY
;
END
OF
128K?
;
YES,
EXI
T
;
NO.
SET FLAG
TO
INDICATE
SHIFT
TO
;HIGH
64K
AND CHANGE MAPS
;5ETUP
OFFSET
TO
CHECK UPPER
64K
OF MAPS
; CLEAR BANK UNDER
TEST
;GO
WRITE
WRONG
PARITY
AND CHECK
IT
; UPDATE
AND
CHECK NEXT
4K
;TURN
OFF
KTll
WHEN
DONE
;RESTORE
TRAP CATCHER
;GO
TO SETUP
FOR
NEXT
TEST
MEMORY
ABOVE
28K
SET
TEST
ADDRESS
POINTER
CLEAR FLAG
TO
INDICATE
TESTING
LOW
BYTE
STORE
DATA
FOR
USE
BY
ERROR
TYPEOUT
ROUTINE
INITIALILE
LOCAT
ION
INITIALIZE
REGISTER
ADDRESS
POINTER
DOE5
THIS
CONTROL
EXI5T?
NO.
GET NEXT
YES-
SET
WRITE
WRONG
PARITY
AND ACT
ION
ENABLE
ALL
REGISTERS
SETUP?
tJO-
LOOP
YES-
TESTING
HIGH
BYTE?
YES,
BRANCH
NO.
'.>JRI
TE
~<JRONG
PARITY
IN
LOW
BYTE
DETECT
I-'JRONG
PARITY
WITH
DATIP-
SHOU
LD
TRAP TO
TRP17
BEFORE
DOING
THE
WRITE
WRONG
PARITY
IN
HIGH
BYTE
DETECT
WRONG
PARITY
WITH
DATIP
SHOULD TRAP
TO
TRP17
BEFORE
DOING
THE
IF
NO
TRAP,
CLEAR
AE AND
WWP
IN
ALL
PARITY
REGISTERS
NO
TRAP AFTER
WRITING
AND
READING
WRONG
PARITY
WITH
AE
SET-
VIRTUAL
ADDRESS
OF
LOCATION
IS
IN
R5
(MAPPED
THRU
KERNEL
PAGE
1)
WROTE
LOW
BYTE
IF
ODDFLG
IS
POSITIVE
WROTE
HIGH
9YTE
I F
IT
IS
NEGATIVE
NOTE THAT
WwP
AND
AE
WERE
CLEARED
BEFORE
ERROR
PRINTOUT
DATOB
DATOB
SEQ
0040
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
21B6
2187
2189
2189
2190
2191
2192
2193
2194
2195
2196
2197
219B
2199
2200
2201
;WHEN
WRONG
TRP17:
MOV
TRP17A:
BIT
PARITY
DATA
IS
#MPRO,
Rl
READ
BACK.
SHOULD ENTER HERE
VIA
TRAP
TO
114
007762
007766
007772
007774
010002
010006
010012
010014
010020
010024
010030
010034
010036
010042
010044
010050
010052
010054
010062
010064
010066
010072
010074
010100
010102
010106
010110
010114
010120
010122
012701
032711
001003
042771
062701
020127
103765
012701
012703
005067
032711
001017
005771
100014
005767
001401
104002
036761
010060
001001
104002
011167
010304
062701
005723
020127
103750
011567
022715
001401
104002
000566
000001
000005
000010
000766
000566
000770
170736
000001
000000
170716
170440
170674
000010
000766
170422
125253
000000
1$:
000002
2$:
BNE
BIC
ADD
CMP
BLO
MOV
MOV
CLR
BI
T
BNE
TST
BPL
TST
SEQ
ERROR
BIT
II 1
,@IR1
+1
0
tlAEHoJloJP.@(Rl)
,#
1 O.
R1
R1,HTREG
TRP17A
#r/lPRO.
Rl
# I NDCO,
R3
TREG
#1,@Rl
2$
@l(Rl )
2$
TREG
.+4
BITPT
,2(R1)
INDXI7=.-2
BNE
+4
ERROR
MOV
MOV
AD')
TST
CMP
BLO
MOV
CMP
BEQ
ERROR
@R1.TREG
R3,
R4
IIl0,Rl
(R3)+
Rl.#TREG
1$
(5)
,WAS
#125253,@R5
.+4
;PARITY
T,;AP OCCURRED- BEFORE
CHECKING
;
IT,
CLEAR
WwP
AND AE
IN
ALL
REGISTERS
;FIND
REGISTER
THAT SENSED THE ERROR
; SETUP PTR
TO
INDICATOR
;DOES
THIS
CONTROL
EXIST?
; NO. BRANCH
;YES-
IS
ERROR
SET?
;NO.
BRANCH
;YES-
WAS
IT
SET
IN
ANY OTHER
REGISTER
ALSO?
;
NO-
BRANCH
;
ERROR
SET
IN
MORE
THAN
ONE
PARITY
REGISTER
;Al:"TER
READING
WRONG
PARITY
IN
L":'CATION
;WHOSE
VIRTUAL
ADDRESS
IS
IN
R5
;DOES
MAP
INDICATE
tHAT
THIS
REGISTER
;CONTROLS
THIS
MEMORY?
;
YES-
BRANCH
;
PARITY
REGISTER
RESPONDED
TO
MEMORY
;NOT
INCLUDED
IN
ITS
MAP.
R1
POINTS
TO
;THE
PARITY
REGISTER'S
ADDRESS.
RS
;CONTAINS
VIRTUAL
ADDRESS
OF
THE
LOCATION
;
BEING
TESTED
(MAPPED
THRU KERNEL
; PAGE
1)
;STORE
REGISTER
ADDRE5S
;STORE
PTR
TO
INDICATOR
;INCREMENT
PTR
TO
INDICATOR
LOOP
UNTIL
ALL
THE
PARITY
REGISTERS
HAVE BEEN CHECKED
SAVE CONTENTS OF
LOCATION
UNDER
TEST
DiD
BICB
CHANGE
DATA?
NO,
CONTINUE
DATA
WAS
MODIFIED
BY
THE
BIC8
WHICH
GOT
A
PARITY
ERROR
TR,:.P-
SINCE
PARITY
TRAP OCCURRED. CONTENTS SHOULD NOT
CCf/IFAFQ.
MEMORY
PAR
lTY
TEST
M_ACY1
,
30A(
1052)
13-JAN-78
12:27
PAGE
41
CCMFAF.
P11
13-JAN-781'-:13
SEQ
0041
2202
HAVE
bEEN
MODI
FI
ED.
R5
CONTAINS
TEST
LOCATION
ADDRESS
(VIRTUAL,
MAPPED
THRU
2203
I(.ERNt: l PAGE
11.
" TREG" CONT A I
NS
ADDRESS OF
2204
PARITY
REGISTER
DETECT ING PARITY ERROR
2205
2206
010124
005767
170636
TST
TREG
WAS
PAr,!
TV
a~ROR
SET
IN
ANY
REGISTER?
2207
010130
001003
BNE
3$
YES-
BRANCH
220B
010'32
104002
ERROR
PARITY
TRAP OCCURRED
ON
READING
2209
\.,lRONG
PARITY
WITH
AE
SET
BUT
NO
REGI
5T
ER
HAS THE
PARITY
ERROR
BI
T
2210
SET.
R5
CONTAINS
VIRTUAL
ADDRESS
2211
OF
THE
TES r
LDCATION
(MAPPED
THRU
2212
KERNEL PAGE 11
2213
2214
010'34
000423
BR
4$
2215
010136 001022
8NE
4$
;NO,
BRANCH.
DO
NOT CHECK THE
2216
010140
022714
000001
3$
:
CMP
" ,
(R4)
:IS
THIS
A
CORE
PARITY
REGISTER?
2217
010144
001017
BNE
4$
;NO,
BRANCH.
DO
NOT CHECK THE
2218
;ADDRESS
BITS
OF
THE
LAST
PARITY
2219
;ERROR
2220
;
IF
CORE REG. CHECK I F ADDRESS
2221
;BITS
OF
LAST PAR
ERR
WERE
STORED
2222
010146
017701
170614
MDV
IPTREG,RI.
; GET CONTENTS
OF
REGISTER
DETECTING
PARITY
ERROR
2223
010152
042701
170037
BIC
,,70037,
R1
;MASK
OFF
ALL
BUT ADDRESS
BITS
2224
010156
010502
MOV
R5,
R2
;CALCULATE
TOP 7
BITS
OF
ERROR
ADDRESS
2225
010160
042702
163777
BIC
#163777,
R2
2226
010164
000302
S\vAB R2
2227
010166
006302
ASL
R2
2228
010170
006302
ASL
R2
2229
010172
067702
171054
ADD (lb1(,PAfl1,R2
2230
010176
020102
CMP
III
,R2
;PARITY
EflROR ADDRESS
BITS
CORRECT?
2231
010200
001401
BEQ
.+4
2232
010202
104004
ERRORS
;PAR1TY
ERROR
ADDRESS
BITS
(
PARITY
2233
;REGISTEn
BITS
11-51
INCORRECT
2234
: "TRECi"
CONTAINS
ADDRESS
OF
PARITY
2235
;REGISTER.
RS
CONTAINS
THE
VI
RTUAL
2236
; ADDRESS
OF
THE
TEST
LOCA
TI
ON
2237
;(MAPPED
THRU
KERNEL
PAGE
1)
223B
010204
022626
4$
:
CMP
(SP)+,
(5PI+
;
RESTORE
STACK
POINTER
2239
010206
011515
CNT
17:
MOV
(51,
(5)
; RESTORE TEST
LOCATION
TO
FIX
BAD
PARITY
2240
010210
005077
170552
CLR
@TREG
i
CLEAR
ER!(QR
SIT
IN
THE
PARITY
REGISTER
2241
010214
005715
TST
@R5
;REAO
LOCAl ION
TO
SEE
I F
PARITY
IS
GOOD
2242
010215 005777
170544
TST
@TREG
;
IS
PAHITY ERROR SET'?
2243
010222
100001
BPl
,+4
;ND.
BRANCH
2244
010224
104002
ERROR ;
VIR
I
TI
NG
LOCATION
WITH
WRITE
WRONG
2245
;PArdTY
CLEAq
DIDN'T
CLEAR BAD
PARITY
2246
:
"TREG"
CONTAINS
THE ADDRESS DF THE
2247
;PARITY
REGISTER.
R5
CONTAINS
THE
2248
;vtRTUAL
ADDRESS
OF
THE
TEST
LDCAT
ION
2249
;(MAPPED
THRU
KERNEL
PAGE
11
2250
010226
005167
170324
COM
ODDFLG ; TOGGLE
BVTE.
INDICATOR
2251
010232
100401
8MI
.+4
:
BRANCH
I F HIGH BYTE
NOT
YET
TESTED
2252
010234
OD5725
TST
(5)+
;UPDATE
ADDRESS
POINTER
2253
010236
020527
040000
CMP
R5,
#40000
;
THIS
4K
DONE?
2254
010242
103401
BLO
1$
:NO,TEST
NEXT
LOCATION
2255
010244
000207
RTS
%7
;
YES,
RETURN
TO
CHECK
FOR
NEXT
2256
; BANK TO
_E
TESTED
2257
010246 000167
177360
1$:
.)MP WWP17A ;
GO
AND TEST NEXT
LOCATION
CCMFAFO,
MEMORY
PARITY
TEST
MACV11
30A(1052)
13-JAN-78
12=27
PAGe
42
CCMFAF.
P11
13-JAN-78
12:
13
2258
2259
2250
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
22B2
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
010252
010254
010262
010266
010272
010274
010300
010306
010310
010314
010322
010324
010330
010334
010340
010344
010346
010352
010354
010356
010360
010364
010372
010400
010406
010414
010422
010430
010436
010440
010446
010452
010456
010462
010470
010474
010500
010502
010504
010510
010512
010520
010524
104001
012767
000002
000167
175052
005737 000042
001402
000167 001324
032767
001002
000167
032767
001002
000167
005037
004767
012700
005001
011161
005721
005300
001373
062706
012767
062767
062767
062767
062767
062767
022767
001403
062767
000167
013746
004767
012777
004767
012i04
005005
005025
020527
103774
012737
012701
032711
000001
001310
000002
001274
177776
003452
017770
020000
020000
030462
020000
020000
020000
020000
020000
177570
020000
020010
177776
005674
000020
003316
021036
020000
030720
020566
000001
170236
170562
170542
026070
023232
023226
023230
023224
023226
170442
010432
1?0412
000114
XFR1:
SCOPE
;IF
THE
FIRST
BANK
(BANf(
0)
IS
PARITY
(,J1EMORY,
SETUP
TO
TEST
IT
;COPY
THE
FIRST
4K
TO
THE SECOND
4K.
MOVE THE STACK
POINTER
TO
SANK
1.
;
AND
THEN
JUMP
TO THE COPY OF
TEST20
IN
BANK
1
OUT:
1$:
MaV
#2.BITPT
;XXXXX
JM~
TESTt4
;XXXX
TST
@fl42
SEO
+6
JMP
DONE
; I F THE
PROGRAM
IS
RUNNING
UNDER
ACT
THEN
;
GO
ro
DONE
#l.PMEML
.
+6
; BRMJCH I F YES
DONE ; t.JO- DONE \,.,rITH
TEST
#2,MEML
;1S
THERE
A SECOND
4K(BANK
1)7
.+6
;'IE5,
BRA:--lCH
DONE
;NO,
EXIT
@.'IPS
;CLEAR
STATUS
REGISTER
%7.CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
#17770,RG
;RD
IS
COUNTER
TO
MOVE
4K
R1
;Rl
POINTS
TO
LOCATION
IN
BANI(
@R1
,20000(RI)
COpy
FROM
BANK 0
TO
BANK 1
(Rl)+
POINTER
RO
;DONE
t<JITH
4K?
1 $ ;
NO-
BRANCH
1120000,SP
;YES,
MOVE
STAC,(
POINTER
TO
POINT
TO
BANK
#TEST20+20010.RETUr~N+20000
;UPDATE
SCOPE RETURN
IN
BANK
1
#20000.ERRA1+20000
;UPDATE
ADDRESSES
USED
IN
ERROR
TYPEOUT
i'
20000,
ERRA2+20DOO
#20000,
ERRA3·,.20000
#20000,
ERRA4+20000
#20000.
ERRA5+2000D
.'/177570.S
....
JR
;DOES THE
CONSOLE
HAVE A
SWITCH
REG.
7
I F
SO
THEN
GO
TO
2$
SEQ
0042
BI
T
BNE
JNlP
BI
T
8NE
JMP
CLR
JsR
MOV
ClR
MOV
TST
DEC
BNE
ADD
MOV
ADD
ADD
ADD
ADD
ADD
CMP
BED
ADD
2$
1120000,SWR+20000
THERE
IS
A SOFTWARE S'I'JITCH
:AND
ITS
f'.DDRESS
SHOULD
BE
UPDATED
LOCATION
2$:
JMP
TEST20+2.0010
;
GO
TO
TEST
20
IN
BANI~
1
; ****
>It
*****
*****"'***'"
**>!-*****
"'*'"
***."*,,,*
**".
~
"l
*"',.
~
...
*
1<>'<***1<",
***"*""_****"''''*>!"II<
;IF
FIRST
4K
IS
PARITY
MEMORY.
CHECK
IT
t<JITH A
SERIES
OF
PATTERNS
;THlS
SUBTEST
IS
RUN
IN
BANK 1
(20000
ABOVE
THE
ADDRESSES
HJ
THE
LISTING)
:
..
*
..
"',..
.......
>/<
* ***
..
* * *
"'*
* * * **
oF
>I<
**
>I<
*
11<
*'
*
'"
**
'"
'"
"'
..
*,.,.
"'''
'"
i<"
**
"'
..
'"
*' ..
*
'"
'"
**
*"*
..
* **
>It
*
'"
"'
..
TEST20:
MOV
@HPS,-(SPI
;THESE
2
LINES
DO
THE SAME
AS
A SCOPE
1$:
2$:
Jsn
PC,SCOPEC
;USING
AN
EIVIT
MDV
H20.@DISPLAY
: LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
JSR
%7,CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
MOV
HPARPAT+20000,R4
;INlTIALIZE
PATTERN
POINTER
CLR R5
CLR
(5)+
CMP
R5.
#20000
BLO
1$
MOV
#TRP20+20000
,@#PARVEC
MOV
HMPRO+20000.
R 1
BIT
;1t~ITIALLY
CLEAR
BANK
;
SE
rup
TRAP
RETURN
;
SETUP
TO
SET
ACTION
ENABLE
IN
ALL
;
PAR1lY
REGISTERS
PRESENT
WITHOUT
CCMFAFO,
MEMORY
PARITY TEST
MACYl
,
30A('052)
,
3-yAN-78
'2:27
PAGE
43
CCMFAF.
P11
,
3-J
AN-78
'2:'3
seQ
0043
23'4
010530
00'003
BNE
.+10
23'
5
0'0532
01277'
00000'
000000
MDV
NAE,I'(R'
)
;SET
ACTIDN
ENABLE
IF
REGISTER
IS
PRESENT
23'6
0'0540
06270'
0000'0
ADD
N'
0
,R'
23'7
010544
020'27
020766
CMP
R'
,NTREG+20000
23,
8
010550
'03765
BLD
2$
; BRANCH
UNTI
L
ALL
REGISTER
ADDRESSES
2319
;HAVE
BEEN CHECKED
2320
010552 004767 000022
3$:
ySR
%7,CKBKO
;EXERCISE
THIS
4K
2321
0'
0556
005724
TST
(4)+
;UPDATE
PATTERN
2322
0,0560
005714
TST
(4)
; LAST PATTERN?
2323
010562
001373
BNE
3$
;ND,
LDDP
2324
010564
004767 003222
DDNE20:
ySR
PC,
CLRPAR
:CLEAR
ALL
PARITY
REGISTERS
2325
010570 012737 000116
000114
MDV
# PARVEC+2
,I'NPARVEC
; RESTDRE TRAP CATCHER
2326
010576
000526
BR
TEST21
;
GD
TO
NEXT
TEST
2327
CCW,FAFO,
MEMORY
PARITY
TEST
MACYll
30A[
1052)
13-JAN-7B
12:27
PAGE
44
CCMFAF.P11
13-JAN-7812:13
SEQ
0044
2328
:
PARITY
MEMDRY
TEST
ROUTINE
2329
;WRITES
AND
CHECKS EACH
LDCATION
IN
SANK 0
[EXCEPT
114
AND
116)
2330
;WITH
VALUE
POINTED
TD
BY
R4
2331
010600
005005
CKBKO:
ClR
R5 SET ADDRESS
POINTER
2332
010602
011415
1$:
MDV
(4),
[5)
WRITE
PATTERN
2333
010604
021415
CMP
(4).
[5)
DATA
OK?
2334
010606
001404
BEQ
.+12
YES-
BRANCH
2335
010610
013746
177776
MDV
@#PS,-(SP)
SETUP
TD
DD
ERROR
CALL
VIA
JSR
2336
010614
004767
002742
JSR
PC,
ERR
ERRDR_ DATA INCDRRECT
IN
LDCATION
2337
WHDSE
ADDRESS
IS
IN
R5.
R4
PDINTS
2338
TO
THE VALUE
WRITTEN.
2339
010620
005725
TST
(5)+
UPDATE ADDRESS
PDINTER
2340
010622
020527
000114
CMP
R5,N114
DDN'T
CHANGE CONTENTS
OF
114
AND
"6
2341
010626 001002
BNE
.+6
2342
010630
062705
000004
ADD
#4,R5
2343
010634 020527
020000
CMP
R5,
'20000
: HAS THE
WHDLE
BANK BEEN TESTED
WITH
2344
j
THIS
PATTERN?
2345
010640
103760
BlO
1$
;ND,
BRANCH
TO
TEST
NEXT
LOCATIDN
2346
010642 005067
170120
CLR TREG
;YES,
010
ANY
PARITY
ERROR
BITS
SET?
2347
010646
012701
020566
MDV
HMPRO+20000,
Rl
234B
010652
032711
000001
2$:
BIT
#
1,
[1)
2349
010656
001003
BNE
.+10
2350
010660
005771
000000
TST
@(Rl)
2351
010664
100406
BMI
3$
;
YES-
BRANCH
2352
010666
062701
000010
ADD
#10,
Rl
2353
010672
020127
020766
CMP
R 1
,#TREG+20000
2354
010676
103765
BLu
2$
2355
010700 000207
RTS
%7
;
NO-
RETURN
2356
010702
013746
177776
3$:
MDV
@#FS,-(SP)
; SETUP
TO
00
ERRDR
CALL
VIA
JSR
..
2357
010706
004767
002650
JSR
PC,
ERR
; ERROR-
PARITY
ERROR
BIT
SET AND
ND
2358
;
PARITY
TRAP DCCURRED
2359
;(AE
WAS
SET)
-
Rl
PDINTS
TO
ADDRESS
2360
;OF
PARITY
REGISTER
2361
010712
022626
CMP
(SP)+,
(SP)+
;RESTDRE
STACK
PDINTER
2362
010714
000167
177644
JMP DONE20
2363
2364
;PARITY
TRAP
SERVICE
(ND
TRAPS TD
114
SHDULD
DCCUR
IN
THIS
SUBTEST)
2365
010720
005067
170042
TRP20
: CLR TREG
2366
010724
012701
020566
MOV
#MPRO+20000,
Rl
;
FINO
THE
REGISTER
RECDRDING A
PARITY
ERRDR
2367
010730
032711
000001
'$:
BIT
#1,(R1)
2368
010734
001003
BNE
.+10
2369
010736
005771
000000
TST
@(R1)
2370
010742
100412
BMI
2$
; BRANCH
IF
ERRDR
IS
SET
2371
010744
062701
000010
ADD
#10.
Rl
2372
010750
020127
020766
CMP
R 1
,#TREG+20000
2373
010754
103765
BlD
1$
2374
010756
013746
177776
MOV
@#PS,-(SP)
SETUP
TD
00
ERRDR
CALL
VIA
A
JSR
2375
010762
004767
002574
ySR
PC,
ERR
ERROR-
PARITY
TRAP
TO
114
DCCURRED
DURING
2376
TEST
20
BUT
NO
REGISTERS
HAVE
PARITY
2377
010766
000430
BR
5$
ERROR
SET
237B
010770
017102
000000
2$:
MDV
@(Rl
)
,R2
SAVE CONTENTS DF
PARITY
REGISTER
2379
010774
005003
CLR R3
INITIALIZE
ADDRESS
POINTER
2380
010776
005071
000000
3$:
CLR
@(Rl
) CLEAR
PARITY
REGISTER
2381
011002
005713
TST
@R3
READ
LDCATIDN
23B2
011004
005771
000000
TST
@(Rl)
PARITY
E
··RDR
SET?
2383
011010
100413
8M!
4$
YES-
BRANCH
CCMFAFQ,
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN~78
12:27
PAGE
45
CCMFAF.Pl1
13-JAN-7812:13
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
239B
2399
2400
2401
2402
2403
2404
240S
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
241
9
2420
2421
2422
2423
2424
242S
2426
2427
2428
2429
2430
2431
2432
2433
:::!434
2435
2436
2437
2438
2439
CCMFAFO.
011012
011'014
011020
011022
011026
011032
011036
011040
011044
011050
011052
011054
011060
011064
011072
011076
011,00
011102
0111
06
011110
011112
011116
011124
011130
011134
011140
011142
011150
a
1115~
01
t
160
011162
011166
011170
MEMORY
00S723
020327
103766
010271
013746
004767
000404
013746
004767
022626
000207
013746
004767
012777
004767
005005
00S02S
020527
103774
005005
005067
012767
012715
0,
2701
020000
000000
177776
002S24
177776
002512
177776
00S272
000021
002714
020000
167440
125253
125253
020566
032711
000001
001003
012771
000004
062701
000010
020127 020766
103765
005767
167370
100404
112715
000253
PARITY
TEST
ccr~lFAF.
P11
13-JAN-78
12:
13
2440
011174
005715
2441
011176
00O~05
2442
011200
112765
000252
2443
011206
10S765
000001
2444
011212
012701
020566
2445
011216
012703
000770
2446
011222
032711
000001
2447
011226
001003
2449
011230
042771
000004
2449
011236
062701
000010
2450
011242 020127 020766
2451
011246
103765
2452
011250
012701
020566
2453
011254
005067
167506
24S4
011260
032711
000001
24SS
011264
001024
2456
011266
005771
000000
2457
011272
100021
24S8
011274
005767
167466
24S9
o t
1300
001404
2460
011302
013746
177776
2461
011306
004767
0022S0
2462
2463
2464
011312
032761
000001
2465
2466
011320
001004
2467
011322
013746
'77776
2469
011326
004767
002230
2469
2470
2471
2472
2473
011332
011167
167430
2474
011336
062701
000010
247S
011342
005723
2476
011344
020127
020766
2477
o
113S0
103743
2478
2479
011352
005767
167410
2480
011356
001005
2481
011360
013746
177776
2482
011364
004767
002172
2483
2484
2485
011370
000423
2486
011372 022713
000001
2487
011376
001020
24B8
2489
011400
017701
167362
2490
011404
042701
170037
2491
01'410
010502
2492
011412
042702
003777
2493
011416 000302
2494
011420
006302
2495
011422
006302
170010
167410
000000
MACY11
000001
000000
000002
4$
:
S$
:
TST
CMP
BLO
MOV
MOV
J5r.!
BR
MOV
JSR
eMP
RTS
I
R3)+
R3,
#20000
3$
R2,@(R1)
@#PS,-ISP)
PC,
ERR
5$
@#PS,-(SP)
PC,
ERR
ISP)+,
(SP)+
%7
:MOVE
POINTER
;RESTORE
PARITY
REGISTER
CONTENTS
;SETUP
TO
CALL
ERROR
VIA
JSR
;PARITY
ERROR
OCCURRED
WHILE
TESTING
;BANK
0
BUT
NO
BAD
PARITY
WAS
FOUND
:
DURING
SCAN
OF
BANK
O.
R1
POINTS
;
TO
THE ADDRESS OF THE
PARITY
REGISTER
;OETECTING
THE ERROR
;SETUP
TO
DO
ERROR
CALL
VIA
JSR
;PARITY
ERROR
\oJHILE
EXERCISING
MEMORY
: BANK
0-
Rl
POINTS
TO
ADDRESS
OF
PARITY
;REGISTER
DETECTING
THE ERROR. R3
CONTAINS
; THE ADDRESS
OF
THE
LOCATION
HAVING
;BAD
PARITY
; RETURN
TO
CHECK USING THE NEXT
PATTERN
:
>I<
>4-'"
II<
'" '"
'"
'"
*'
"'
..
"'
..
'"
'"
*"'*
'"
>Ie
..
'"
'"
~
'"
'"
"'
..
'" '"
"'
...
*'
'"
'" '"
"'*
'"
'"
"'
......
'"
>1<
...
'" '"
"'*
**
>1<
... **
"'
..
"'
......
'"
**
...
'"
**
**
...
: FORCE
WRONG
PARITY
IN
EACH
LOCATION IN
BANK
0
;NOTE
THAT
THIS
SUBTEST
IS
EXECUTED
IN
BANK 1
(20000
ABOVE
ADDRESSES
;
IN
. -IE
LISTING).
MAKE
SURE
THAT
WRONG
PAR!
TY
IN
EACH
BYTE
CAN
BE
DETECTED.
;AND
THAT
\tJHEN
GOOD
PARITY
IS
WRITTEN
AND READ
NO
PARITY
ERROR
IS
DETECTED.
;CHECK
ERROR ADDRESS
BITS
(PARITY
REGISTER
BITS
5-11)
;
'"
'"
"'
..
'"
'"
'"
"''''
"'
..
*.jc
"'
..
'"
*
...
"'*
..
'"
"'* "'*
'"
~
"'*
'"
*
'" '"
**
*'"
'" '"
"''';'
"'
..
'"
"'"
**
'"
'" '"
***
"'"'
'"
'"
'" '" '" '"
**"''''
'"
**
TEST21:
MOV
@NPS,-(SP)
:SAME
AS SCOPE
wiTHOUT
DOING
EMT
JSR
PC.
SCOPEC
MOV
#21.@DISPLAY
; LOAD THE
TEST
NUMBER
INTO
THE
DISPLAY
JSR
PC,CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
CLR
RS
1$:
CLR
(R5h
;CLEAR
PArdTY
ERRORS
IN
BANK 0
CMP
R5,
#20000
BLO
1$
.
;WRITE
WRONG
PARITY
TEST
ROUTINE
;USING
SAME DATA
VAlt.:E.
WRITES
AND CHECKS
PARITY
IN
WRONG
STATE
;AND
THEN
IN
CORRECT
STATE
TO
PROVE
THAT
PARITY
BITS
TOGGLE
WWP21: CLR R5
;5ET
TEST
ADDRESS
POINTER
CLR ODDFLG
;ClEAR
FLAG
TO
INDICATE
TESTING
lm'll
BYTE
SE~
0045
MOV
#125253.SHDBE
;STORE
DATA
FOR
USE
BY
ERROR TYPEOUT
ROUTINE
WWP21A:
MOV
11125253.@lR5
;INITIALIZE
LOCATION
1$:
30A{
1
OS2)
2$:
3$:
4$:
LOOP21 :
S$:
6$:
MOV
IIMPRO+20000,
R 1 ;
SE
TUP
TO
SET
~'R
I T E
WRONG
PAR
I
TV
;IN
ALL
REGISTERS
BIT
BNE
MOV
ADD
eMP
BLo
TST
BMI
MOVB
# 1 ,
(1
)
.+10
HWI,oJP
.@l(R1 )
/,I
1
O.
Rl
R1
f;rTREG+20000
1$
OooFLG
2$
>
#2S3,@>R5
13-JAN-7B
12:
27
PAGE
46
TST
IRS)
BR
3$
MOV8
#2S2,
1
(RS)
TST8
1(
RS)
MOV
IIMPRO+20000,
R1
MoV
/lINDCO,
R3
BIT
#1,@R1
BNE +1 0
BIC
#WWP,@(Rl)
ADD
#10.
Rt
CMP
R1,IITREG+2DODO
BLo
4$
MOV
#MPRO+20000,
R1
CLR TREG
BIT
#1,@R1
BNE
S$
TST
@IR1 )
BPL
S$
;5ET
WRITE
WRONG
PARITY
;TESTING
HIGH
BYTE?
;
YES.
BRAnCH
:NO.
I'JRITE
WRONG
PARITY
IN
LOW
BYTE
;DETECT
WRONG
PARITY
WITH
DATI
;WRITE
WRONG
PARITY
IN
HIGH
BYTE
;DETECT
WRONG
PARITY
WITH
DATI
;SETUP
TO
CLEAR
WWP
IN
ALL
PARITY
REGISTERS
;
POINTER
TO
INDICATOR
;CLEAR
Wl,oJP
IN
ALL
PARITY
REGISTERS
; CHECK
TO
SEE
IF
ANY
REGISTER
DETECTED
; THE
PARITY
ERROR
CHECK
PARITY
REGISTER
BRANCH
IF
PARITY
ERROR
IS
NOT
SET
SEQ
0046
TST
TREG
WAS
PAR
ITY
ERROR SET
IN
ANY OTHER
REGISTER?
BEQ
.+12
NO-
BRANCH
MOV
@#PS,-(SP)
SETUP
TO
DO
ERROR
CALL
VIA
A
JSR
JSR
PC,
ERR
ERROR-
PARITY
ERROR SET
IN
MORE THAN
ONE
REGISTER
AFTER
\tJRITING
WRONG
PARITY
IN
LOCAl
ION
WHOSE
ADDRESS
IS
IN
RS
BIT
#1,2(R1)
DOES MAP
INDICATE
THAT
THIS
REGISTER
CONTROLS
THIS
MEMORY?
BNE
.+12
YES,
BRANCH
MoV
@#PS,-(SP)
NO-
SETuP
TO
DO
ERROR
CALL
VIA
A
JSR
JSR
PC,
ERR
ERROR-
PARITY
REGISTER
RESPONDED
TO
MEMORY
WHICH
IS
NOT
IN
ITS
MAP.
Rl
POINTS
TO
PARITY
REGISTER'S
ADDRESS.
R5
CONTAINS
ADDRESS
OF
LOCAT
ION
BE
ING
TES T
ED
MOV
@lRl
,TREG
STORE
REGISTER
ADDRESS
ADD
1110.
Rl
TST
IR3)+
CMP
Rl.IITREG+20000
8LO
LOOP21 BRANCH
UNT
I L
ALL
REGISTERS
HAVE
8EEN
CHECKED
TST
TREG
WAS
PAR I
fy
ERROR SET
IN
ANY
REGISTER?
BNE
6$
YES-
BRANCH
MOV
@#PS,-ISP)
NO-
SETup
TO
DO
ERROR
CALL
VIA
A
JSR
JSR
PC,
ERR
ERROR-
NO
REGISTER
HAS
PARITY
ERROR
SET AFTER
READING
WRONG
PARITY
IN
LOCATION
WHOSE
ADDRESS
IS
IN
RS
BR
7$
CMe
#1,
I
R3)
IS
THIS
A
CORE
PAR
REG?
BNE
7$
NO.
BRANCH
(MaS
PAR
REG
DOES NOT
STORE
ADDR
81
TS
OF
PAR ERROR)
MOV
@TREG,Rl
GET
PARITY
REGISTER
CONTENTS
81C
#170037,
R1
MASK
ALL
BuT
ERROR ADDRESS
BITS
MOV
RS,
R2 GET ADDRESS
OF
LOCATION
UNDER
TEST
81C
#3777,
R2
POSIT
ION
BITS
IN
R2
SWAB
R2
ASL
R2
ASL
R2
CCMFAF'.),
MEMORY
PARITY
TEST
CCMFAF.P11
13-JAN-7812:13
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
251'
2512
2513
2514
2515
2516
2517
251
B
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
011424
011426
011430
011434
011440
011442
011446
o t
1450
01'
454
011456
011462
011466
011472
011474
011476
011502
011504
011510
011514
011520
01 t
524
011525
011532
011534
011536
011540
011544
011552
011560
011566
all
:174
011602
011610
011612
011620
011624
011532
011636
011642
011646
020102
001404
013746
004767
0'1515
005077
005715
005777
'00004
013746
004767
005167
100401
005725
020527
103610
004767
013746
004767
012700
005001
016111
0057.21
005300
001373
162706
162737
162737
162737
162737
1627.37
O~2737
001403
162737
000167
012737
012706
OC4767
005237
004567
177776
002122
167320
167312
177776
002074
167064
020000
002302
177776
004636
017770
020000
020000
020000
020000
020000
020000
020000
177570
020000
160000
000116
000510
002150
011752
003544
CCMFAFO,
MEMORY
P~RITY
TEST
CCN'IFAF.Pl1
13-JAN-7912:13
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2::,G7
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
25B8
;2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
011651
011654
011656
011660
011662
0116G4
011666
011670
011672
011676
011700
011702
011704
011706
011710
011712
011,20
011722
011724
o t
1730
011732
011736
011740
011746
011752
011754
011756
011764
011770
011774
012000
012004
012010
012016
012024
012032
012040
012046
012054
012060
012064
012070
012074
012102
012106
011752
017401
000006
104000
017363
COSOOO
005200
001376
o t
3705
001405
000005
004715
000240
000240
000240
032777
001401
000000
105767
001006
105777
100375
112777
000167
000000
000000
012737
005737
005067
004767
004767
005067
012767
012767
012767
012767
012737
016777
005737
005737
005737
005737
062767
006367
103006
000042
000400
167162
167146
000000
170134
012162
177572
166554
001712
002056
166534
177777
077777
000001
001064
012150
166472
021000
025000
031000
035000
000200
166412
MACY11
30A(
1052)
13-0AN-78
12:27
PAGE
47
013632
013634
013644
013646
013656
001100
001100
000'
14
7$
:
CMP
Oi:O
MOV
oSR
MOV
ClR
T5T
TST
BPl
MOV
oSR
COM
BMI
TST
CMP
810
JSR
MOV
J5R
R1
,R2
7$
@#PS,-(SP)
PC,
ERR
@R5,@R5
@TREG
@R5
@TREG
.+12
"#PS,-(SP)
PC,
ERR
ODDFlG
.+4
(
R5)+
R5,
#20000
WWP,,21
A
PC
I
CLRPAR
@#P5,-(SP)
PC,5COPEC
PARI
TY
ERROR
ADDRESS
BITS
COR"ECT?
BRANCH
IF
YE5
ND-
SETUP
TO
DO
ERROR
CALL
VIA
A
JSR
ERRDR-
ADORE55
BITS
(PARITY
REGISTER
8i
T5
5-11)
INCORRECT-
ADDRE5S
OF
PARITY
REGISTER
IS
CONTAINED
IN
LOCATION
"TREG
II
ADORES5
OF
TEST
lOCATION
15
IN
R5
RESTORE TEST
lOCATION
TO
FIX
BAD
PARITY
CLEAR
ERROR
BIT
IN
PARITY
REGISTER
READ
lOCATION
TO
SET
IF
PARITY
IS
GOOD
CHECK
PARITY
ERROR
BIT
BRANCH
IF
NOT
SET
SETUP
TO
DO
ERROR
CALL
VIA
A
JSR
ERROR-
WRITING
LOCATION
WITH
WRITE
WRONG
PARITY CLEAR
DIDN'T
CLEAR
BAD
PARITY
(ADDRESS
OF
lOCATION
IS
IN
R5)
"TREG"
+20000
CONTAIN5
THE ADDRESS
OF
THE
PARITY
REGISTER
TOGGLE
ByTE
INDICATOR
BRMKH I
j-
HIGH
BYTE
NOT
YET
TESTED
UPDATE
ADDRESS
POINTER
THIS
4K DONE?
lOOP
TIll
All
4K
HAS BEEN
TESTED
CLEAR
All
PARITY
REGISTERS
SETUP
TO
CAll
SCOPE
VIA
JSR
5COPE
;COPY SECOND
4K
BANK BACK
TO
FIR5T
4K
AND RETURN
TO
FIR5T
4K
BANK
XFR2:
MOV #
17'770,
RQ
;
RO
IS
USED
AS
A
COUNTER
1
$:
2$
:
ClR
Rl
;
Rl
POINTS
TO
THE CURRENT
lOCATION
MOV
20000(Rl)
,@>Rl
;COPY
BANK 1 TO
8ANK
0
TST
(Rl)+
OEC
RO
BNE 1 $
SUB
#20000,
SP
SUB
#20000,@lIlERRA1
SUB
1t20DOO,@l#ERRA2
SUB
1;'20000,@nERRA3
sue
#20000,@#ERRA4
SUB
1t20000,@lIlERRAS
CMP
#177570,@lItSWR
8EQ
2$
5UB
#20000,
~'SWR
JMP
DONE-20000
;RESTORE
5TACK
POINTER
;DOES
THE
CONSOLE
HAVE
A
SWITCH
REG.
?
; I F SO THEN
GO
TO
2$
;OTHERWISE
RE5TORE THE ADDRESS
OF
SOFTWARE
;
SWITCH
REGISTER
;
RETURN
TO
BANK
a
; ...
>I:
'"
"'
..
'"
'"
>1<'"
>I<
'"
'" '"
'"
"''''
>I<
"'
......
'" '"
¥
>1<""
'"
'"
**
>I<
"'*
>I<
**
'"
>I<
'"
"'
..
>I<
>I<
"'
..
"'
...
'PI,
"'
..
>I<
**
>I<
** **
*'"
'"
*'"
* **
"'
...
*
;AT
THIS
POINT
EXECUTION
RETURNS
TO
SANK
0
;
**,.,..
..
"',.
>I<
*'
J.
**
'"
**
'"
'" '"
**
>1<'"
>1<"
'"
'"
'"
'" '"
**
'" '" '" '"
>1<**
'"
'"
"'
..
'"
'"
'"
'" '"
'"
"''''
'"
'" '"
'"
**
....
,.
'"
*'
'"
...
'"
*
"',.
......
**'"
DONE:
MOV
Ii
PARV
EC+2
,@#PARVEC
: RES TORE T
RAPCA
TCHER
MOV
HSTKPT
,SP
;REINITIALIZE
STACK
POINTER
J$R
%7,CLRPAR
;CLEAR
ALL
PARITY
REGISTERS
INC
@#PASCNT
;
'EEP
TRACK
OF
PASSES
COMPLETED
JSR
R5,
OACNV
MACY11
30A(1052)
13-JAN-78
12:27
PAGE
48
167160
167140
000004
167046
167042
166466
166506
000004
167176
166442
1$:
$ENDAD:
CONT:
1$:
PASCNT:
MONC·T:
PA5CNT
MPCNT
G
TYPE
MPGEND
CLtl
RO
INC
RO
BNE 1 $
LOGICAL:
MQV
8EQ CONT
RE5ET
05R
7,(5)
NOP
NOP
NOP
BIT
#BITB,@5WR
8EQ
+4
HA
L T
T5TB
$TPFlG
8NE 1 $
TST8
@lTPS
8Pl
,-4
MOV8
#O,@TPB
JMP
8EGIN
o
o
;TYPE
BELL,
"END
PA5S="
AND PASS COUNT
;
AllOW
TIME
FOR
END
PA55
MESSAGE
TO
PRINT
@#42,R5
;LOADED
BY
MONITOR'?
; BRANCH I F
NO
;
GO
TO
MONITOR
:
SWITCH
8
SET?
;
HAL
T
AT
END
OF
PASS
SET
;IF
NO
TERMINAL.
SKIP
;
"AIT
FOR
TTY
TO
FINI5H
SO
THAT
RESET
:WON'T
CLOBBER THE
BEll
: OUTPUT A
NULL
;
PA5S
COUNT
; **
*'"
'"
'" '"
'"
'"
*
'"
>I<
>I<
'"
*
"'
...
>I<
'" '"
"'
..
'" '"
'"
'" '"
*
'"
'"
'"
>I<
*
>I<
** **
>f.
'"
'" '"
*'"
'"
*
"'"'
"''''
*'"
>I<
'" '"
>I'
*
'"
>I<
'"
'"
'"
***"''''* ***
;CREATE
MAP
INDICATING
WHERE
4K
BlOCK5
OF
MEMORY
ARE PRESENT
i·>t-
'" '"
"'
..
'"
*
..
'"
*'"
'"
'"
'" '"
"'
......
"'"'
'"
'"
'"
"',..
*
'" '"
**
'" '"
**
"'**
'" '" '"
'" '"
"'"'
'" '"
"'
......
"'. *
'"
'"
'"
'" '" '"
'"
'" '"
*"'
..
"''''
**'"
MAPMEM:
MOV
#MAPMB,@1I4
:
SET
NO
MEM
MANAGEMENT
TRAP
T5T
@#SRO
;
IS
KT
PR~SENT?
(TIMEOUT
IF
NO)
;MAP
MEMORY
U5ING
KTll
-MAX
OF
l24K
MAPMA:
ClR
NOKT
2$
:
3$:
JSR
%7,NRAll
05R
%7,MAPl
ClR
MOV
MOV
MOV
MOV
MOV
MOV
T5T
TST
T5T
TST
ADO
ASl
BCC
TBANK
,,77777
,MEMl
1177777,MEMH
,l,/1.8ITPT
#MEML,
MEMUT
115$
.@#4
TBANK,0lKPAR1
@f.l21000
@#25000
@1f3100Q
@#35000
#200,
TBANK
81
TPT
4$
POSSIBLE
;
INDICATE
KTll
PRE5ENT
;
INITIAllY
5ET
All
PAGE5
NONRESIDENT.
BANK
;MAP
KERNEL 0
TO
B~NK
0,
RW
; MAP KERNEL 7
TO
THE
EXTERNAL
BANK.
RW
;MAP
KERNEL 1
RW,
AND TURN
ON
KTll
;SET
UP
CORE
MAPS
;SET
UP
4K
POINTER
5ET
UP
FOR
TIME
OUTS
MAP KERNEL PAGE 1
TO
BANK
BEING
TESTED
1ST
K
PRESENT?
2ND
K
PRESENT?
3RD
K
PRESENT
4TH
K
PRESENT?
UPDATE
TE5T
ADDRESS
UPDATE
BANK
POINTER
8RANCH I F NOT DONE
WITH
64K
SECTION
SEQ
0047
SEQ
0048
CCMFAFO,
MEMORY
PARITY
TEST
MACVll
30A(1052)
13-JAN-78
12:27
PAGE
49
SEQ
0049
CCMFAF.Pl1
13-JAN-7812"3
260B
2609
2610
2611
2612
2613
2614
2615
2616
2617
261B
2619
2620
2621
2622
2623
2624
2625
2626
2627
262B
2629
2630
2631
2632
2633
2634
2635
2636
2637
263B
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
012110
012116
012124
012132
012134
012140
012146
012150
012156
012160
012162
012170
012172
012200
012206
012212
012220
012222
012226
012232
012236
012242
012246
012252
012260
012262
012270
012272
012300
012302
012304
012312
012320
012326
012332
012336
012342
012346
012352
012356
012360
012767
012767
022767
003345
005037
012737
000207
046777
022626
000745
012767
022626
012737
012767
005067
012767
005001
005761
005761
005761
005761
062701
006367
022767
003360
012737
000207
046767
022626
000757
013767
012767
012767
005067
005067
005067
005067
012702
032712
001003
012772
000001
001066
007600
177572
000006
166344
000001
012272
000177
166654
000001
001000
005000
011000
015000
020000
166246
000200
000006
166222
001064
000001
000001
166232
166206
166210
166662
000566
000001
000004
CCMFAFO,
MEMORY
PARITY
TEST
CCMFAF.
Pl1
13-JAN-7B
12:
13
2664
012366
062702
000010
2665
012372
020227
000766
2666
012376
103765
2667
012400
016703
166140
266B
012404
066703
166620
2669
012410
011313
2670
012412
005713
2671
012414
012702 000566
2672
012420
032712
000001
26i3
012424
001003
2674
012426
042772
000004
2675
2676
012434
062702
000010
2677
012440
020227
000766
267B
012444
103765
2679
012446 012702
000556
26BO
012452
062702
000010
26Bl
012456
020227
000766
26B2
012462
002031
26B3
012464
032712
000001
26B4
012470
001370
26B5
012472
005772
000000
2686
26B7
012476
100365
26BB
012500
005767
166046
2689
012504
001004
2690
012506 056762
166006
2691
012514
000403
2692
012516 056762
165776
2693
012524
105762
000007
2694
2695
012530
001005
2696
012532
116762
166472
2697
012540
105262
000007
269B
2699
012544
000742
2700
012546
011313
2701
012550
062767
000002
2702
012556
026727
166446
2703
012564
001402
2704
012566
000167
177554
2705
012572
005767
165754
2706
012576
001021
2707
012600
026727
165714
270B
012606
103015
2709
012610
062767
020000
271 0
012616
oe6367
165676
2711
012622
005067
166402
2712
012626
036767
165666
2713
012634
001756
2714
012636 000167
177504
2715
012642
005767
165702
2716
012646
001401
2717
012650
000207
271B
012652
005767
166350
2719
012656
001417
166402
166422
166412
000004
166370
166360
000004
166656
166300
166240
000004
166564
166234
166200
166700
000000
4$.
5$.
:NO KT
MAPMB:
1$:
2$.
3$:
MOV
MOV
CMP
BGT
CLR
MOV
RTS
alc
CMP
BR
PRESENT
MOV
CMP
MOV
MOV
CLR
MOV
CLR
TST
rST
TST
TST
ADD
ASL
CMP
BGT
MOV
RTS
BIC
CMP
SR
N1,BITPT
NMEMH,
MEMUT
#7600,
T
BANK
2$
ilHSRO
"'6,@1I4
%7
BITPT
,ilMEMUT
(SP)+,
(SP)+
3$
-
MAP MAX
OF
#1
tNOKT
(SP)+,
(SP)+
H3$
,"'#4
#177,MEML
MEMH
HI,
BITPT
Rl
1
OOO(
1)
5000(
1)
11
000
(1 )
15000(
1)
#20000,
Rl
BITPT
H200,BITPT
1$
#6,«>#4
%7
BITPT
tMEML
(SP)+,
(SP)+
2$
;YES,
DO
MEMH(64-124K)
: EXTERNAL BANK YET?
:NO,
NOT
YET
;
YES-
DISABLE
KTll
;
RESTORE
TRAPCATCHER
;RETURN
: TiMEOUT OCCURRED-CLEAR BIT
TO
INDICATE
;4K
BLOCK
NOT
PRESENT
: ADJUST STACK
:
CHECK
NEXT
BLOCK
28K
IN
4K
CONTIGUOUS BLOCKS
:SET
FLAG
TO
INDICATE
KT11
NOT
PRESENT
;RESTORE _TACK
POINTER
; SET
UP
TIMEOUT RETURN
;
INITIALIZE
MAP
:SETUP
4K
POINTER
:
INIT
IALl
ZE
BANK ADDRESS
:IST
K PRESENT
; 2ND K PRESENT
; 3RD K PRESENT
:4TH
K PRESENT
;UPDATE TEST ADDRESS
; UPDATE POINTER
TO
NEXT
4K
:
28K
CHECKED YET?
; NO,
CHECK
NEXT
4K
BLOCK
: TIMEOUT OCCURRED- CLEAR
BIT
TO
:
INDICATE
4K
BLOCK
NOT
PRESENT
: ADJUST STACK POINTER
;
*.
*".
** ***"'*"'**.'"
OJ<**
'"
>I<
**
_
•••
"'>IE
**
"'*
"'*"'*
**
*>1-
*"'''''''
'"
'"
'''OJ<
'"
*"'*** "'**. **
*."'*"'''''''
......
;MAP
PARITV
CORE
AND
CORRESPONDENCE
TO
ASSOCIATED REGISTERS
; **
"'
••
**.
*******
*
****
of"'****
*********.*"'**
*'"
*
'"
**
**
"'*
'"
"'*
**
..
,..
*****
*********
MAPREG:
MOV
"'#MEML ,MEMUT ;
LOAD
MAP
OF
MEMORY
PRESENT
IN
LOWER
64K
MOV
Hl,BITPT
;
INITIALIZE
4K POINTER
MOV
Hl,KTSTART
:
INDICATE
KTI1
NOT
IN
USE
CLR
RELOC
CLR TBANK
CLQ
HIWORD
CLR ADRTYP
;
INITIALIZE
ADDRESS
OF
TEST BANK
;CLEAR
FLAG
TO
INDICATE
FIRST
64K
: BEING CHECKED
:SET
WRITE
WRONG
PARITY
IN
ALL
REGISTERS PRESENT
:THEN WRITE TEST LOCATION
VIA
DATO
AND
READ
TEST LOCATION
VIA
DATI
:THEN
CLEAR WRITE
WRONG
PARITY
IN
ALL
REGISTERS
MAPRB:
MOV
HMPRO,
R2
:
LOAO
ADDRESS
OF
TABLE
1$:
BIT
#1,
(2)
:
IS
THIS
REGISTER PRESENT?
BNE
.+10
;NO,
GET
NEXT
ONE
MOV
HWWP,iI(2)
;YES,
SET WRITE
WRONG
~ARITY
AND
CLEAR REST
MACYll
30A(
1
052)
13-JAN-7B
12:27
PAGE
50
SEQ
0050
ADD
1I10,R2
tM?
R2,hTREG
DONE
WITH TABLE?
BLO
1$
BRANCH
I F
NOT
MOV
TBANK, R3
LOAD
ADDRESS
OF
4K
BANK
UNDER
TEST
ADD
ADRTYP,R3
ADD
ADDRESS OFFSET
(EITHER
O,2,4,OR
6)
MOV
(3)
,(3)
WRITE
WRONG
PARITY
TST
(3)
READ
WRONG
PARITY
MOV
#MPRO, R2
2$:
BIT
#1,
(2)
BNE
.+10
000000
BIC
HWWP,!'(2)
: CLEAR WRITE
WRONG
PARITY
IN
ALL
;
PARITY
REGISTERS
ADD
#10
tR2
CMP
R2,#fREG
BLO
2$
MAPRC:
MOV
NMPRO-10,R2
;INIT
FOR
ERROR
CHECKS
1$:
ADD
HI
0,
R2
CMP
R2,
HTREG
BGE
MAPRD
;BRANCH
IF
DONE
WITH TABLE
BIT
HI,
(2)
;
IS
THIS
"EGISTER
PRESENT?
BNE
1$
iND,
GET
NEXT ADDRESS
TST @l(R2) : YES,
DID
THIS
CONTROLLER
GET
A
:
PARITV
ERROR?
BPL
1$
:NO.
CHECK
NEXT
TST HIWORD
;YES,
WHICH
64K
IS
UNDER
TEST?
BNE
2$
;
BRANCH
I F
UPPER
64K
OOD002
Bi>
BITPT
,2(2)
;SET
BIT
IN
MAP
FOR
THIS
PARITY
REGISTER
BR
3$
000004
2$:
BIS
BITn
,4(2)
; SET
BIT
IN
MAP
FOR
THIS
PARITY
REGISTER
3$:
TSTB
?(2)
:
IS
THIS
THE
FIRST
ADDRESS
FOUND
FOR
;
THIS
PARITY
REGISTER?
BNE
4$
;NO,
BRANCH
000006
MOVS
ADRTYP,6(2)
; YES,
RECORD
LOW
BYTE
OF
ADDRESS
(O,2,4,OR
6)
INCB
7(2)
:
INDICATE
AN
ADDRESS HAS
BEEN
FO"ND
FOR
;
THIS
REGISTER
4$:
BR
1$
MAPRD:
MOV
@R3,!'R3
; CLEAR
BAD
PARITY
166452
ADD
#2,
ADRTYP ;CHECK
FIRST
4 ADDRESSES
IN
EACH
4K
000010
CMP
ADRTYP,Hl0
BEQ
1$
BRANCH
IF
FIRST
4 ADDRESSES TESTED
JMP
MAPRB
IF
NOT,
GO
TEST NEXT
ONE
1$:
TST HIWORD
IS
LOWER
MEMORY
DONE?
BNE
MAPRE
YES,
BRANCH
000100
CMP
BITPT
,Hl00
DONE
WITH 1
ST
2BK?
BHIS
MAPRE
YES,
BRANCH
165726
ADD
020000,
TBANK
NO-
ADD
4K
TO
ADDRESS
ASL
BI
TPT
SHI
FT
BIT
POINTER
CLR ADRTYP START WITH
FIRST
ADDRESS
IN
BANK
165112
BIT
BITPT
,MEMUT
DOES
THIS
4K
BLOCK
EXIST?
BEQ
1$
ND-
BRANCH
JMP
MAPRS
YES,
TEST
IT
MAPRE: TST
NOKT
KTll
PRESENT?
BEQ
.+4
YES,
BRANCH
RTS
%7
NO,
DONE
TST KTSTART
KTl1
ALR
'ADY
ON?
BEQ
1$
YES,
BRANCH
,;.
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(1052)
13-~AN-7B
12:27
PAGE
51
CCMFAF.Pl1
13-JAN-7812:13
2720
2721
2722
2723
2724
2725
2726
2727
272B
2729
2730
2731
2732
2733
2734
2735
2736
2737
273B
2739
2740
2741
2742
2743
2744
2745
2746
2747
274B
2749
2750
2751
2752
2753
2754
2755
2756
2757
275B
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
012660
012666
012674
012700
012704
012710
012716
012722
012724
012732
012740
012746
012754
012162
012764
012770
012772
013000
013002
013010
013014
013020
013024
013026
013030
013034
013040
013044
013046
013052
013056
013062
013070
013076
013104
013110
013112
013116
013122
013124
013126
013130
013132
013134
013136
012767
020000
012767001400
004767 001012
004767 001156
005067
012737
006367
103011
012767
013767
012767
062767
022767
003003
005037
000207
036767
001746
016777
005067
000167
004767
104000
017074
012701
062701
020127
002136
005067
005067
005067
012767
016167
012767
032711
001351
011167
004567
000514
017244
000006
104000
017447
104000
017244
166316
000001
165576
000001
001066
000001
000200
007600
177572
165522
165556
166214
177326
000766
000556
000010
000766
165500
165444
165442
177774
000002
000001
000001
165376
002274
165656
165670
177572
165566
165606
165604
165610
165602
165546
166242
165436
165420
165414
1$:
2$:
3$:
MOV
MOV
JSR
~SR
CLR
Mav
ASL
BCC
Mav
Mav
Mav
ADO
CMP
BGT
CLR
RTS
BIT
BEQ
MOV
CLR
JMP
*20000,
TBANK
',400,
RELac
"7,NRALL
"7,MAPI
KTSTART
",iII,SRO
BIT?T
2$
N1
,BITPT
.'MEMH,
MEMUT
",HIWORO
nOO,RElOe
17600,
RELac
3$
.,SRO
%7
BITPT
,MEMUT
1$
RELOC
,.KPARI
ADRTYP
MAPRB
NO,
INIT
TBANK
TO
SELECT KERNEL
PAGE
SET
UP
FOR
ACCESS
TO
2BK
BANK
INITIALLY
MAP
ALL
PAGES
NR, BANK 0
MAP
KERNEL 0
TO
BANK
0,
RW
MAP
KERNEL 7
TO
THE EXTERNAL BANK,
RW
SET KERNEL 1
RW
AND
TURN
ON
KT11
INDICATE
KTll
NOW
IN
USE
;
TURN
ON
KT11
;SHIFT
BANK
INDICATOR
;
BRANCH
IF
FI
RST
64K
NOT
DONE
;IF
FIRST
64K
DONE, SETUP
FOR
;SECOND 64K
;
INDICATE
NOW
TESTING
HIGH
64K
;UP
TO
EXTERNAL BANK
YU1
; NO, CaNT INUE
;YES,
TURN
OFF
KTl1
AND
EXIT
;IS
THIS
4K PRESENT?
;NO-
BRANCH
;YES,
MAP
PAGE
1
TO
THIS
BANK
;GO TEST
FOR
PARITY
MEMORY
;
'II.
*'"
"'
...
**"'
•• "'***
•••
'II'"
'"
•••••••••••••••
"''II
***
>1/
'"
'"
"'''''''.
**
•••••••••
'II
•••••••••••
;ROUTINE
TO
TYPE
MAP
OF
WHERE
PARITY
MEMORY
IS
PRESENT
;AND WHICH
CONTROL
REGISTERS
~ONTROL
WHICH
MEMORY
;
*.*
***
...
"'
••
*
....
***
.*
...
***** .*.*"' ••••• *
.....
,...
**
...........
"'
•••••••••••••••••
TMAP: JSR
"7,CLRPAR
;CLEAR
ALL
PARITY
REGISTERS PRESENT
TYPE
;TYPE
"THE
PARITY
REGISTERS CONTROL
MTMAP
;AS
FOLLOWS:"
MOV
NMPRO-l0,Rl
;SET
UP
POINTER
TMAPA:
ADO
N10,Rl
CMP
Rl
,#TREG
BGE
TMAPEX'
CLR
HIWORD
CLR
TRFLG
;
DONE
WI
TH
MAP?
i
YES,
BRANCH
INITIALIZE
TRANSITION
FLAG (USED
TO
FIGURE
MEMORY
LIMITS)
MEMORY
CLR
TYFLG
INITIALIZE
TO
INDICATE
NOTHING TYPED
FOR
THIS
REGISTER
YET
MOV
MOV
MOV
BIT
BNE
MOV
JSR
TEMPX
MPRAD
6
TYPE
MXl
TYPE
MPRAD
11-4,
TveDR
2(
1)
,ADRPT
Nl,BITPT
#1,
(1)
TMAPA
(1),
TEMPX
R5,OACNV
GET
LOW
64K
MEMORY
MAP
WORD
INITIALIZE
4K POINTER
DOES
THIS
CONTROL
EXIST?
NO,
GET
ADDRESS
OF
NEXT
ONE
YES, PRINT
ITS
ADDRESS
SEQ
0051
CCMFAFO,
MEMORY
PARITY
TEST MACYl1
30A(1052)
13-~AN-7B
12:27
PAGE
52
CCMFAF.PI1
13-JAN-7B
12:13
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
276B
2789
2790
2791
2792
2793
2794
2795
2796
2797
279B
2799
2BOO
2BOI
2B02
2B03
2804
2805
2806
2B07
2808
2B09
2Bl0
2811
2812
2813
2814
2815
2816
2B17
2B18
2B19
2B20
2821
2822
2823
2824
2825
2826
2827
2828
2B29
2B30
2831
013140
013146
013154
013156
013162
013164
013172
013176
013200
013202
013204
013206
013210
013212
013214
013216
013220
013224
013226
013232
013234
013240
013244
013246
013250
013252
013254
013256
013260
013262
013264
013266
013272
013276
013300
013304
013306
013312
013314
013316
013320
013326
013334
013340
013342
013344
062767
000004
036767
165346
001424
005767
165340
001043
012767
000001
004567 002326
000526
017144
000003
104000
017546
104000
017144
104000
017151
005267
165300
000422
OC5767
165270
001417
005067
165262
004567
002260
000526
017144
000003
104000
017144
104000
017157
1014000
017154
005267
165232
006367
165222
103320
005767
165246
001405
005767
165212
001250
104002
000646
016167
012767
005267
000677
000207
000004
000001
165212
012767
000002
165360
165342
165330
165170
165164
165146
TMAPB:
TMAPC:
TMAPD:
ADD
BIT
BEQ
TST
BNE
MOV
~SR
TYCOR
MTYCOR
3
TYPE
MX2
TYPE
MTYCOR
TYPE
MDASH
INC
BR
TST
BEQ
CLR
JSR
TYCOR
MTYCOR
3
TYPE
MTYCOR
TYPE
MK
TYPE
MCR
INC
ASL
BCC
TST
BEQ
TST
04,
TYCOR
BI
TPT
,ADRPT
TMAPC
TRFLG
TMAPD
",TRFLG
R5,BOCNV
TYFLG
TMAPO
TRFLG
TMAPD
TRFLG
R5,
BOCNV
TYFLG
BITPT
TMAPB
HIWORD
1$
TYFLG
BNE
TMAPA
ERROR
BR
15:
MOV
MOV
INC
BR
TMAPEX:
RTS
TMAPA
4(
1),
ADRPT
",BITPT
HI~ORD
TMAPB
%7
; ROUTINE
TO
HANDLE 8K SYSTEMS
SMLSYS:
MOV
*2,BlTPT
KEEP
TRACK
OF
0
OF
K
OF
CORE
DOES
THIS
PARITy
REGISTER
CONTROL
THIS
4K1
NO-
BRANCH
YES,
OOES
IT
CONTROL PREVIOUS
4K1
YES-
DON'T
TYPE
IT
NO-
SET FLAG
INDICATING
TRANSITION
CONVERT
K
CORE
TO
ASCI
I
; TYPE
"CONTROLS",
AND
ADDRESS
OF
CORE
;INDICATE
TYPED
SEQ
0052
;010
THIS
PARITY
REGISTER
CONTROL
PREVIOUS
4K1
;NO,
SKIP
PRINTING
;YES,
TRANSITION
OCCURRED- CLEAR
flAG
;CONVERT K
CORE
TO
ASCII
; TYPE RIGHT
AND
RETURN
;
INDICATE
TYPED
;UPDATE
BIT
POINTER
TO
NEXT 4K
;TEST
NEXT 4K
IF
NOT
DONE
WITH 1ST
64K
:
64-1
24K
DONE?
;NO,
BRANCH
; YES,
WAS
ANY
PAR
ITY
MEMORY
;
FOUND
FOR
THIS
REGISTER?
;NO
PARITY
MEMORY
WAS
FOUND
FOR
THIS
;REGISTER-
EITHER
WRITE
WRONG
PARITY
;FAILED,
PARITY
ERROR
GENERATE
OR
;DETECT
FAILED,
OR
THE
PARITY
ERROR
;BIT
FAILED
TO
SET
;UPDATE
TO
MAP
WORD
FOR
THE
UPPER
64K
; RESET
8IT
POINTER
;
INDICATE
LOW
64K
DONE
;
LOOP
;
RETURN
WHEN
DONE
; SET
UP
POINTER
FOR
BANK 1
CCMFAFO.
MEMORY
PARITY
TEST
MACY1l
30A
( 1
052)
13-JAN-78
12:
27
PAGE
53
CCMFAF.Pi1
13-<JAN-78
12:13
SEQ
0053
2832
013352
005037 000042
CLR
1'#42
;MAKE
EXI
T
STANDALONE
2833
013356
104000
TYPE
2834
013360
017466
NOMON
2835
013362
000207
RTS
PC
2836
2837
2838
**
..
,.
'"
'"
'II
'"
'"
*
*'"
* ...
"'*
"'.>1<
"'.
'"
"'*
'"
>I<
>It'"
o4o
...
>1<"
'" '"
>1<
..
*
>I<
'" '"
*'
..
*
..
>I<
>1<
..
**
"'
..
* *
>I<
'"
*
>I<
>1<
..
*
....
*.
*'"
*'"
>Ii
2839
ERROR
HANDLER
2840
'II
It""'"
"'
..
'" '" '"
* *
"''''
*,...
** *
'" '"
"'.
'"
"'
..
'"
"'*
'"
"'
..
**
"'
..
*'"
"'
..
*
'"
*>1-
'" '"
*
'"
0+
..
*>t<"
"''''*
*'"
'"
"''''*.'''
'"
*"'*
**.
2841
ERRORS
CALL
ENTERS
HERE
2842
TYPES
PC,
ICNT,
MPR
ADDRESS I AND
MPR
CONTENTS
2843
TREG SHOULD
CONTAIN
ADDRESS OF
PARITY
REGISTER
2844
013364
012767
016517
000266
RRST:
MOV
NMSTR,
ERRB
;SETUP
TO
TYPE
MPR
ADDRESS AND
CONTENTS
2845
013372 012767
177777
000262
MDV
#-1,ERR8X
2846
013400 012767
000240
000256
MOV
#240,
ERRBX+2
;NDP
LOCATION
AFTER
MESSAGE
2847
013406 017767
165354
165124
MOV
@TREG. T ROAT A ;
SETUP
DATA
2848
013414
004567
001776
uSR
R5,OACNV
; CONVERT
TO
ASCII
~849
013420
000766
TREG
2850
013422
016526
MTREG
2851
013424
000006
6
2852
013426
004567
001764
uSR
R5,OACNV
;CONVERT
TO
ASCII
2853
013432 000540
TRDATA
2854
013434 016550
MDATA
2855
013436
000006
6
2856
0'3440
000461
8R ERRA
2857
2858
2859
ERRQRP
CALL
ENTERS
HERE
2860
TYPES
PC,
ICNT,
M~R
ADDRESS,
MPR CONTENTS
2861
TEST
LOCATION
ADDRESS,
VALUE
EXPECTED,
VALUE FOUND
2862
R5
MUS
T
CONTAIN
ADDRESS OF
TEST
LOCATION
2863
SHOBE MUST
CONTAIN
EXPECTED
VALUE
2864
WAS
MuST
CONTAIN
ACTUAL DATA
2865
TREG MUST
CONTAIN
ADDRESS
OF
PARITY
REGISTER
2866
013442 012767 016517
000210
RRP:
MOV
#MSTR,ERRB
;
IN
AODI
TION
TO
8ASIC
PRINTOUT.
TYPE
2857
;MPR ADDRESS AND CONTENTS
2868
013450 012767
016561
000204
MDV
NMSTRX,
ERRBX
;AlSO
OUTPUT
DATA
EXPECTED
AND
ACTUAL
2869
01
3·~56
012767
177777
000200
MOV
#-1,ERRBX+2
;NOP
LOCATION
AFTER
MESSAGE
2870
013·~64
010567
165042
MOV
R5.
TSTLOC
;STORE
ADDRESS
BEING
TESTED
2871
013470 017767
165272
16S042
MOV
"'TREG,
TRDATA
2872
013476
004567
001714
JSR
RS,OACNV
2873
013502
OJ0766
TREG
2874
013504 016526
MTREG
2875
013506
acoa06
6
2876
013510
OC4567
001702
uSR
RS
,OACNV
2877
o 13::i
1.:1
000540
TRDA T A
2878
013516 016550
MOATA
2879
013520
000006
6
2880
013522 004567
001670
uSR
R5,OACNV
2881
013526
Oj0532
TSTLOC
2882
013530
016605
MSTRXI
2883
013532 000006
6
2884
o
13S34
004567
001656
uSR
RS
,OACNV
2885
013540 000534
SHOBE
2886
013542
016621
MSTRX3
2887
013544
000006
6
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A
( 1
052)
13-JAN-78
12:
27
PAGE
54
CCMFAF.P11
13-JAN-7812:13
SEQ
0054
2888
013546 004567
001644
JSR
R5,OACNV
2889
013552
000536
LoJAS
2890
013554
016635
MS
TRX5
2891
013556
000006
6
2892
013560
000411
BR
ERRA
2893
2894
2895
2896
;
ERROR
CALL
ENTERS HERE
2897
;
TY
PE
PC
AND
ICNT
ONLY
2898
013562 012767
177777
000070
ERR:
MOV
11-1 I ERRB ; SET
UP
ONE
MESSAGE
CAll
2899
013570
Oi
2767
000.240
000064
MOV
#240.
ERRBX
2900
013576 012767
000240
000060
MOV
11240.
ERRBX+2
2901
013604 032777
020000
,65266
ERRA:
BI
T
#BIT13.@SWR
;
INHIBIT
ERROR
PRINT?
2902
013612
001025
BNE ERRC
;YES-
BRANCH
2903
013614
01
1667
000070
MDV
(SP),ERRD
;
NO-
DEVELOP
CALLING
ADDRESS
2904
013620
1
·32767
000002
000062
SU8
#2,ERRD
2905
013626 004567
001564
JSR
RS
,OACNV
;GD
TO
OCTAL
TO
ASCII
CONVERT
2906
0131332
013710
ERRA 1 : ERRD ; SOURCE ADDRESS
2907
013634
016472
ERRA2 :
MPC
; OEST
INAT
JON
ADDRESS
2908
013636 000006
6
;#OF
DIGITS
TO CONVERT
2909
013640
004567
001
S52
JSR
R5,OACNV
; CONVERT
ICNT
TO
ASCII
2910
013644 016460
ERRA3 :
ICNT
2911
013546 016510
ERRA4 :
MICNT
2912
013650 000006
6
2913
013652
004567
001506
JSR
RS,
TYPSX
;TYPE
MESSAGE
2914
013656
016464
ERRAS:
MEa
; ERROR HEADER
291
S
013660
000000
ERRS:
OPEN
;ADDIT
IONAl
ERROR MESSAGES
IF
ANY
2916
013662
000000
ERRSX:
OPEN
2917
013664
177777
..
2918
013666
023737
000042
000046
ERRC:
CMP
@N42,@#46
ARE
WE
IN
ACT11
AUTOMATIC
MODE7
2919
o t
3574
001403
8EQ
.
+1
0
YES,
HA
L T
ON
ERROR
2920
013676 005777
165176
TST
@>SWR
HALT
ON
ERROR SET'?
2921
013702
100001
BPL
.+4
NO-
BRANCH
2922
013704
OCOOOO
HALT
YES-
ERRwR OCCURRED
SO
HALT
2923
013706
000002
RTI
2924
013710
000000
ERRD:
OPEN
2925
2926
2927
2928
;MAP
ALL
PAGES
NON-RESIDENT.
BANK 0
2929
013712
013746
000004
NRALL
:
MOV
@#4,-(SP)
2930
013716
013746
000006
MOV
@#6,-(SP)
2931'
013722
012737
000006
000004
MOV
#6,@1I'4
2932
013730
012737
000002
000006
MOV
#RT
I
,t?tlS
2933
013736 010146
MDV
R1
,-(
SP)
2934
013740
010246
MOV
R2,-(SP)
2935
013742
0,0346
MOV
R3,-(SP)
2936
0·13744
012701
001232
MOV
#PDRTAB,
Rl
2937
013750 012703
000040
1$:
MOV
/132
••
R3
2938
013754
(\12102
MOV
(R1
)+,
R2
2939
013756
00S022
2$:
CLR
(
R2)+
29·10
013760
005303
DEC
R3
2941
013762
00137S
BNE
2$
2942
013764
020127
001236
eMP
R1,NPDREND
2943
013770
003767
BLE
,$
CCMFAFO, MfMORY
PARITY
TEST
MACV11
30A(
1052)
13-JAN-78
12:27
PAGE
55
CCMFAF
.Pt,
13-JAN-78
12:
13
seQ
0055
2944
013772 012603
MOV
(SP)+,R3
:2945
013774
012602
MOV
(SP)+,R2
2946
013776
012601
MOV
(SP)+,
Rl
2947
aHDaD
012637
000006
MOV
(SP)+,@#6
29·18
014004
012637
000004
MOV
(SP)+,~#4
2949
01401
a
000207
RTS
%7
2950
2951
29S2
2953
;ROUTINE
TO
CLEAR
ALL
PARITY
REGISTERS
PRESENT
2954
01-1012
010146
CLRPAR:
MOV
Rl
,-(SP)
2955
0140
j 4
010246
MOV
R2,-(SP)
2~)S6
014016
010701
MOV
PC,
Rl
2957
01..'l020
062701
'64546
ADO
#MPRO-.
,R,
2958
a
1..'l024
010702
MOV
PC.
R2
2959
01..J026
062702
164740
ADO
#
TREG-
••
R2
2960
01
il032
032711 000001
1
$:
BIT
#1.@R1
:
IS
THIS
REGISTER
PRESENT?
2961
01.1036
001002
8NE
.+6
2962
014040
005071
000000
CLR
1'(
Rl
) :
CLEAR
ALL
PARITY
REGISTERS
29G3
0140-14
062701
000010
ADD # 1
0,
Rl
2964
014050
020102
CMP
Rl
,R2
2965
014052
103767
SLO
1$
29GB
014054
01
2602
MOV
(SP)+,R2
2967
01'W56
012601
MOV
(SP)+,
Rl
..
2968
014060 000207
RTS %7
29[:l9
2970
2971
2972
;
ROUT
I
NE
TO
MAP KERNE.L 0
TO
BANK 0
READ/WR
I
TE.
~973
;KE.RNEL 1
READ/WRI
TE
BUT BANK MAPPED BY
CALLING
ROUTINE,
2974
;
AND
KERNEL
7
TO
EXTERNAL
BANK,
READ/WRITE
2975
014062
012777 077406
165150
MAP1 :
MOV
#77406,@KPORO
2976
01.q070
012777
077406
165144
MOV
#77406,@KPORI
2977
014076
012777
077406
165142
MOV
#77406.@KPDR7
2978
014104 012777 007600
165144
MOV
H7600,@.KPAR7
::>979
014112
DC
5077
165132
CLR
@KPARO
2980
014116
012737
000001
177572
MOV
IIl,@\I;ISRO
2981
014124 000207
RTS %7
2982
2983
2984
2985
;ROUTINE
TO
LOCA T E
THE
FIRST
PARITY
MEr-WRY ADDRESS ( ABOVE BANK
0)
2986
;CORRES?ONDING
TO A
GIVEN
PARITY
REGI
ST
ER-REOU
I RES THAT
THE
ROUTINES
2987
;MAPr.1EM AND MAPREG HAVE ALREADY BEEN
RUN
2988
:TO
USE,
PUT THE ADDRESS
OF
THE ADDRESS OF THE
REGI
STER
IN
RO
(I.
E.
POINT
TO
2989
;
TO
MAP
TABLE)-THE
DESIRED
ADDRESS
IS
RETURNED
IN
R "
USING
KERNEL
PAGE 1
IF
2990
;
KT
11
IS
Pr(ESENT
2991
014126
01
0246
LOCA
TM:
MOV
R2
,-(
SP)
2992
014130
012702
000200
MOV
1t2C
J,
R2
2993
014134
012701
000002
MOV
#2,
Rl
;
SKI
P USE OF BANK 0
~9~4
014140
005767
164404
1$:
TST
NDKT ;
KT11
PRESENT?
2995
014144
001403
BEQ
3$
;
YES,
BRArJCH
2996
014146
022701
000200
CMP
#200,R1
;t\iO,
CHECK ONLY FOR MEMORY
IN
FI
RST
28K
2997
014152
,01420
BLOS
4$
;Ir
NO
MEMORY
FOUND
IN
1ST
28K,
GIVE
2998
: ERROR
REiURN
2999
014154
030160
000002
3$;
BIT
Rl
,2(
RO)
:DOES
THI5
4K
CORRESPO"D
TO
THIS
REGISTER?
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(
1052)
13-JAN-78
12:
27
PAGE
56
CCMFAF.
Pl1
13-JAN-7812:13
SEQ
0056
3000
014
t
60
001021
BNE LOCAT 1 ;
YES,
BRANCH
3001
014162 052702
000200
AuD
#200,R2
:NO,
CHECK
TO
SEE
I F
NEXT
4K
CORRESPONDS
3002
014166
0;:'6301
ASL
Rl
3003
014170
103363
BCC
1$
3004
014172
012701
000001
MOV
II
1,
Rl
3005
014176
030160
000004
2$:
BIT
Rl
,4(
RO)
:CHECK
HIGH
64K
3006
014202
001010
BNE LOCAT 1
3007
014204 062702
000200
ADD
#200,R2
3008
014210
006301
A5L
Rl
3009
014212
103371
BCC
2$
3010
014214
012701
000001
4$
:
MOV
II 1
R1
;NO
PARITY
MEMORY
CQRRESPDNQS
TO
301
t
014220
0121.302
MOV
(SP)+.R2
;
THIS
REGISTER-
RETURN
WITH
ERRor·
3012
01.:;222
0)0207
RTS %7 ;
INDICATION
3013
014224
005767
164320
LOCAT
1:
TST
NOKT ;
KT
11
PRESENT?
3014
014230
001005
BNE
1$
;
NO-
BRANCH OVER
3015
014232
C'10277
165014
MOV
R2.@KPAR1 ;
YES-
SETuP
Rl
TO
REFERENCE
4K
3016
014236
012701
020000
MOV
#20000,Rl
; BANK
USING
KERNEL
PAGE 1
3017
014242
000407
BR
2$
3018
014244
010201
1$:
MOV
R2,
Rl
;
SETUP
Rl
TO
REFERENCE
4K
BANK
3019
014246
006301
ASL
Rl
; W 1
THOU
T
I<T
11
3020
014250
006301
ASL
Rl
3021
014252
006301
ASL
Rl
3022
014254
OC
630
1
ASL
Rl
3023
014256
006301
ASL
Rl
3024
014260
006301
ASL
Rl
3025
014262
116067
000006
000010
2$:
Move
6(RO),
LSAV
3026
014270
066701
000004
ADU
LSAV,Rl
3027
014274
012602
MOV
(SP)+,R2
:RESTORE
R2
3028
014276
000207
RTS
%7 ; AND RETURN
Ii>
3029
014300
000000
LSAV:
0
3030
3031
3032
3033
: SAVE LOADER
IN
TOP OF
FIRST
4K
3034
014302
013746
000004
SAVLDR:
MOV
@#4,-(SP)
: SAVE CONTENTS OF
TIMEOUT
VECTOR
3035
014306 013746
000006
MOV
@#6,-(SP)
3036
01.:1312
012737
000006
000004
MOV
116,@1t4
3037
014320
012737
000002
000006
MOV
I,IRTI.@116
:SETUP
TO
RTI
ON
TIMEOUT
3038
01·B26
010146
MOV
Rl
,-(
SP)
: SAVE
REGISTERS
3039
014330
010246
MOV
R2,-(SP)
3040
014332
012701
152234
MOV
11152234,R1
3041
014336
000261
1$:
SEC
3042
014340
a05711
TST
@Rl ;
IF
TIMEOUT,
C
BIT
WILL
STILL
BE
SET
3043
014342
103006
BCC
2$
; I F
NO
TIMEOUT.
C
BIT
wILL
BE
CLEAR
3044
01'~344
162701
020000
SUB
#20000,
R1
:
Tl
MEOUT OCCURRED, CHECK
FOR
NEXT
LOWER
BANK
3045
01'1350
020127
020000
CMP
Rl,#20000
3046
014354
101370
8HI
1$
3047
014356
000410
BR
SAVLDX
;ONLY
4K
OF
1 ST
28K
PRE5ENT-
EXIT
3048
014360
012702
032234
2$
:
MOV
#32234,
R2 ;
THIS
8ANK
IS
HIGHEST
OF
1ST
28K-
COpy
3049
014364
012122
3$
;
MOV
(Rl
)+.
(R2)+
: LOADER AREA
TO
BANK
0
3050
014366
020227
040000
CMP
R2,
#40000
3051
014372
103774
BLO
3$
3052
014374
005267
000016
INC
LDRSVD :
INDICATE
LOADER
HAS
BEEN MOVED TO
3053
; THE TOP
OF
THE
FIRST
4K
3054
014400
012602
SAVLDX:
MOV
(SP)+,
R2
3055
014402
012601
MOV
(SP)+,Rl
CCMFAFO.
MEMORY
PA"lTY
TEST
MACY11
30A(
1
052)
13-JAN-78
12:
27
PAGE
57
CCMFAF
P11
13-dAN-78
12:
13
SEQ
0057
3056
014404
012637
000006
MOV
(SP)+,@>N6
3057
014410
012637
000004
MOV
(SP}+,i!>H4
3058
014414
000207
RTS
%7
3059
014416
000000
LDRSVD:
0
3060
3061
3062
3063
;ROUTINE
TO RESTORE THE LOADER
FROM
BANK 0
(,mERE
IT
WAS
SAVED)
TO
THE
3064
;HIGHEST
BANK
IN
THE:
FIRST
28K
OF
MEMORY
3065
014420
005767
177772
RSTLDR:
TST LDRSVD
3066
014424
001431
8EQ RSTLDX
3067
014426
012737 000006
000004
MOV
1/6,@#4
3068
014434
012737
000002
000006
MOV
#RTI
,@1I6
3069
0144"l2
012701
152234
MOV
11152234,Rl
3070
014446
000261
1$:
SEC
3071
014450
005711
TST
@R1
IF
TIMEOUT,
C
81T
WILL
BE SET
3072
014452
103006
BCC
2$
IF
NO
TIMEOUT,
C
BIT
WI
LL
BE
CLEAR
3073
014454
162701
020000
SUB
H20000,R1
TIMEOUT
OCCLIRREO. CHECK
FOR
NEXT
3074
014460
02012'1
020000
CMP
Rl,
#20000
LOwER 8ANI(
3075
014464
101370
BHI
1$
3076
014466
000410
8R RSTLOX
3077
014470
012702
032234
2$:
MOV
#32234.
R2
3078
014474
012221
3$:
MOV
(R2)+.
(R1)+
3079
014476
020227
040000
CMP
R2,
#40000
3080
014502
103774
BLO
3$
3081
014504
104000
TYPE
; TYPE MESSAGE "LOADER
RESTORED"
3082
014506
017560
LDRMSG
3083
014510
000207
RSTLDX:
RTS
PC
; LOADER
HAS
BEEN RESTORED
3084
014512
000776
BR
.-2
;
TO
HIGHEST
BANK
IN
FIRST
28K
3085
3086
3087
3088
iSCAN
ALL
MEMORY
FOR
8AO
PARITY.
TYPE
18
81
T
ADDRESSES
OF
3089
;LOCATIONS
FOUND
TO
8E
BAD,
AND
WRITE
INTO
LOCATIONS
WI7H
GOOD
PARITY
3090
014514
010146
PSCAN:
MOV
Rl
,-(
SP)
; STORE
RE"ISTERS
AND
LOCATIONS
TO
BE
3091
014516
010246
NIOV
R2,-(SP).
; ALTERREO
3092
014520
010346
MOV
R3,-(SP)
3093
c
,·1522
010446
MOV
R4,-(SP)
3094
014524
013746
000004
MOV
@#4,-(SP)
3095
014530
013746
000006
MOV
@#6,-(SP)
3096
014534
013746
000114
MOV
@#114,-(SP)
3097
01<1540
013746
000116
MOV
@H116,-(SP)
3098
014544
012737
000006
000004
MOV
H6,@1/4
;
SETUP
TIMEOUT TRAPCATCHER
3099
014552 005037
000006
CLR @#6
3100
014556
012737
000
116
000114
MOV
It
116,@l1I114
; SETUP
PARITY
TRAP TRAPCATCHER
3101
014564
005037
000116
CLR
@tti16
3102
C14570
005767
163754
TST
NOKT
;
KT11
PRESENT?
3103
014574
001513
BEQ
PSCAN
1 ;
YES,
BRAf~CH
3104
014576
005002
CLR
R2
;R2
CONTAINS
TEST
ADDRESS
3105
014600
012703
000001
MOV
111. R3
;R3
USED
AS
A
BIT
POINTER
3106
01460-1
004767
177202
1$:
JSR
%7,
CLRPAR ; CLEAR
I'LL
PARITY
REGISTERS
3107
01 "lS1 a
005712
TST
@lR2
:
READ
LOCAT
ION
TO
CHECK
FOR
BAD ':-ARITY
3108
014612
000240
NOP
3109
014614
012701
000566
MOV
#MPRO,
Rl
;
SETUP
fa
SCAN
REGISTERS
FOR
PARITY
3110
; ERROR SET
3111
014620
032711
000001
3$
:
BIT
#l.@Rl
CCMFAF
J,
MEMORY
PARITY
TEST
MACY11
30A(
1
052}
13-JAN-78
12:27
PAGE
5B
CCMFAF.
Pl1
13-JAN-78
12:
13
SEQ
0058
31 t 2
014624
001003
BNE
. +1 0
3113
014626
005771
000000
TST
@>(Rl
) ;
PARITY
ERROR
SET?
3114
014632
100424
BMI
6$
;
YES-
BRANCH
3115
014634
062701
000010
ADD
1110.
R 1
;ND-
CHECK
NEXT
REGISTER
3116
014640
020-127
000766
CMP
Rl,
#TREG
3117
014644
103765
BLD
3$
;
LOOP
UNT
IL
ALL
REGISTERS
HAVE BEEN CHECKED
3118
014646 062702
000002
4$:
ADD
#2.
R2 ;MOVE
ADDRESS
POINTER
3119
014652
032702
017777
BIT
#1T177,R2
;om1E
vJI TH
4K?
3120
01·1656
OJ
1352
BNE
1$
; NO, CONT
INUE
3121
014660
006303
5$
:
ASL
R3 ;
YES.
CHECK
FOR
TESTING
NEXT
4K
3122
01
Ll662
020327
000200
CMP
R3.
#200
3123
014666
103035
BHI
S
PSCANX
;
EX
IT
IF
DONE \oJITH
28K
3124
014670
030367
164170
BIT
R3,
MEML ;
IS
THI
S MEMORY
PRESENT?
3125
014674
001343
B1'-JE
1 $
;YES,
GO
TEST
IT
3;
26
014676
062702
020000
ADD
#20000,
R2
;NO,
UPDA
E ADDRESS
3127
014702
000766
BR
5$
;
LOOP
3128
014704
010267
000110
6$:
MDV
R2,
PSADRS
;PARITY
ERROR
OCCURRED
3,29
014710
004567
000502
JSR
R5,OACNV
;GET
ASCI
I OF ADDRESS
CONTAINING
BAD
PARITY
3130
014714
015020
PSAORS
3131
014716 017440
MPSERl
3132
014720
000006
6
3133
014722
104000
TYPE
; TYPE MESSAGE "BAD PAR I
TV
FOUND
IN
LOCATION!!
3134
014724
017410
MPSER ; AND ADDRESS OF
FAILING
LOCATION
3135
014726
032777
002000
164144
BI
T 1/2000,@l5WR ;
SI'JITCH
10
SET?
3136
014734
001401
BEQ
.+4
i
NO-
CONT
INUE
3137
014736
000000
HAL
T
:HALT
ON
BAD
PARITY
SET
3138
014740
011212
MOV
@R2,@R2
;
ItJR
ITE
INTO
LOCAT
ION-
SHOULD
3139
:CLEAR BAD PAR
ITy
3140
01,n42
005071
000000
CLR
@(Rl
) ;
CLEAR
CORRESPONDING
PARITY
REGISTER
3141
014746
005712
TST
@R2
; READ
LOCATION
TO
SEE
IF
BAD
PARITY
WAS
3142
014750
005771
000000
TST
@(Rl
) ; CLEARED
3143
014754
100001
BPL
+4
;OK-
BRANCH
3144
0'4756
104002
ERROR ;
BAD
Pl\RI
TV
DIDN I T CLEAR
WHEN
LOCATION
3145
;WAS
REI'iRITTEN
3146
014760
000732
8R
4$
;GO
CHECK
NEXT
LOCATION
3147
014762
004767
17702~
PSCANX:
JSR
PC.
CLRPAR ;
DONE-
CLEAR
ALL
PARITY
REGISTERS
3148
014766
012637
000116
MOV
(SP)+,@#116
; RESTORE LOCA
TlONS
ALTERRED
3149
014772
012637
000114
MOV
(SP)+,@#114
3150
01,'<776
012637
000006
MOV
(SP)+.@N6
3151
015002
012637
000004
MOV
(SP}+,@#4
3152
015006
012604
MOV
(SP)+,R4
3153
015010 012603
MOV
(SP)+,R3
3154
015012
012b02
MOV
(SP)+,RJ
3155
o i
5014
012601
MOV
(SP)+,
Rl
3155
015016 000207
RTS
%7
;
RETURN
3157
015020
000000
PSAORS: 0
3158
015022
000000
PSCANH: 0
3159
3160
3161
3162
;SCAN
ALL
MEMORY
FOR
6/\0
PARITY
USING
101-1
3163
;TYPE
,B
BI
T ADDRESSES
OF
LOCATIONS
FOUND
BAD.
AND
WRITE
GOOD
PARITY
8ACK
IN
3164
015024
017746
164222
PSCANl
:
MOV
@KPAR1,-(SP)
; SAVE CONTENT5
OF
KERNEL
PAR1
3165
015030
032737
000001
177572
BIT
Ii 1 .@#SRO ;
SKI
P
IF
KTll
IS ALREADY
ON
3166
015036
001004
BNE
1$
3167
015040
004767
176646
JSR
PC,NRALL
;MAP
KERNEL 0
TO
BANK O.RW
..
..
CCMFAFO,
MEMORY
PARITY
TEST MACYI1
30A(
1052)
13-JAN-78
12:27
PAGE
S9
CCMFAF.
Pll
'3-JAN-78
12:
13
SEQ
0059
3168
015044
004767
177012
JSR
PC,MAPl
MAP
KERNEL 7
TO
THE EXTERNAL BANK,
RW
3169
MAP
KERNEL 1
RW,
AND
TURN
ON
KTll
3170
015050
005067
177746
1$:
CLR
PSCANH
CLEAR FLAG
TO
INDICATE
CHECKING
FIRST
64K
3171
015054 005077
164172
CLR
.KPARl
INITIALIZE
TO
BANK 0
3172
015060
012703
000001
PSLOOP:
MOV
1',R3
R3
IS
USED
AS
A
BIT
POINTER
3173
015064
005767
177732
PSLUP: TST
PSCANH
TESTING
TOP
64K7
3174
015070
001004
BNE
2$
YES,
BRANCH
3175
015072
030367
163766
BIT
R3,MEML NO,
IS
PARITY
MEMORY
PRESENT
IN
THIS
4K?
3176
015076
001022
BNE
PSXTST
YES-
GO
TEST
IT
3177
015100
000403
BR
PSNXT
NO-
CHECK
FOR
NEXT 4K
317B
015102
030367
163760
2$:
BIT
R3,MEMH
IS
PARITY
MEMORY
PRESENT
IN
THIS
4K?
3179
015106
001016
BNE
PSXTST
YES-
GO
TEST
IT
3180
015110
062777
000200
164134
PSNXT:
ADO
1200,iI>KPARl
NO-
MAP
TO
NEXT 4K
31B,
015116
006303
ASL
R3
3182
015120
103361
Bce
PSLUP ;
BRANCH
I F
NOT
END
OF
64K
3183
015122
005767
177674
TST
PSCANH
;
END
OF
TOP
64K7
3184
015126
001003
SNE
PSCXl
;YES,
GET
READY
TO
EXIT
31B5
015130
005267
177666
INC
PSCANH
;NO,
SET FLAG
INDICATING
DONE
WITH
31B6
;
LOWER
64K
3,87
0'5134
000751
BR
PSLOOP
3188
015136 012677
164110
PSCXl :
MOV
(SP)+,iI>KPJlR'
3189
015142
000707
BR
PSCANX
3190
015144
012702
020000
PSXTST:
MOV
#20000,
R2
;
R2
USED
AS
ADDRESS POINTER
3191
015150
004767
176636
1$:
JSR %7,CLRPAR ;CLEAR
ALL
PARITY
REGISTERS
3192
015154
005712
TST
.R2
;
READ
LOCATION
3193
015156
012701
000566
MOV
NMPRO
,Rl
; SETUP
TO
SCAN
REGISTERS
FOR
PARITY
ERROR
SET
3194
015162
032711 000001
2$:
BII
#1,@lR1
3195
015166
001003
PNE
.+10
3196
015170
005771
000000
TST
"(")
;
PARITY
ERROR
SET?
3197
015174
100413
BMI
4$
; YES,
BRANCH
3198
015176
062701
000010
ADD
"0,R'
; NO.
CHECK
NEXT
3199
015202
020127
000766
CMP
R1
,MTREG
3200
015206
103765
BLO
2$
;
LOOP
UNT
I L
ALL
REGISTERS HAVE BEEN CHECKED
3201
015210
062702
000002
3$:
AOD
'2,R2
;UPDATE TEST ADDRESS POINTER
3202
015214 020227 040000
CMP
R2,
#40000
;
DONE
WITH BANK?
3203
015220
103753
BLO
1$
;NO-
LOOP
3204
015222 000732
BR
PSNXT
;
YES-
GO
CHECK
FOR
ANOTHER
BANK
320S
015224
010267
177570
4$:
MOV
R2,
PSADRS
;
PARITY
ERROR
OCCURREO-
GET
18
BIT
3206
015230 042767
160000
'77562
BIC
6160000,
PSADRS
;OCTAL
ADDRESS
OF
BAD
LOCATION
3207
015236 005046
CLR
-(SP)
320B
015240 017746
164006
MOV
PKPAR1,-(SP)
3209
015244
006316
ASL PSP
3210
015246
006316
ASL
IISP
3211
015250
006316
ASL
IISP
~212
015252
006316
ASL PSP
3213
015254
006316
ASL PSP
3214
015256 006166 000002
ROL
2(SP)
3215
015262
006316
ASL
I'SP
3216
015264
006166
000002
ROL
2(SP)
3217
015270
006366
000002
ASL
2(SP)
321B
015274
062667
177520
ADD
(SP)+,
PSADRS
3219
015300
004567
000112
J5R
RS,OACNV ;CONVERT
LOW
16
OCTAL
BITS
TO
ASCII
3220
015304
015020
PSAORS
3221
015306 017440
MPSERl
3222
015310
000006
6
3223
015312
116704
002122
MOVB
MPSER1,R4
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-7B
,2:27
PAGE
60
CCMFAF.P11
13-JAN-7812:13
3224
3225
3226
3227
322B
3229
3230
3231
3232
3233
3234
3235
3236
3237
323B
3239
3240
3241
3242
3243
3244
3245
3246
3247
324B
3249
3250
3251
3252
3253
3254
3255
3256
3257
325B
3259
3260
3,61
3262
3263
3264
3265
'266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
327B
3279
015316
015320
015324
015326
015330
015336
015340
015342
015344
015350
015352
015356
015360
015362
015364
015370
015376
015400
015402
015406
015412
015414
015416
015422
015426
015432
015440
015444
015450
015454
015460
015464
015472
015416
015502
015506
015512
015514
015516
015520
015522
015524
015526
062604
110467
104000
017410
032777
001401
000000
011212
005071
005712
005771
100001
104002
000712
012567
022767
001001
000205
013746
004767
000000
000763
013567
012567
012567
066767
016746
Oti2716
062716
005367
112677
042767
006067
006067
006067
005367
001352
000205
000000
000000
000000
104005
002114
002000
000000
000000
000022
177777
177776
163502
000074
000072
000070
000064
000052
177770
000060
000040
000034
000007
000020
000014
000010
000010
012700
015702
,63542
000014
000060
000024
(SP)+,R4
R4,MPSER'
62000,iI>SWR
.+4
flR2."R2
1'(
R1)
I'R2
.(Rl
)
.+4
;CHANGE
TO
ASCII
FOR
lB
BITS
; TYPE
AODRESS
OF
LOCATION WITH
BAD
PARITY
; SWI
TCH
10 SET?
;NO-
BRANCH
; HALT
ON
BAD
PARITY
SET
; REWRITE LOCATION CONTAINING
BAD
PARITY
; CLEAR
PARITY
ERROR
BIT
;
READ
LOCATION
TO
SEE
IF
PARITY
IS
NOW
GOOD
;CHECK
PARITY
ERROR
BIT
SEQ
0060
ADD
MOVB
TYPE
MPSER
BIT
BEC
HALT
MOV
CLR
TST
TST
BPL
ERROR
BR
3$
;REWRITING
LOCATION
DID
NOT
CLEAP
BAD
PARITY
;GO TEST NEXT LOCATION
;PIC
ROUTINE
TYPSX:
MOV
CMP
BNE
RTS
TYPSAX:
MOV
J5R
TYPS'X:
OPEN
BR
TO
OUTPLT A
SERIES
OF
(R5)+,
TYPSBX
#-1,
TYPSBX
TYPSAX
%5
"'PS,-(SP)
PC,STYPE
TYPSX
ASCII
MESSAGES
(CALLED
VIA
JSR
R5)
;GET
ADDRESS
OF
MESSAGE
i TERMINATOR?
;NO.
BRANCH
;YES,
RETURN
; SETUP
TO
CALL
TYPE ROUTINE
VIA
JSR
;TYPE
ASCII
MESSAGE
;SUBROUTINE
FOR
OCTAL
TO
ASCII
"(5)+,OACNVX
(5)+,OACDST
(5)+,OACNT
OACNT
,OACOST
OACNV
X,
-.(
SP)
N177770,OSP
#60,@SP
CONVERSION
OACNV:
MOV
MOV
MOV
ADD
OACNVA:
MOV
BIC
ADD
DEC
MOVB
BIC
ROR
ROR
ROR
DEC
BNE
RTS
OACNVX:
OPEN
OACDST: 0
OACNT: 0
OACDST
(SP)+,I'OACOST
N7
,OACNVX
OACNVX
OACNVX
OACNVX
OACNT
OACNVA
R5
;GET
OCTAL
VALUE
;GET
OESTINATION
AODRESS
;GET
CONVFRT
COUNT
;DEVELOP
ADORESS
TO STORE 1ST CHAR.
;
ISOLATE
LEAST
SIGNIFICANT
DIGIT
;
CONVERT
OIGIT
TO
ASCII
;
STORE
ASCI I CHARACTER
;OONE
ALL
OIGITS?
;
BRANCH
I F
NOT
DONE
;OONE,
EXIT
;SUBROUTINE
FOR
BINARY
TO
DECIMAL
ASCII
CONVERSION
BDCNV: SAV04
;SAVE
REGS
MOV
NOECVAL,%Co
;SET
UP
ADDR
TO
STORE DECIMAL
ASCII
CCMFAFO,
MEMORY
PARITY
TEST
ceMFAF.pll
13-JAN-7812:13
3280
3281
3282
3283
3284
3285
3286
3287
328B
32B9
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
CCMFAFO.
015532
015534
015540
o i
5544
015550
015556
015562
;)15566
015572
015574
o t
5600
015604
0156
I 0
015612
015614
015616
015620
015622
015626
01
!J632
at
5634
015640
015G·~2
015646
015654
015660
015662
015664
015666
o 1
~;t)70
015672
015674
015676
015700
015702
015705
015710
015712
015714
015716
015720
015722
0'5724
0,5726
015730
MEMORY
013501
012567
012567
012702
012767
012267
004767
005367
001371
166700
010067
004567
000000
000000
oeoooo
104006
000205
005067
166701
103403
005267
000772
056701
OE2767
116720
000207
DC
0000
000000
000000
023420
001750
000144
000012
00000
1
040
040
104005
012501
012502
012503
112122
005303
001375
104006
000205
000052
000050
015670
000005
000104
000034
000070
000014
000004
000100
000036
000034
000024
000020
000060
000004
040
040
PARITY
TEST
CCMFAF.
Pl1
13-JAN-78
12:
13
3336
015732
012737
015776
3337
015740
012701
000566
3338
015744
032711
000001
3339
015750
001002
3340
015752
005071
000000
3341
015756
062701
000010
3342
015762
020127
000766
MACV11
30A
( 1
052)
13-JAN-78
12:
27
PAGE 61
000104
000010
040
040
MACY11
000024
MoV
MQV
MOV
MOV
MOV
BDeN",~:
MOV
JSR
DEC
BNE
SU8
MoV
JSR
BDCNV8:
OPEN
BDCNVC:
OPEN
8oCNVo:
OPEN
RST04
RTS
SUBTEN:
CLR
SUBTNA:
SU8
BCS
INC
BR
SUBTNB:
ADD
CNVCTR:
DIGIT:
TENPwR:
ADTENP:
ADD
Move
RTS
OPEN
OPEN
OPEN
10000.
1000.
100.
10.
€'(
5)
+,
Rl
(5)+,8DCNVC
(5)+,BDCNVD
flADTENP,R2
115,CNVCTR
(2)+,
TENPwR
PC,
scBTEN
CNVCTR
BDCNVA
BDCNVD,
%0
%O,8DCNV8
R5,
BMOVE
R5
DIG
I T
TENPWR,
Rl
SUBTNB
DIGIT
SU9TNA
TENPWR,
Rl
'60,DIGIT
DIGIT,(O)+
PC
BINARY
VALUE
TO
Rl
DE5TINATION
ADDR
TO
BDCNVC
CHARACTER COUNT
TO
BDCNVD
ADDR OF TEN POWER
STRING
SET
UP
FOR
5
POWER
CONVERSIONS
MOVE
POWER
OF
TEN
VALUE
PERFORM CONVERSION
DONE
5
CONVERSIONS?
BRANCH I F NOT YET
5.
; RE5TDRE
REGS
AND
EXIT
;
SUBTRACT
TEN
POWER FROM
BINARY
VALUE
;BRANCH
IF
UNSUCE5SFUL
SUBTRACTION
; RESTORE SUBTRACTED
VALUE.
;CoNVERT
IDIGIT)
TO
A5CII
;MDVE
ASCII
CHAR
TO
DECVAL
FIELD
;
EXIT
DECVAL:
1.
.BYTE
040,040,040,040,04(·,040
i
SUBf;OUT
I NE
TO
BMOVE:
5AV04
MOV
MOV
MOV
BMOVA:
MOVS
DEC";
BNe
RST04
RTS
MOVE A
VARIABLE
NUMBER
(5)+,
Rl
(5)+,
R2
(5)+,
R3
(1
)+,
(2)+
R3
BMOVA
R5
;UNEXPECTED
POWER
FAIL
SERVICE
OF
BYTES
;
SAVE
REGS
;GET
FROM
ADDRESS
; GET
TO
ADDRESS
;GET
CaUNT
;MOVE
BYTE
;
DECREMENT
COUNT
;
BRANCH
1 F NOT DONE
; RESTORE
REGS
AND
EXI
T
;
BECAUSE
WWP
MAY BE
SET
IN
MPR j S AND
ALL
PROCESSOR
REGISTERS
;MAY
BE
IN
USE,
CONTINUATION
AFTER
POWER
FAIL
IS
NOT
ATTEMPTED.
;
INSTEAD,
THE PROGRAM
RESTARTS
AFTER
A POWER
FAILURE
30A(
1052)
13-JAN-78
12:
27
PWRDN:
MOV
flPWRUP,@#24
MOV
HMPRO,
Rl
1$:
BIT
Hl,@Rt
BNE
.+6
CLR
€'(
Rl
)
ADD
#10,
Rl
CMP
Rl,#TREG
PAGE
62
;
SET
UP
FOR
POWER
UP
;CLEAR
PARITV
REGISTERS
IN
CASE
;WWP
IS
SET
SEQ
0061
SEQ
0062
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(
1
052)
13-JAN,78
12:27
PAGE
63
CCMFAF.p11
13-JAN-78
12:
13
SEQ
0063
3343
015766
103766
BLO
1$
3344
015770
010667
163264
MDV
SP,
SPSAV
3345
015774
000000
HALT
;
POWER
OOWN
HALT
3346
015776
012737
015732
000024
PWRUP:
MOV
#PWRDN
,1>#24
: SET
UP
FOR
POWER
DOWN
3347
016004
016706
163250
MOV
SPSAV,SP
334B
015010
005027
000000
CL~
#0
:STALL
50
OUTPUT
WON
I T BE GARBLED
3349
016014
005367
177772
DEC
.-2
3350
016020
001375
BNE
.-4
3351
015022
104000
TYPE
:TYPE
RECOVERY MESSAGE
3352
016024
01
7344
MPWRF
3353
016026
000167
163244
JMP
RSTART
;RESTART
3354
3355
3356
3357
;
EMT
HANDLER
3358
01603:2
01
1646
EMT!NT:
MOV
(SP)
,-(SP)
;GET
SAVEO
PC
3359
016034
162716
000002
SUB
'2,
(SP)
; DECREMENT
PC
BY
2
3360
016040
0,
7616
000000
MOV
@(SP),(5P)
;GET
CALL
3361
016044
121667
000050
CMPB
(SP),EMTLlM
: CHECK
IF
CALL
WITHIN
LIMITS
3362
016050
101402
BLOS
EMT
A
3363
0'
6052
000000
HAL
T ;
CALL
IS
NDT
WITHIN
LIMITS
3354
016054
000776
BR
.-2
2365
01 G05G
oe6116
EMTA:
ROL (
SP)
;
EMT
ARG
X 2
3366
016060
042716
177001
BIC
#177001,(SP)
;REMOVE 7 MSB
3367
01606-4
062716
016076
ADD
#EMTTAS,
(5P)
; FORM
EMT
RTN ADDRESS
3368
016070
017616
000000
MOV
@(SP),(SP)
3369
016074
000
136
JMP
@(SP)+
;GO
TO
EMT
RETURN
3370
3371
3372
:
EMT
DEFINITIONS
AND
ASSIGNMENTS
"
3373
016076
EMTT
AS:
3374
104COO TYPE:-EMT+EMTX
3375
016076
001114
$TYPE
3376
104001
SCOPE=EMT+EMTX
3377
016100
016356
5COPEC
3378
10':;002
ERROR=EMT+EMTX
3379
016102
013562
ERR
3:380
104003
ERRORP=EMT+EMTX
3381
016104
013442
ERRP
3382
104004
ERRORS::
EMT
+EMT X
3383
016106
013364
ERR5T
3384
104005
SAIJ04=EMT+EMTX
3385
016110
016122
51J04
3386
lC~OO6
RST04=E.MT+EMTX
33B7
016112
o t
62
~
0
R504
3388
104007
RS
T05S=EMT+EMT
X
3389
016114
016236
RS05S
3390
104010
SAV05S=
EMT +EMT X
3391
016116 016142
SV05S
3392
016120 000010
EMTLlM:
EMTX-t
3393
3394
3395
;SUBROUTINE
TO
SAVE REGS
0-4
3396
016122
012666
177764
SV04
:
MOV
(SP)+,-12.
(SP)
;MOVE PC+PS
uP
STACK
3397
016126
012666
177764
MOV
(SP)+,-12.
(SP)
3398
016132
012767
000002
000040
MOV
#RT!
,SV05l
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(1052)
13-JAN-78
12:27
PAGE
64
CCMFAF.
P11
13-JAN-781.2:13
SEQ
0064
3399
016140
000411
BR
SVOSB
3400
3401
3402
3403
;
SUBROUTl
NE
TO
SAVE
REGS
0-5
+
PLACE
EMT
PC
IN
RS
3404
016142
012767 000240
000030
SVOS', .
MOV
#NOP,5V05C
3405
016150 000400
BR
SV05A
3406
3407
;
suBROUT
I NE
TO
SAVE REG5
0-5
3408
016152
012666
177762
SV05A:
MOV
(SP)+,-14.(SP)
3409
016156 012666
177762
MOV
(SP)+,-14.(SP)
3410
016162 010546
MOV
RS,-(SP)
3411
01 G 1
64
010446
SV058
:
MOV
R4,-(SP)
3412
0161E6
010346
MOV
R3,-(SP)
3413
016170
010246
MOV
R2,-(SP)
3414
016172
010146
MOV
R1
,-(
SP)
3415
016174
010046
MOV
%O,-(SP)
3416
016176
0:24646
CMP
-(5P)
,-(5P)
3417
016200 000002
5V05C:
RTl
;
RTI
OR
NOP
3418
016202
016605
000020
MOV
16.
(SP)
,RS
;
EMT
PC
TO
RS
3419
016206
000002
RTl
3420
3421
3'122
3423
i SUBROUT I
NE
TO
RESTORE REGS
0-4
3424
016210
022626
RS04
:
CMP
(SP)+,
(SP)+
3425
016212
012600
MDV
(SP)+,%O
3426
016214
012601
MOV
(SP)+,
R1
3427
016216
012602
MOV
(SP)+,R2
3Ll28
016220
012603
MOV
(SPj+,R3
3429
016222 012604
MOV
(SP)+,R4
3430
016224
016646
177764
MOV
-12.
(5P)
,-(SP)
;MOVE PC+PS
DOWN
STACK
3431
016230
0,
6646
177764
MOV
-12.(SP),-(SP)
3432
016234
OCOO02
RTl
3433
3434
3435
3436
;SUBROUTINE
TO
RESTORE REGS
0-5
3437
016236
010566
000020
RS05S:
MOV
RS,16.(5P)
; SET EMT
PC
TO
RS
3438
016242
022626
CMP
(SP)+,
(SP)+
3439
016244
012600
MOV
(5P)+,%0
3440
016246
012601
MOV
(SP)+,
R 1
3441
016250
012fi02
MOV
(SP)+,R2
3442
016252
012603
MOV
(SP)+,R3
3443
D162!14
012604
MOV
(SP)+,R4
3444
016256
012605
MOIl
(SP)+,RS
3445
016260
016646
177762
MOV
-14.(SP),-(SP)
3446
016264
016646
177762
MOV
-14.
(SP)
,-(5P)
3447
016270
000002
RTI
3448
3449
3450
3451
ROUTINE
TO
LOOP THR'J A
SINGLE
I NSTRUCT I
ON
TEST
3452
LOAD THE
STARTING
,~DORESS
OF
THE
TEST
3453
YOU
wI
SH
TO
RUN
(THE
ADDRESS
OF
THE
TEST
XX
3454
TAG)
AT
THE
1ST
HALT.
SET
SWITCH
REGISTER
CCMFAFO, MEMORY
PARITY
TEST
MACV11
30A(
10S2)
18-JAN-78
12:27
PAGE
65
CCMFAF.
P1
1
13-JAN-78
12:
13
SEQ
0065
3455
;OPTIONS
AT THE
lNDHALT.
3456
; NOTE THAT
5Wl1
MUST
BE
DOWN
AFTER
THE 2ND
HALT
3457
016272
005037
177776
TESTX:
CLR
~NPS
3458
016276
000000
HALT
WAlT
FOR
STARTING
ADDRESS
3459
016300
017767
162574
000154
MOV
<l'SWR,
RETURN LOAD
START!
NG
ADDRESS
IN
RETURN
3460
016306
062767
000002
000146
ADD
#2,
RETURN
ADD
2
TO
POINT
TO
INSTRUCTION
AFTER
3461
a!
6314
000000
HAL
T SET
SR
OPT
IONS
3462
016316
012767
177777
16::!164
MOV
H-l,
TSTX
SET FLAG
3463
016324
032777
01
Dono
162546
81
T # 1
0000
,I'SWR CHECK SW12
3464
016332
001404
SEQ
.+12
BRANCH
IF
NOT SET
3465
016334
042737
000020
177776
BIC
H20,"#PS
CLEAR TRACE
81
T
3466
016342
000403
BR
.+10
SKIP
NEXT
INSTRUCTION
3467
016344
052737
000020
177776
SIS
#20,"#PS
SET TRACE
8IT
3468
016352
000177
000104
JMP @RETwRN JUMP
TO
TEST
3469
3470
3471
3472
;SCOPE
AND/OR
ITERATION
LOOP
FOR
EACH TE T
64
TIMES
3473
;A
snup
ROUTINE
SHOULD
INITIALIZE
RETUR
AND
IMAX
3474
016356
032777
040000
162514
SCOPEC:
BIT
#40000,I!>SWR
TEST
SR
mR
SCOPE
3475
016364
001020
8NE SCOPE8
YES.
SCOPE
3476
016366
032777
004000
162504
8IT
#4000,@lSW'R
NO-TEST
FOR
ITERATION
3477
016374
001021
BNE SCOPEG
INHIBIT
ITERAT
ION
3478
016376
005767
173350
TST
PASCNT
FIRST
PASS?
3479
016402
001416
BEQ SCOPEG
YES.
INHI8IT
ITERATIONS
3480
016404
005767
162100
TST
TSTX
USING
SINGLE
SUBTEST
STARTUP?
3481
0'
G~11
a
001006
BN"
SCOPEB YES, LOOP
3482
016412
0.26767
000042
000036
CMP
ICNT,IMAX
COMPARE CURRENT COUNT
TO
MAX NUMBER
34B3
016
L
120
100007
BPL
scoeEG
EXIT-DONE
3484
016422
005267
000032
INC
ICNT
INCREMENT
COUNT
3485
016426
022606
SCOPEB:
CMP
(6)+,%6
REPOSITION
STACK
3486
016430
012677
161342
MOV
(6)+,@PS
RESTORE
PREVIOUS
PROCESSOR
STATUS
3487
016434
000177
000022
JMP @RETURN REPEAT
HST
3488
0,6440
005067
162044
SCOPEG: CLR
TSTX
IF
USING
TESTX
STARTUP,
RETURN
;a
NORMAL FLOW
3489
016444
005067
000010
CLR
ICNT
C LEAR COUNT
3490
0161150
011667
000006
MOV
@%6,RETURN SAVE SCOPE RETURN
POlilTER
3491
016454
000002
RTI
RETURN
lt~L!NE-NEXT
TEST
3492
o
16~56
000100
IMAX:
100
ITERATION
COUNT
3493
016460
000000
ICNT:
0 COUNT LOCAT
ION
FOR
ITERATION
LOOP
3494
016462
000000
RETURN: 0 ADDRESS
OF
LAST
TEST
3495
3496
3497
3498
3499
;
ASCII
MESSAGES
3500
016464
MEO:
3501
015464
005015
041520
020075
MTNUM:
ASCI!
<15><12>
I
pc=
3502
016472
020040
020040
020040
MPC:
.ASCII
ICNT=
3503
015500
020040
041511
052116
3504
016505
020075
3505
016510
020040
020040
020040
MICNT:
.ASCIZ
3506
016515
000
3507
016517
040
046440
051120
MSTR:
.ASCII
MPR=
3508
016524
020075
3509
016526
020040
020040
020040
MTREG:
.ASCII
MPR
DATA=
,
3510
016534
020040
050115
020122
CCMFAFa.
MEMORY
PARITY
TEST
MACV11
30A
I
1052)
13-JAN
....
78
12:27
PAGE
66
CCMFAF.Pll
13-JAN-78
12:
13
SEO
0066
3511
0'
6542
0·10504
040524
020075
3512
016550
020040
020040
020040
MDAT
A:
A5CIZ
3513
016556
020040
000
3514
016561
015
020012
020040
MSTRX:
ASCII
<15><12>1
TEST
LOC=
3515
016566
020040
020040
052040
3516
015574
051505
020124
047514
3517
016602
036503
040
3518
016605
040
020040
020040
MSTRX1:
ASCII
35'
9
016612
040
3520
016613
040
027523
035102
ASCII
5/B:
3521
016020
040
3522
016621
040
020040
0:20040
MSTRX3:
ASCII
3523
01
G626
040
3524
01
G627
040
040527
035123
.ASCII
WAS:
3525
0;6634
040
3526
016635
040
020040
020040
MSTRX5 :
.ASCIZ
3527
0'6642
020040
000
3529
0'
6645
015
051412
052105
MSETSR:
ASCIZ
<1S><12>rSET
5R
OPTIONS
r
3529
016652
051440
020122
050117
3530
01
G660
044524
047117
000123
3531
016665
020054
051120
051505
MCON:
.ASCIZ
PRESS CONTNUE I
3532
016674
020123
047503
052116
3533
016702
052516
000105
3534
016706
005015
042523
020124
MMDE, :
.ASCIZ
<15><12>tSET
DEVICE
ADDRESS
IN
SR'
3535
016714
042504
044526
042503
3536
016722
040440
042104
042522
3537
016730
051523
044440
020116
3538
016736
051123
000
3539
015'141
015
051412
052105
MMADR:
.ASCll
<15><12>!
SET
l'l1EMORY
TEST
LOC
IN
SR'
3540
0.6746
046440
046505
051117
3541
01675~1
020131
042524
052123
3542
0'16762
046040
041517
044440
3543
016770
020116
051123
000
3544
016775
015
051412
052105
MMPAT:
.ASCIZ
<15><12>ISET
TEST
PATTERN
IN
5R'
3545
017002
052C40
051505
020124
3546
017010
040520
052124
051105
3547
017016
020116
047"
1
051440
3548
017:"24
000122
3549
017026
005015
046412
046505
MMPRS:
ASCIZ
<15><
12><12>
1 MEMORY
PARITY
REGI
STERS
PRESENT:
1<15><12>
3550
017034
05'[
117
020131
040520
3551
017042
044522
OS~1524
051040
3552
017050
0·D505
051511
042524
3553
017056
051522
()SOO40
042522
355
4
017064
042523
052116
006472
3555
017072
000012
3556
017074
005015
040520
044522
MTMAP:
.ASCll
<15><12>'PARITY
REGISTERS
CONTROL
MEMORY
AS:
1<15><12>
3557
017102
054S24
051040
043505
3558
017110
051511
042524
051522
3559
017116
041440
047117
051124
3560
017124
O·~61
i"
046440
046505
3561
017132
051117
0.20131
051501
3562
017140
006472
000012
3563
0'
71.l4
020040
020040
000
MTYCOR:
ASCI
Z
3564
017151
055
000040
MDASH:
.ASCIZ
3565
017'54
005015
000
MeR:
.AseIZ
<15><12>
3566
017157
113
000
MK:
.ASCIZ
'K'
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(
1052)
13-uAN-78
12:
27
PAGE
67
CCMFAF.
P11 ,
3-JAN-78
12:
13
SEQ
0067
3567
0'7,61
116
020117
040520
MT:
.ASCIZ
'NO
PARITY
MEMORY
FOUND I
<15><12>
3568
017166
044522
054524
046440
3569
017174
046505
051117 020131
3570
017202
047506
047125
006504
3571
017210
000012
3572
017212 047516
050040
051101
MTR:
.ASCIZ
'NO
PARITY
REGSTER
FOUND'<1S><12>
3573
017220
052111
020131
042522
3574
017226
051507
042524
020122
3575
017234
047506
047125
006504
3576
017242
000012
3577
017244
020040
020040
020040
MPRAD:
ASCIZ
1<15><12>
3578
017252
020040 005015
000
3579
017257
177
005015
005015
MTIT'
.ASCIZ
<177><15><12><15><12>'
CCMFAFO
MS1'.MA"-P,MF"-LP
PARITY
MEMORY
TESTS'
3580
017264
041503
04311
5
043101
3581
017272
020060 051515
030461
3582
017300 046454
030501
026461
3583
017306 026120
043115
030461
3584
017314 046055
020120
040520
3585
017322 044522
054524
046440
3586
017330
046505
051117
020131
3587
017336
042524
052123
000123
3588
017344
005015
047520
042527
MPWRF:
.A~~IZ
<15><12>
I
POWER
FAILED'
3589
017352
020122 040506
046111
3590
017360
042105
000
3591
017363
007
MPGEND: BYTE
007
3592
017364
005015 047105
020104
.ASCI
I
<15><12>
I
END
PASS·
,
3593
017372 040520 051523
036440
3594
017400
040
3595
017401
040
020040
020040
MPCNT:
.ASCIZ
3596
017406
OC0040
3597
017410
006415
041012
042101
MPSER:
.ASCI
I
<15><15><1.2>
I BAD
PAR
FOUND
IN
LOC
,
3598
017416
050040
051101
043040
3599
017424
052517
042116
044440
3600
017432
020116
047514
020103
3601
017440
020040
020040
020040
MPSERI :
.ASCIZ
3602
017446
000
3603
017447
015
051012
043505
MXl
:
.ASCIZ
<15><12>'REGISTER
AT
,
3604
017454
051511
042524
020122
3605
017462
052101
000040
3606
017~66
DO
50
i 5
047515
044516
NOMON:
.ASCIZ
<1S><1.2>'MONITOR
WILL
NOT
BE
RESTuRED
FOR
AN
8K
SYSTEM'
3607
017474
047524
020122
0445:27
3608
017502
046114
047040
052117
3609
017510
041040
020105
0425.22
3610
017516
052
t
23
051117
042105
3611
017524
043040
051117
040440
3612
017532
020116
045470
051440
3613
017540
051531
042524
000115
3614
017546
0·17503
052116
047522
MX2
: ASCJ.Z I CONTROLS
3615
017554
C51514
000040
3616
017560
005015
047514 042101
LDRMSG:
.ASCIZ
<15><
1.2> I LOADERS RESTORED'
3617
017566
051105
020123
042522
3618
017574
052123
051117
042105
3619
017602
000
3620
017603
015
041012
042101
PSMSG:
.ASCIZ
<15><12>IBAD
PARITY
SCAN COMPLETE '
3621
017610
050040
051101
052111
3622
017616
020131
041523
047101
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A(
1 05-2)
13-vAN-7S
12:27
PAGE
68
CCMFAF.
Pl1
1
3-J
AN-78
12:
13
SEQ
0068
3623
017624
041440
04G517
046120
3624
017632
052105
000105
3625
017636 005015
047514
042101
MLDRSV:
.ASCIZ
<15><12>
I LOADERS SAVED
IN
BANK
l'
3626
017644
051105
020123
040523
3627
017652
042526
020104
047111
3628
017660
041040
04710'
020113
3629
017666
000061
3530
017670
020040
020040
020040
MPRCOR:
.ASCIZ
-CORE
PARITY
REGISTER
'
<15><12>
3631
017676
020040
020055
047503
3632
017704
042522
050040
051101
3633
017712
052111
020131
042522
3634
017720
044507
052123
051105
3635
01,'726
005015
000
3636
017731
040
020040
020040
MPRMOS:
.ASCIZ
-
MOS
PARITY
REGISTER
'
<1S><12>
3637
017736 020040
026440
046440
3638
017744 051517
000040
0511
01
3639
017752
052111
020131
042522
3640
017760
044507
052123
051105
3641
017766
005015
000
3642
017772
EVEN
3643
000001
.END
CCMFAFO,
MEMORY
PARITY
TEST MACY11
30A
( 1
052)
13-JAN~78
12:27
PAGE
70
CCMFAF.
Pl1
13-JAN-78
12:
13
CROSS REFERENCE
TABLE
USER SYMBOLS
SEQ
0069
ADRPT
000516
425.
1611
II<
1673*
168O.
1687
16B9
1712
1802*
1902_
1904*
1911·
1916
1919
1932
2763'
2777
2822-
ADRS
077400
364#
ADRTYP
001230
660N
2655~
2668
2696
2701·
2702
:2711*
2741
'"
ADT
ENP
015670
3283
3309_
AE
000001
362#
1040
12B3
1'?35
1498
1599
1698 1812
1939
1988 1986
2128
2145
2163
2315
BDCNV
015524
2782 2797
3278.
BDCNVA
015556
3285#
3288
BDCNVB
015610
3290*
3292#
BDCNVC
015612
3281
..
3293#
8DCNVD
015614
3282*
3289
3294.
BEGIN
002106
692
806
815#
2575
8ITPT
000520
426#
822·
1668
1670'"
1674
1676
1681*
1682
1789*
1790
1793*
1799>1<
1899
,
901
*'
1905
1907
1912*
1913
2002
2089*
2098
2101
..
2107*
2179
2262*
2597"
2606",
2608*
2615
2626*
2633*
2634
2638
2649*
2690
2692
2707
2710*
2712
2728*
2730*
2738
2764*
2777
2808*
28:23'"
2831
>I<
BITO
000001
34611
BITl
OGDO
02
347#
81
T 1 0
002000
356#
BIT
11
004000
35711
BIT
12
010000
358#
6l
T
13
020000
359#
2901
81
T
14
040000
360#
402
BIT
15
100000
36111
BIT2
000004
348#
81T3
000010
349#
BIT4
DCOO2D 35011
8115
000040
351/1
1356
1371
BITS
000100
35211
1441
B I
T7
000200
353#
BI
T8
OOO~O0
354#
2567
81
T9
001000
355#
983
B\-1QVA
015720
332411
3326
Br-1OVE
015710
3291
3320#
CACHE
001224
658#
8'
8*
910*
CACHF
l
001222
657"
737*
81S
908
C!\6f\O
010600
2320
233111
CLRPAR
014012
966
999
1
090
,,44
1273
1308
1402 1468
1571
1663 1705
1781
1821
191
B
1925
2087
2275
2304
2324 2416 2519
2549
2750
2954#
3106
3147
3191
OH16
007314
205211
0.117
010206
2157
2239#
[N"v'eTR
015662
3284",
3287*
3306#
eN16
00"i334
1980
2063#
CONT
011712
2561
2567#
cmiTIO
OO~~274
1344
1350
1381
Ii
CON
T 1 2
005024
'510
1552#
cmn13
005304
1609
1644#
CONT3
002616
971#
987
(ONT
4
003:)74
1052#
1062
1071
1078
COUNT
004336
1337*
1351*
1391#
DDlSP
177570
367#
616
DECVAL
015702
3279
331411
DIGIT
015664
3297*
3300*
3303*
3304
330711
DISPLA
001102
616#
732*
832* 884*
963*
397*
1089*
1143*
1272*
1307*
1401
*
1467*
1570*
CCMFAFO.
MEMORY
PARITY
TEST MAC V
11
30A(
1052)
13-JAN-78
12:27
PAGE 71
CCMFAF.
Pl1
13-JAN-78
12:
13
CROSS REFERENCE T
A8LE
--
USER
SYM80LS
SEQ
0070
1661
..
,777*
1897*
:208:2*
2083* 2303*
2415*
orSPRE
000174
406#
732
DONE
011624
2266
2270
2273 2540
2547#
Dor~E
1 0
004322
1323
1387#
DONE
11
004542
1419
145511
DClNE12
005040
1485
155711
DONE
13
005320
1584
164911
DONE
14
005616
1685
1707#
DONE
15
006262
1796
1823#
DO~E
16
OCG650
191
S
1925#
DO"JE
17
007576
2104
2116#
DOI'JE20
010564
2324#
2362
DONE4
003140
'013
1079#
DCI>.lE5
003322
1103
1131
#
DONE6
003662
1156
1262#
DO"1E7
003774
1282
128811
OS'NR
177570
366#
615
EfliT A
016056
3362
3365#
E~,~TINT
016032
397
3358#
E!'r1T
LIM
016120
3361
3392#
EMT
T AS
016076
3367
3373#
EMTX
000011
3373#
3374
3376.
3378#
3380#
3382#
3384# 3386# 3388# 3390# 3392#
ERR
013562
2336
2357
2375
2389
2396
2461
2468
2482
2499
2509
2898#
3379
ERRA
013t::04
2856
2892
2901#
ERRA 1
013632
2284*
2531
'"
2906#
ERr~A2
013634
2285*
2532*
290711
ERRA3
013644
2286*
2533*
291011
ERRA4
0'
3646
2287*
2534*
291111
ERRA5
o t
3656
2289
..
2535*
2914#
ERRS
013560
2844*
2866*
2896*
291511
E.RRBX
013662
2845*
2846*
2868*
2869*
2899*
2900*
2916#
ERRC
013666
2902
291811
ERRD
013710
2903*
2904*
2906
2924.
ERROR
104002
850
864
922
932
1027
1046
1056 1063
1074
111
1
1125
1165
1181
1195
1213
1230
1240
1258
1290
1
~·27
1341
1347
1359 1375
1424
1438
1445
1491
1503
1514
1522
11:)37
1545
1591
1603
1613
1622
1638
1718
1755
1836
1871
1972 1999
2005
2029 2057 2149 2176
2183
2199
2108
2244
2816
3144
3236
3378#
[RRORP"
104003
2020
2046
3380#
ERRORS =
104004
1736
1759
1855
1875
2232
3382#
ERRP
013442
286611
3381
ERRST
013364
2844#
3383
EX
005460
1677
1679#
F
Tl
T LE
000512
423#
700
743
745*
Grl'1PRA
001564
766#
798
Gr\~PRB
002D12
764
793.
GMPRC
002020
792
795#
Gr'/lPRQ
002054
802
80511
HI
ADR
000530
430ft
1687*
1688*
1691
1 i
22
1916* 1917*
1921
2066
HlltJORD
0005S2
440'//
2653'"
2688
2705
2732*
2757*
2810
2824*
leNT
o 161160
2910
3482
3484* 3489*
3493#
IMAX
016456
820*
885*
998*
1662'"
3482
3492#
I
NDCO
000770
556#
763
834 887
907
1007 1316 1409
1475
1991
2168
2445
INDC1
000772
557.
INDC10
001014
566#
INOC11
001016
567#
CCMFAFO,
MEMORY
PARITY
TEST
MACY11
30A(1052)
13-JAN-78
12:27
PAGE
72
CCMFAF.
Pl1
1
3-J
AN-78
12:
13
CROSS REFERENCE TABLE
--
USER SYMBOLS SEQ
0071
I
NOCl
2
001020
568#
1
NOC
13
001022
56911
1 NOC14
001024
57011
INDC15
001026
57111
11'JDC2
000774
558#
1 NOC3
000776
559#
INOC4
001000
560#
I rJDC5
001002
561
H
1
Noe6
001004
562ft
INDC7
001006
563#
I
NDes
001010
564#
INllC9
001012
56511
11~OX17~_
010060
2097*
2109*
218111
1
NS
T 1
004164
1339#
1364
INST2
004172
1345.11
1367
KI>ARQ
001250
668#
2979*
KPAR1
001252
669#
1785*
1792*
2094*
2100*
2229
2600*
.2740*
3015>10
3164
3171
* 31 eo.
3188-
3208
KPAR2
001254
670#
KPAR7
001256
671,/1
2978*
!';PDRO
001240
66411
2975'"
KPDRl
001242
665#
2976*
KPDR2 00124>-l
666#
KPDR?
001246
66711
2977*
K T 5 T
AR
001226
659#
2650*
2718
2726*
LDRMSG
017560
3082
3616#
LDiiSVD
014416
3052*
3059#
3065
LOCA
TM
014126
1014
1104
1158
1324
1420
1487
1586
2991
#
LOCA T 1
014224
3000
3006
3013#
LOGICA
011672
81 I
2560'
LOOP10
004066
1319#
1331
1386
LOOP11
004416
1411
1415#
1427
1454
LOOP
12
004632
1477
148111
1494
1555
LOOP
13
005124
1581#
1595
1647
LDDP14
005436
1672
1674#
1683
LOOP
15
006106
179011
1794
180Q
LOOP21
011250
2454#
2477
LOOP4
002762
1008#
1012
LOOPS
003216
1098#
1102
LOOPS
003372
1151
#
1155
LOOP7
003734
1279#
1287
1297
lOP15
006116
179211
1822
LO?4
002770
1010#
1031
,
055
LOPS
003224
1100#
1115
1130
LOP6
003400
1153#
1169
1261
LOWF
LG
000554
441
II
1786*
179~
1797*
2095*
2103
2105*
LSAV
014300
3025*
3026
302~#
LUP10
004060
1317#
1322
LUP11
004402
141011
1418
LUP12
004616
1476#
1484
lUP13
005116
,578#
1583
LUP14
005446
1676#
1706
LUP16
006526
1900
190411
LGP7
003726
127711
1281
MAPMA
01'
770
2589#
MAPMB
012162
2585
2621
#
CCMFAFO,
MEMORY
PARITY
TEST
MAC'{11
30A(1052)
13-JAN-78
12:27
PAGE
73
CCMFAF.
Pl1
13-JAN-7812:13
CROSS
REFERENCE
TABLE
--
USER SYMBOLS
SEQ
0072
MAPMEM
011756
707
967
2585#
r.~APRB
012346
2660#
2704
2714
2742
r,1APRC
012446
2679#
;t\,l\.PRD
012546
2682
2700#
Ml\.PRE
012642
2706
2708
271511
M:'.PREG
012304
968
2648#
MAPl
014062
1003
1094
1148 1312 1406
1472
1575 1783
2091 2591
2723
2975.
3168
MeON
016666
353111
;"CR
017154
2806
3565.
MDASH
017151
2791
3564#
MDAT A
016550
2854
2878
3512#
fll!::.f',iH
001065
597#
2596,.:
2609
2625*
2731
3178
f,1EML
001064
596.
2271
2595*
259B
2624*
2638*
2648
3124 3175
r/1EMUT
000546
438#
2598*
2609*
2615* 2648*
2712
2731
'"
2738
MED
016464
2914
3500#
MICNT
01651
{J
2911
3505#
MK
017157
2804
356611
MLDRSV
017636
751
3625#
MiMDR
D
16741
3539#
M.',lOEV
016706
3534#
Mr.1PAT
016775
354411
MI'IIPRS
017026
760
3549#
MONCNT
011754
257711
MPC
016472
2907
3502#
MPCNT
017401
2553
3595'
MPGEND
017363
2556
3591
H
MPRAD
017244
2770
2775
357711
MPRCOR
017670
777
780
3630#
MPRMOS
017731
786
789
3636#
MPROK
000542
4361/
761
'"
791
,.,
805
MPRO
000566
47811
762
833
886
906
973
1006
1097
1150
1276
1315
1408
1474
1577
1693
1726
1747
1808
1845
1863
1936
1948
1964
1983
1990
2125
2142
2160
2167
2311
2347
2366 2429
2444 2452 2660
2671
26:'9
2753
2957
3109
3193
3337
MPRl
000576
492#
MPR10
000706
518#
MPR11
000716
522#
MPR12
000726
526#
MPR13
000736
530#
MPR14
000746
53411
MPR
15
000756
53811
MPR2
000606
486.
MPR3
000616
49011
MPR4
000626
494#
MPR5
000636
498#
MPR6
000646
502.
MPR7
000656
506#
MPR8
000666
51011
MPR9
000676
514#
MPSER
017410
3134
3227
3597.
MPSER 1
017440
3131
3221
3223
3225*
36010
MPloJRF
017344
3352
3588'
MSETSR
016645
3528#
MSTR
0165
t 7
2844
2866
3507.
MSTRX
016561
2868
3514#
MSTRX1
016605
2882
3518#
CCMFAFO.
MEMORY
PARITY
TEST
MACYll
30A(
1052)
13-JAN-78
12:27
PAGE
74
CCMFAF.
Pl1
13-JAN-78
12:,3
CROSS
REFERENce TABLE
--
USER SYMBOLS
seQ
0073
MSTRX3
016621
2886
3522#
MSTRX5
016635
2890
3526#
MT
017161
3567#
MTIT
017257
749
3579'
MTMAP
017074
2752
355SN
MTNUM
016464
3501#
MTR
0'7212
80B
3572_
MTREG
016526
2850
2874
3509.
MTYCOR
017144
2784
2789
2799
2802
3563.
MTYFG
000562
445_
684*
722*
964
982*
MXl
017447
2173
3603'
MX2
017546
2787
3614'
NOKT
000550
439N
711
1000
lOBO
1091
1131
1145
1262 1309
1387 1403
1455
1469
1558
1572
165C
1778
2084
2589_
2621'
2715 2994
3013
3102
NOMON
017466
2834
3606N
NOP
000240
371#
3404
NOREG
002062
807#
NRALL
013712
1002
1093
1147
1311
1405
1471
1574 1782
2090
2590
2722
2929N
3167
OACOST
015520
3256*
3258*
3262*
3263*
3272#
OACNT
015522
3257.
3258
3268.
3273N
OACNV
015416
775
784
2551
2768 2848
2852 2872
2876
2880
2884
2888
2905
2909
3129
3219
3255N
OACNVA
015440
3259N
3269
OACNVX
015516
3255-
3259
3264.
3265-
3266-
3267+
3271#
OODFLG
000556
442#
1933-
1945 1955
2063'
2122*
2133
2250-
2426.
2437
2514'
OPEN
000000
372N
2915
2916
2924
3249
3271
3292
3293 3294
3306
3307
3308
OUT
010330
1910
2274N
PARPAT
001036
582N
1686
1801
2305
PARVEC=
000114
381#
1039-
1042*
1079*
1274*
1275'
1288'
1336-
1366_
138,.
1495-
1531' 1557'
1596*
1632-
1649*
1664_
1707-
1788_
1824'
1898-
1926-
208S-
2117-
2310- 2325-
2547.
PASCNT
01
I
752
685-
723-
2550-
2552
2576.
3478
POREND
001236
663'
2942
PORTAS
001232
66,.
2936
PERR
=
100000
365N
1284
PMEMH
001072
602.
972·
977.
1798
2106
PMEMl
001070
600N
971·
976*
1665
1674
1787
1905
2096
2268
PMEMX
001074
604N
1787-
1790
1798'
2096-
2098
2106_
PS
177776
368'
689'
2274.
2301
2335
2356 2374
2388 2395
2413
2460
2467
2481
2498
2508
2520
3247
3457-
3465'
3467_
3486-
PSAORS
015020
3128*
3130
3157#
3205·
3206-
3218.
3220
PSCAN
014514
708
1740
1764
1879
3090N
PSCANH
015022
3158N
3170'"
3173
3183
31e5'
PSCANX
014762
3123
3147#
3189
PSCANI
015024
3103
3164'
PSCXl
015136
3184
31e8'
PSLOOP
015060
3172.
3187
PSLUP
015064
3173.
3182
PSMSG
017603
710
3620N
PSNXT
015110
3177
3180N
3204
PSXTST
015144
3176
3179
3190.
PWRDN
015732
686
724
3336#
3346
PWRUP
015776
3336
3346N
RELOC
000564
447#
2651'
2721.
2733-
2734 2740
RESRVO
001030
572N
841*
843.
848
854
860
RESVC
001032
575'
841
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(
1052)
13-uAN-78
12:27
PAGE
75
CCMFAF. P11
13-JAN-78
12:
I 3
CROSS
REFERENCE TABLE USER SYMBOLS
SEQ
0074
RESVM
001034
576N
843
929
RETURN
016462
815*
2283-
3459-
3460-
3468
3487
3490. 3494.
RST
ART
001276
414
683N
3353
RS
T
LOR
014420
410
20el
3065'
RSTLOX
014510
3066
3076
308'3N
RST04 =
104006
3295
3327
3386N
~ST05S=
104007
3388'
RS04
016210
3387
3424'
RS05S
016236
3389
3437#
ROSAV
001262
673N
R I SAV
001264
674.
R2SAV
001266
675'
R3SAV
00
I
270
676.
R4SAV
001272
677.
R5SAV
001274
678.
SAVLOR
014302
819
3034N
SA
V
LOX
014400
3047
3054.
SAV04
=
104005
3278
3320
3384.
SAV05S=
104010
3390N
SCAN
001356
412
699'
715
SCANA
001400
70611
803
SCAN8
001404
703
707#
SCNFLG
00
1220
655,
704*
706*
800
SCOPE
=
104001
831
883
962
996
1088
1142
1271
1306
1400
1466
1569
1660 1776
1896
2080
2258
3376N
SCOPE8
016426
3475
3481
3485.
SCOPEC
016356
2302
2414
2521
3377
3474.
SCOPEG
016440
3477
3479
3483
3488N
SH08E
000534
433N
1934*
2123*
2427·
2685
SMLSYS
013344
1667
2831'
SPSAV
001260
672.
3344_
3347
SRO
177572
382.
713*
1082.
1133*
1264-
13890
1457*
1560'
1652*
1823_
2116-
2586
2612_
2727.
2736·
2980*
3165
START
001436
408
721#
813
START 1
001632
70S
744
747
759_
STKPT =
0005
I 0
373N
683 699
721
2548
SUBTEN
015622
3286
3297#
SUBTNA
015626
3298_
330
I
SUBTN8
015642
3299
3302N
sv04
016122
3385
3396'
SV05A
016152
3405
3408N
SV058
016164
3399
341
In
SV05C
016200
3398*
3404*
3417#
SV05~
016142
3391
3404_
SWR
0011
00
615'
729
731
*-
983
2289
2291
*
2536
2538'
2567
2901
2920
3135
3228
3459
3463
347
;
3476
SWREG
000176
407.
731
TBANK
000544
437#
2594-
2600
2605.
2610
2652_
2667
2709-
2720'
TEMP
000560
444.
TEMPX
000514
424.
774*
776
783.
7G5
2767_
2769
TENPWR
015666
3285.
3298
3302
3308.
TESTX
016272
3457#
TESTI
002154
815
831#
TEST10
004016
1289
130S#
TESTll
004340
1390
1400#
TEST12
004554
1466.
CCMFAFO,
r-t1EMORY
PARITY
TE.ST MACY11
30A{
1052)
13-JAN-78
12
:27
PAGE
76
CCMFAF,P11
13-LlAN-78
12:
13
CROSS
REFERENCE
TABLE
--
USER SYM80LS
SEQ
0075
HST13
005060
1569#
TE5T14
005340
1660,Jf
2263
TEST
15
006014
1708
177611
TE5T16
006462
1679
1780
1825
1896#
TE,ST17
007360
1927
208011
T
ES
T2
002326
883.
TE5T20
010452
2283
2293
2301H
TE5T21
0'1054
2326
2413N
T
E5T3
002564
96211
T[5T4
002712
965
99611
T[ST5
003160
10B8#
TES T6
003334
1142#
HST7
003674
1271
#
TMAP
013020
981
2750N
TMAPA
013034
2754.
2766
2815
2821
TMAPB
013140
2776.
2809
2825
TMAPC
013226
2778
2794.
TMAPD
013272
2780
2793
2795
280B.
TMAPEX
013342
2756
2826H
TNUM
000022
824.
832
833'
884
885H
963
964.
997
998.
1089
1090#
1143
1144#
1272
1273'
1307
1308N
1401
1402#
1467
1468#
1570
157,.
1661
1662#
1777
177811
1897
1898.
2083
2084'
2303
2304'
2415
2416'
TPB
001106
618#
647·
2514*
T PCQRE
005626
1700
171211
t T PCORX
006276
1811
1829'
T P5
001104
617#
645
90
.
2572
I T RDATA
000540
435.
2847·
2853
2871.
2877
TREG
000766
543.
797
847*
848*
874
876*
898
941
979
1101
1154
1280
1321
1417
1483
1582
1698
1724*
173~
1735.
1746*
1753
1758*
1815
1843.
1851
1854*
1862*
1869
1874*
1943
1953
1970
1988
1992*
1997
2011
'"
2014
2027
2037
2053·
2055
2131
2147 2165
2169*
2174
2189*
2193
2206
2222
2240-
'1'
2242
2317
2346*
2353
2365-
2372
2435
2450
2453*
2458
2473-
2476
2479
2489
2504*
2506
2665 2677
2681
2755
2847
2849
2871
2873
.29~9
3116
3199
3342
TRFLG
000522
427#
2758*
2779
2781
'"
2794
2796*
TRP10
004202
1336
1351
II
1 R P
lOA
004252
1366
1369N
1RP12
004724
1495
1511#
TRP13
005214
1596
1610#
TRP14
005734
1664
1746#
TRP15
006402
1788
1862#
TRP16
007076
1898
1983'
1RP16A
007102
1984.
1989
TRP17
007762
2088
2160#
TRP17A
007766
21611'1'
2166
TRP20
010720
2310
2365N
TRP4A
003110
1032
1056'
1 RP48
003116
1039
1063#
TRP4C
003124
1042
1072'
TRP7
004004
1274
1290"
T5HOC
000532
431#
2870*
2881
TSTX
000510
373
422'
688* 742*
3462-
3480
3488<
T5110
004104
1318
1324#
IST11
004434
1413
1420'
IST12
004650
1479
1487'
T5T13
005140
1579
1586#
CCMFAFQ,
MEMORY
PARITY
TEST MACV11
30A{
1052)
13-JAN-78
12:
27
PAGE
77
CCMFAF.
Pl1
13-JAN-7812:13
CROSS
REFERENCE
TABLE
--
USER SYMBOLS
SEQ
0078
TS114
005510
1675
1686#
T5T15
006162
1791
1801#
TST4
003002
1009
1014#
TST5
003240
1099
1104#
TST6
003414
1152
1158#
TST7
003750
1278
1283#
TYCOR
000526
429#
2762*
2776*
2783
2798
TYFLG
000524
428'
2760*
2792*
2807*
2812
TYPE
104000
709
748
750
759
779
7S(:
807
2555
2751
2772
2774
2786
2788
2790
2801
2803
2805
2833
3081
3133 3226
3351
3374'
TYPSAX
015402
3245
3247#
TYPSBX
015412
3243*
3244
3249#
TYPSX
015364
2913
3243N
3250
\'JAS
000536
43411
1715*
1716
1833*
1834
2017*
2196
...
2889
~'JWP
000004
36311
1033
1116
1120
1206
1233 1332
1430
:
496
1527
1597
1629
1939
1951
1968
1986
2128
2145
2163 2433
2448 2663
2674
IojliiP16
006666
1923
193211
\I!l'iP16A
006704
1935#
2069
li)WP17
007614
2114
2121#
\-,,'\";P17A
007632
212411
2257
\>H~P21
011110
L425#
1>J',\lP21
A
011124
2428#
2518
XF
R1
010252
2086
2118
2258.
XFR2
011520
2524'
$ENDAD
011702
400
2563#
$
FILLS
001111
620'
$NULL
001110
619#
639
$T PFLG
001112
621#
624
901
2570
$TYPE
001114
624.
3248
3375
017772
394.
396#
399'
4011/
405#
40911
411.
413# 416#
614#
712
810 817
842
849
863 893
904
921 931
984
1026
1073
1081
1110
1124
1132
1164
1194 1212
1221
1229 1239 1249
1257
1263
1326
135B
1373
1388
1423
1437
1444 1456 1490 1513
1521
1536
1544
1559
1590
1612
1621
1637
1651
1666
1678 1695
1717 1728
1749
1779
1811
1835
1847
1865
1903
1908
1909
1938
1950
1
~a1
1985
1998
2004
2019
2045 2056
2064
2085
2127
2144
2162 2175
2181
2182 2198
2231
2243
2251
2265
2269
2272
2314
2334
2341
2349 2368
2432 2447
2459
2466
2507 2515
2568
2573
2662
2673 2716
2919
2921
2957 2959
2961
3084
3112 3136
3143
3195
3229
3235
3339
3349-
3350
3364 3464
3466
3642#
CCMFAFO.
MEMORY
PARITY
TEST MACY11
30A(lC52}
13-JAN-78
12:27
PAGE
79
CCMFAF. P11
13-JAN-7B
12:
13
CROSS
REFERENCE
TABLE
MACRO
NAMES
EMTDEF
TESTX
3S8'
39011
2083
3373
832
2303
A8S.
017772
000
ERRORS
DETECTED:
3~76
BB4
2415
3378
963
CCMF
AF
CCMF
AF
LST
fCR
F
fSOL=CCMFAF.
P 11
RUN-TIME:
4 9 1 SECONDS
RUN-TIME'
RATIO:
247/15=16.3
CORE
USED:
9K
(17
PAGES)
3380
997
3382
1089
3384
1143
3386
1272
3388
1307
3390
1401
1467
1570
1661
SEQ
0077
1777
1897
i
t

Navigation menu