MAINDEC 11 DZRKL D D_RK11_RK05_Dynamic__Dec76 RK11 RK05 Dynamic Dec76

MAINDEC-11-DZRKL-D-D_RK11_RK05_Dynamic__Dec76 MAINDEC-11-DZRKL-D-D_RK11_RK05_Dynamic__Dec76

User Manual: MAINDEC-11-DZRKL-D-D_RK11_RK05_Dynamic__Dec76

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

DownloadMAINDEC-11-DZRKL-D-D_RK11_RK05_Dynamic__Dec76 MAINDEC-11-DZRKL-D-D RK11 RK05 Dynamic  Dec76
Open PDF In BrowserView PDF
IDENTIfICATION
................

SEQ 00"1

PRODUCT CODEI

MAINDEC·l1·DZRK~·D-D

PRODUCT

RK11/~1<05

NAMEI

DYNAMIC TEST

DATE CREATEDI

DECEMBER, 1916

MA!NTAINERI

DIAGNOSTIC, GROUP

AUTHOR.

JIM KAPADIA

REVISED BY'

PERVEZ ZAKI
TOM SAWYER
CHUCl< HESS

THE INFORMATION _ IN THIS DOCUMENT IS SUBJECT TO
CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS
A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL
EQUIPMENT
CORPORATION
ASSUMES
NO
RESPONSIBILITY fOR ANY ERRORS THAT MAY APPEAR IN
THIS MANUAL.
THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED
TO THE PURCHASER UNDER A LICENSE FOR USE ON A SINGLE
COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION OF
DIGITAL·S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN
WRITING BY DIGITAL.
DIGITAL
EQUIPMENT
CORPORATION
ASSUMES
NO
RESPONSIBILITY FOR THE USE OR RELIABILITY or ITS
SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
DIGITAL.
COPYRIGHT (C) 1975,1976 BY DIGITAL EQUIPMENT CORPORATION

SEQ 088Z

TABLE or CONTENTS
t.0

ABSTRACT

2,0
2.1
2.2
2.3

REQUIREMENTS
EQUIPMENT
PRELIMINARY PROGRAMS
EXECUTION TIM!

3,0

STARTING ADDRESSES

4,0

4.4

PROGRAM CONTROL MODES AND OPERATOR ACTION
PAPER TAPE
RKDP DUMP MODE
RKDP CHAIN MODE
ACTt1

5.0

DRIVE SELECTION

6.0

SWITCH OPTIONS

7.0
7.1

PROGRAM DESCRIPTION
PERMISSIBLE USER PROGRAM MODlrICATIONS

8.0

SEEK TIMER AND GRAPHS

9.e

rUNCTION SELECTION PROGRAM

10.0

ERROR INFORMATION

11.0

UNEXPECTED TIMEOUTS

12.0

~OMMONLY

13.0

SAMPLE GRAPH AND TIMER OUTPUTS

4.1
4.2
4.3

USED SUBROUTINES

SEQ 0003

1.0

ABSTRACT
THE RKI1/RK05 DYNAMIC TEST AIMS AT
I. DEMONSTRATING THE ELECTROMECHANICAL INTREGRITY
OF THE DRIVE.
2. CHECKING THE LINEAR POSITIONER CONTROL AND SPEED
CONTROL
3. VERIFYING THE INTREGITY OF THE READ/WRITE LOGIC
4. PROVIDING A TIMER tOR THE SEEK FUNCTION.
THIS IS A TEST ONE LEVEL HIGHER THAN THE BASIC
LOGIC TESTS.

2.0

REQUIREMENTS

2.1

EQUIPMENT
A.
B.
C.
D.

2.2

RK11

PDP11 WITH CONSOLE TELETYPE.
8K OF MEMORY ,
RKll OR RKV11 CONTROLLER
1-8 RK05 OR RK05F DRIVES (DRIVE TYPES MAY BE MIXED)

PRELIMINARY PROGRAMS
RK11 LOGIC TEST I (MAINDEC-I1-DZRKJ)
RK11 LbGIC TEST II CMAINDEC-I1-DZRKK)

2.3

EXECUTION TIME
ERROR FREE FIRST PASS ON PDP11/20 WITH CORE MEMORY
TAKES APPROXIMATELY 5 MINUTES (WITHOUT THE SEEK
TIMER AND GRAPH, ADDITIONAL 3.5 MINUTES FOR THESE).
LESS FOR FASTER MACHINES OR MEMORIES.

1.0

STARTING ADDRESS
200 rOR ANY NORMAL MODE OF OPERATION.
DOWN
210 rOR FUNCTION SELECTING
MODE).

4.0

PROGRAM

ALL SWITCHESS
(CONVEROATIONAL

PROGRAM CONTROL MODES' OPERATOR ACTION
PAPER TAPE LOADING
RKDP DUMP MODE
RKDP CHAIN MODE
ACTtl

4.1

PAPER TAPE LOADING
LOAD PROGRAM INTO MEMORY
FOR ABSOLUTE TAPES.

SEQ 000A
USING

STANDARD

PROCEDURE

MAKE SURE THAT THE DRIVES TO 8E CHECKED ARE LOADED
WITH DISKS ANO ARE IN 'RUN'. 'WRT ENABLE' THEM.
CHECK THAT 'WRT PROT; LIGHT ON THESE DRIVES IS orF.
PUT DRIVES THAT ARE NOT TO BE TESTED ON 'LOAD'.
LOAD ADDRESS 200
SET SWITCHES IF DESIRED (SEE SEC' 6.0)
PRESS START.
THE PROGRAM IDENTIFIES ITSELF
RK11 DYNAMIC TEST
MAINDEC-11-0ZRKL-O
THEN IT PROCEEDS TO rIND WHICH DRIVES ARE PRESENT
AND PRINTS OUT THE DRIVES rOUND. IF AN RK-05r
IS DETECTED, AN , IS APPENDED TO THE DRIVE NUMBER.
DRIVES PRESENT

o
1

AFTER TYPING OUT THE DRIVE NUMBER THAT IS
BE TESTED, EXECUTION or THE TESTS START.

GOING

TO

ArTER ALL THE TESTS HAVE BEEN EXECUTED ON ONE DRIVE
THEY ARE EXECUTED bN THE NEXT DRIVE, IF PRESENT.
THIS IS REPEATED TILL ALL DRIVES ARE TESTED.
AT THE END OF A PASS THE FOLLOWING IS TYPED OUT.
END PASS X

X.0,1,2 ••••••

CONTROL IS TRANSFERRED BACK TO THE BEGINNING or
PROGRAM iND RE-EXECUTION BEGINS.

THE

RKDP DUMP MODE
THE PROGRAM IS LOADED BY THE RKDP MONITOR.
SET SA.200.
START.

SELECT ANY SWITCHES YOU WANT AND

THE PROGRAM IDENTIFIES ITSELF AND PRINTS OUTa

PRESS

'TO TEST DRIVE 'N' HALT PROGRAM, REMOVE RKDP PACK AND REPLACE IT
WITH A WORK PACK, CLEAR LoeATION 40, AND RESTART PROGRAM'

4,3

RKDP CHAIN MODE
THE PROGRAM IS CHAIN LOADED FROM RKDP PACK ON DRIVE
'N',
AFTER IDENTIFYING ITSELF, THE FOLLOWING MESSAGE
APPEARS.
'DRIVE 'N' NOT TESTED'
DRIVE 'N' WILL NOT BE TESTED SINCE THE RKDP PACK IS
THAT DRIVE,

4,4

ON

ACTt1 MODE
THE PROGRAM IS LOADED BY THE ACT11 MONITOR,
AFTER
IDENTIFYING ITSELF, AseERTAINS THE NUMBER OF DRIVES
PRESENT AND PROCEEDS TO TEST EAeu OF THEM AS BEFORE.

5,0

DRIVE SELECTtON
IF ANY PARTICULAR DRIVE IS TO BE SELECTED FOR
TESTING, PUT THAT DRIVE ON 'RUN', 'WRITE ENABLE'.
PUT THE REST OF THE DRIVES ON 'LOAD', 'WRITE LOCK',
THEN START AS USUAL,

6,0

SWITCH OPTIONS
IF THE PROGRAM IS BEING RUN ON A SWITCHLESS PROCESSOR (I,E, AN 11/34)
THE PROGRAM WILL DETERMINE THAT THE HARDWARE SWITCH REGISTER IS
NOT PRESENT AND WILL USE A 'SOFTWARE' SWITCH REGISTER, THE
'SOFTWARE' SWITCH REGISTER IS LOCATED AT LOCATION 176 (8). THE
SETTINGS OF THE 'SOFTWARE' SWITCHES ARE CONTROLLED THROUGH A KEYBOARD
ROUTINE WHICH IS CAL~ED BY TYPING A 'CONTROL G', THE PROGRAM WILL
RECOGNIZE THE 'CONTROL G' Whenever the prOaram enterl

the leop. routine or beoinl a ne. telt, the

'SOFTWARE' SWtTCH VALUES ARE ENTERED AS AN OCTAL NUMBER IN RESPONSE
TO THE PROMPT FROM THE SWITCH ENTRY ROUTINEI
'SWR • NNNNNN

NEW.'

EACH TIME SWITCH SETTING ARE ENTERED, THE ENTIRE SWITCH REGISTER
I~AGE MUST BE ENTERED.
LEADING ZEROS ARE NOT REQUIRED" 'RUBOUT' ANO
'CONTROL U' FUNCTIONS MAY BE USED TO CORRECT TYPING ERRORS
DURING SWITCH ENTRY,
ON PROCESSORS WITH HARDWARE SWITCH REGISTERS, THE 'SOFTWARE' SWITCH
REGISTER MAY BE USED. IF THE PROGRAM FtNDS ALL 16 SWITCHES IN THE
'UP' POS1TION, ALL SWITCH REGISTER REFERENCES WILL 8E TO THE
'SOFTWARE' REGISTER AND THE PROCEDURES D~SCRIBED AeOVE MUST
8E FOLLOWED,

SEQ 0005

SW<15>81
8W<14>a1
SW<13>81
JW<12>al

swett)lal
SW81
5W(09)181
~W(08)1al

SW(06)181
--SW<05>al
,8W<04)181
O~

8W<03>c1
8W<02)1-1
SW(00)1.t

6.1

HALT ON ERROR
LOOP ON TEST
INHI8IT ERROR PRINTOUTS
CYCLE ON ERROR TO THE
PREVIOUS
·SCOPE- STATEMENT
DUMP ALL RK11 REGISTERS ON ERROR
RING BELL ON ERROR
LOOP ON SPECIFIC ERROR
LOOP ON TEST INDICATED BY USER (SEE
SEC. 6.8)
TYPE SEEK TIMER
TYPE THE GRAPHS
PRINT THE COMPLETE GRAPH

TERMINATE FUNCTION SELECTED BY USER
DROP THE DRIVE AFTER MAXIMUM
ALLOWABLE NUMBER OF ERRORS OCCUR
A8K 'OR PATTERN TO BE WRITTEN OR
WRITE CHECKED (FUNCTION SELECTtON
PROGRAM)

8W<15>

THE PROGRAM HALTS ON ENCOUNTERING AN ERROR, AFTER
TYPING
OUT
THE
ERROR
MESSAGE AND PERTINENT
INFORMATION. PRESSING "CONTINUE" RESTORES NORMAL
OPERATION OF THE PROGRAM.
6.2

SW<14>
THE PROGRAM LOOPS ON THE SU8TEST THAT IS BEING
EXECUTED WHEN THE SWITCH IS PUT ON. THIS SWITCH IS
USED NORMALLY ALONG WITH SW 15.

6i11

SW
THIS SWITCH ALLOWS THE PROGRAM TO CYCLE FROM THE
POINT OF ERROR TO THE PREVIOUS SCOPE STATEMENT.
NOTE THAT IN DOING 50 ANY INITIALIZATION BEING DONE
AT THE BEGINNING or THE SUBTEST WILL BE DONE AGAIN
AND AGAIN. SEE SEC. 6.1 FOR A DIFFERENT KIND OF
SCOPE LOOP.

6.5

SW<11>
THIS SWITCH ALLOWS DUMPING OF ALL RKII REGISTERS

ON

SEQ 0006

ENCOUNTERING AN ERROR.
6,6

SW<10>
RINGS A BELL ON ERROR, USEFUL WHEN ERROR TYPEOUT
INHI8ITED.

6.7

SEQ 0007

IS

SW<09>

THIS SWITCH PROVIDES THE TIGHTEST POSSIBLE SCOPE
LOOP,
NOTE THAT UNLIKE SW12 THE INITIALIZATION OF
PARAMETERS AT THE 8EGINNING OF THE SUB TEST MAY NOT
8E DONE IN THIS CASE. THIS SWITCH IS HELPFUL WHEN A
PARTICULAR PART or A SU8TEST IS 8EING REPEATED USING
DIFFERENT PARAMETERS AND YOU WANT TO SCOPE ON THE
PARAMETER IN ERROR, (EXAMPLEs RKDA 18 BEING WRITTEN
AND READ BACK WITH COUNT PATTERNS FROM 1 TO 177777.
PATTERN 561 IS GIVING ERROR, YOU MIGHT NOT WANT TO
GO THROUGH THE 560 PATTERNS 8ErORE HITTING ERROR ON
THE 561TH PATTERN, IN THIS CASE SW 9 WILL GIVE YOU
A SCOPE LOOP ON THE 561TH PATTERN ONLY,)
6,8

SW<08>
THIS SWITCH IS USED TO SELECT A PARTICULAR TEST FOR
EXECUTION.
WHEN THE PROGRAM IS STARTED (200) WITH
THIS SWITCH SET, THE FOLLOWING MESSAGE APEARSI
OCTAL TEST.?
THE USER SHOULD REPLY WITH THE TEST NUMBER (OCTAL)
HE WANTS TO SELECT, FOLLOWED BY CARRIAGE RETURN.
THE SELECTED TEST IS EXECUTED AGAIN AND AGAIN.
TO
GET OUT OF THIS LOOP, PUT SW 9 BACK TO 0, THIS WILL
RESUME NORMAL OPERATION or THE PROGRAM.
NOTE THAT
BEFORE TEST 4 CAN BE EXECUTED TEST 2 SHOULD HAVE
BEEN DONE AND TEST 6 SHOULD HAVE BEEN DONE BEFORE
TEST 1.

6.9

SW<06>
THIS SWITCH WHEN SET M~KES THE PROGRAM TYPE THE SEEK
TIMER.
THIS SWITCH CAN BE SET OR RESET BEFORE OR DURING THE
SEEK TIMER EXECUTION, ~NO EVEN WHILE THE TYPEOUT IS
OCCURING.

6.10

SW(0S>
THIS SWITCH MAKES THE PROGRAM TYPE THE GRAPHS.
IF
RESET BEFORE THE GRAPH-PLOTTING ROUTINE IS ENTERED,
THE GR~PHS WILL BE SKIPPED ENTIRELY. IT CAN BE RESET
EVEN ArTER SOME OF THE POINTS HAVE BEEN PLOTTED, TO

SKIP PLOTTING PEST OF THE POINTS,
SEQ 0008

6,11

5W<04>

THIS SWITCH IS USED TO SELECT THE COMPLETE GRAPH
OUTPUT (SEEK TIMES OF ALL CYLINDEPS ARE PLOTTED)
NORMALLY WHEN THIS SWITCH IS NOT SET, THE SMALL
GRAPH CONLY SELECTED CYLINDERS PLOTTED) IS PRINTED
OUT,
6,12

SW<03>
THIS SWITCH WHEN SET TERMINATES THE EXECUTION OF THE
FUNCTION SELECTED BY THE USER (SAa210).
A NEW
FUNCTION MAY BE INITIATED NOW, IF YOU WANT TO KEEP
ON LOOPING ON THE SAME FUNCTION, PUT SW 3 DOWN M SEE
SEC, 9.0,

6,13

SW<02>
THIS SWITCH ALLOWS THE PROGRAM TO DROP A DRIVE FROM
THE SELECTION LIST
AND
TESTING,
AfTER MAXIMUM
ALLOWABLE ERROR COUNT (TOTAL NUMBER Of ERRORS) ON
THAT DRIVE IS EXCEEDED. THE MAXIMUM ALLOWABLE ERROR
COUNT IS 6, AfTER 6 ERRORS HAVE OCCURED THE DRIVE IS
DROPPED AND A MESSAGE (DRIVE' XXXXX DROPPED) IS
PRINTED.

6.14

SW<00>
THIS SWITCH IS TO BE USED
WITH
THE FUNCTION
SELECTION PROGRAM (SAa210', IF A WRITE OR A WRITE
CHECK
FUNCTION IS SELECTED WITH THIS SW SETq THE
PROGRAM WILL ASK FOR THE PATTERN TO BE WRITTEN OR
WRITE CHECKED (PATRNt). THE USER SHOULD TYPE IN THE
(OCTAL) P·ATTERN,
THIS PATTERN WILL BE WRITTEN COR
WRITE CHECKED) ON tHE DISK, FOR FURTHER INFORMATION
REFER TO SEC, 9.0.

7.0

PROGRAM DESCRIPTION
THE FIRST TEST IS AIMED AT DETECTING IMPEPENDING
ELECTROMECHANICAL FAILURES IN THE DRIVE AND
INNER/OUTER LIMIT SWITCHES.
IN THE NEXT TWO TESTS, THE DISK IS FORMATTED AND
CHECKED FOR CORRECT FORMATTING, IF THE DISK IS
AN RK-05F, THE ENTIRE DISK IS FORMATTED EACH TIME
THE EVEN DRIVE 15 TESTED. NO FORMATTING IS DONE WHEN
THE ODD DRIVE IS TESTED. THE DISK IS CHECKED EACH
TIME FOR PROPER FORMAT, HOWEVER.

IN NEXT TWO TESTS THE SEEK LOGtC, POSITIONER, ETC
ARE CHECKED OUT BY DOING IMPLIED SEEK, USING TWO
DIFFERENT SEEKING PATTERNS.
THE FIRST ONE IS A
DECREASING
SAW-TOOTH
PATTERN
(0-l12-0.311·0-310~, •• ),
THE SECOND
ONE
II
A
CONVERGING-DIVERGING
PATTERN
(0.312-1-311-2-310 •••• ).
ON GETTING
AN
ERROR,
FU~THER
ANALYSIS IS DONE TO FIND OUT ~ORE ABOUT THE
NATURE OF ERROR. MAN¥ TIMES ADDITIONAL INFORMATION
IS GIVEN FOR THE CONVIENCE OF THE USER. RETRIES ARE
DONE WHENEVER AN ERROR OCCURS,
IN THE SUBSEQUENT TESTS EXTENSIVE WRITING
USING MORE THAN 2000 DIFFERENT PATTERNS.
IS READ, (SOFTWARE) COMPARED, AND WRITE

IS DONE
THE DATA
CHECKED.

EVERYTIME IN ERROR OCCURS RETRIES ARE DONE, TO CHECK
IF IT WAS A RECOVERABLE ERROR OR NOT. THE USER CAN
CHANGE THE PATTERNS TO B£ WRITTEN ON THE DISK. THE
DATA TRANSFER BUFFERS CAN 8E Rt-LOCATED BY THE USER
TO DIFFERENT PARTS OF MEMORY, REFER TO LOCATIONS
'PBUF0', 'PBUFt', 'PAT1', 'PTRN01' IN THE LISTINGS
FOR MORE DETAILS, SEE SEC 7,1.
THE SHUNT CURRENT CHANGE TEST WRITES, READS AND
CHECKS FOR ERRORS ON CYLINDERS 127 AND 128. THIS
REGION HAS CRITICAL "PACKING DENSITY" TO "WRITE
CURRENT" RATIOS,
THE SEEK TIMER PROVIDES SEEK
EXPLAINED IN SEC 8.0

TIMES

AND

GRAPHS

A FUNCTtbN SELECTION StiB.PROGRAM IS PROVIDED
USER SELECTtON or FUNCTIONS. aEE SEC 9.0

AS
FOR

EVE~Y
TEST IN THE PROGRAM 18 PREC!EDED BY AN
EXPLANATION OF THAT TEST, THE USE~ IS ADVISED TO
REFER TO THAT, IF MORE INFORMATION IS NEEDED.

7.1

PERMISSIBLE USER PROGRAM MbDIFICATIONS
THE USER CAN MAKE MINOR CHANGES IN POINTERS, TABLES,
ETC.
TO TAXE CARE OF HIS SPECIAL NEEDS, IT IS
ADVISABLE TO MAKE CHANGES IF ANY, ~IGHT AT THE
BEGINING.

7.1.1

SEEK TIMING CAN BE DONE BETWEEN ANY TWO CYLINDERS,
BY MAKING CHANGES DESCRIBED IN THE CYLINDER ADDRESS
TABLE AT LOCATIONS 'SOAD· AND 'SIAO·
IN
THE
LISTINGS.

7.1.2

IN CASE YOU HAVE A LINE PRINTER AND WANT YOUR OUTPUT
ON THE LINE PRINTER, CHANGE LOCATION ·STPS' TO
177514 AND LOCATION ',TP8· TO 177516 (LINE P~INTER
VECTORS).

7.1.3

INPUT/OUTPUT DATA BUFFERS (FROM WHERE DATA TRANSFERS
WILL BE DONE TO AND FROM THE DISK) CAN BE RELOCATED
TO ANYWHERE IN THE 2BK OF MEMO~Y (DO NOT OVERLAY THE
PROGRAM). THIS CAN BE DONE BY CHANGING THE CONTENTS

SEQ 0009

OF LOCATIONS 'PBUF0' AND 'PBUF1' TO THE STARTI~G
ADDRESSES OF THE TWO USER SELECTED BUfFERS. IT
SHOULD BE NOTED THAT EACH OF THE TWO BUFFERS SHOULD
BE 168 (DECIMAL) WORD LONG.
FOUR DIFFERENT PATTERN GENERATOR ROUTINES HAVE BEEN
USED IN THIS PROGRAM I A.
PTGEN0 B. PTGEN1 C.
PTGEN2 D. PTGENl.
THEY HAVE BEEN DESCRIBED IN
DETAIL AT CORRESPONDING LOCATIONS IN THE LISTING.
THE ORDER IN WHICH THEY ARE CALLED IS DESCRIBED AT
THE SEGINING OF TEST 6. THIS CALLING ORDER CAN BE
CHANGED BY MAKING CHANGES IN THE FOUR POINTERS
A.'PAT0' B. 'PAT1' C. 'PAT2' D. 'PAT)'. THESE 4
POINTERS CONTAIN THE STARTING ADDRESS OF
EACH
ROUTINE.
AS A SPECIAL CASE OF THE ABOVE, YOU CAN WRITE THE
SAME TWO (OR ONE) PATTERN/S ON THE ENTIRE DISK USING
'PTGEN0' ROUTINE, TO WRITE THE SAME ONE PATTERN.
CHANGE LOCATION 'PATt' TO 'PTGEN0' (STARTING AODRESS
OF PTGEN0)
CHANGE LOCATION 'PAT2' TO 'PTGEN0' (STARTING ADDRESS
or PTGEN0)
CHANGE LOCATION 'PAT!' TO 'PTGEN0' (STARTING ADDRESS
OF PTGEN0)
FILL LOCATIONS 'PTRN01' AND 'PTRN02' WITH
THE
PATTERN YOU WANT.
TO WRITE 2 DIFFERENT PATTERNS (IN
ALTERNATING
SECTORS)s
CHANGE 'PAT1', 'PAT2' AND 'PAT3' AS DESCRIBED ABOVE.
FILL 'PATRN01' AND 'PATRN02' WITH THE TWO PATTERNS
YOU WANT.
IN TEST 10, IF YOU WANT TO WRITE AND CHECK CYLINDERS
127 AND 128 WITH PATTERNS OTHER THAN THE 12 USED,
CHANGE ANY OR ALL OF THE 12 POINTERS 'SPl' THROUGH
'SP12' TO CONTAIN PATTERNS YOU WANT,
SEEK TIMER & GRAPHS
THE LAST TEST IN THIS PROGRAM IS THE SEEK TIMER, IN
ORDER TO TIME THE SEEKS, THE SECTOR COUNTER HAS BEEN
USED AS A TIME BASE, THUS THE ACCURACY OF THE TIMES
RECORDED IS AS GOOD AS THE ACCURACY OF THE SECTOR
COUNTER (WHICH IN TURN DEPENDS ON THE ROTATION SPEED
OF THE DISK).
IN THE FIRST PART OF THIS TIMER, SOME CRITICAL SEEKS
HAVE BEEN TIMED (CYLINDERS 0-1, 179-191, 0-3, 0-16,
0-32, 0-202, 0-100) EACH SEEK IS DONE 100 TIMES,
TIMES ~RE RECORDED, THEN THE TIMES ARE SORTED OUT
AND A PRINTOUT IS GIVEN SHOWING HOW MANY TIMES A
PARTICULAR SEEK TIME WAS OBTAINED. EXAMPLE. SEEK
BETWEEN 0 ANO LAST CYLINDER WAS DONE 100 TIMES,
99
TIMES A SEEK TIME OF 95 MS WAS OBTAINED, ONCE IT
GAVE 100 MS. THIS GIVES THE USER AN IDEA OF HOW
CONSISTENT ARE THE SEEK TIMES,
IF YOU WANT TO TIME SEEK BETWEEN ANY

OTHER

SET

or

!EQ 0010

CYLINDERS, YOU CAN DO BY FOLLOWING THE INSTRUCTIONS
AT LOCATION ·SOAD' IN LISTINGS. SEE SEC 7.1
IN THE SECOND PART, A GRAPH OF THE 'CYLINDER SEE~ED
FROM 0' IS PLOTTED AGAINST 'SEEK TIME'. TWO GRAPHS
ARE AVAILABLE, NORMALLY THE SMALL GRAPH IS PRINTED
OUT.
THE SMALL GRAPH PLOTS THE SEE~ TIMES rOR
SELECTED CYLINDERS (ABOUT 49) COVERING THE RANGE
FROM CYLINDER 0 TO 202. IT GIVES THE USER A QUIC~
SEEK CHARACTERISTICS Of A DRIVE.
THE OPTIONAL COMPLETE GRAPH (SW 4)
SIMILAR
TO THE ABOVE ONE, BUT
CYLINDERS (203'.

GIVES
PLOTS

A GRAPH
ALL THE

THE GRAPH SHOWN ON LAST PAGE IS A SAMPLE OUTPUT. IT
SHOULD BE REALIZED THAT DIFFERENT DRIVES MAY HAVE A
SLIGHTLY DIFFERENT CHARACTERISTIC.
9.0

FUNCTION SELECTION PROGRAM
THIS PROGRAM GIVES THE USER A CAPABILITY TO SELECT A
FUNCTION AND EXECUTE IT, FROM THE CONSOLE TELETYPE,
STARTING ADDRESS-210
ON STARTING THE
QUESTION APPEARS I

PROGRAM

AT

210,

THE

FOLLOWING

FUNCTION?
THE REPLY SHOULD eEl

ALL COMMANDS SHOULD
RETURN.
DEPENDING

WR
FOR WRITE
WC
FOR WRITE CHECK
PO
FOR READ
RC
FOR READ CHEC~
CR
FOR CONTROL RESET
DR
FOR DRIVE RESET
SK
rOR SEEK DR
BE TERMINATED BY A CARRIAGE
ON WHICH FUNCTION IS GIVEN THE

FOLLOWING QUESTIONS APPEARI
RKBA?
TYPE
FOLLOWED BY A C.R,

IN

THE

BUS

ADDPESS

(OCTAL)

RKDA?
TYPE
FOLLOWED BY C,R.

IN

THE

DISK

ADORES

(OCTAL)

rF A NON-EXISTENT CYLINDER OR SECTOR
THE QUESTION IS REPEATED AGAIN,
.WORDS?
TO TRANSfER.
WANT TO READ A
ANY NUMBER OF

IS

SELECTED,

TYPE IN THE NUMBER or WORDS YOU WANT
IT SHOULD BE IN OCTAL. THVS If YOU
SECTOR TYPE IN 400 FOL~OWED BY C.R.
WORDS CAN BE TRANSFERRED DEPENDING ON

SEQ

0~11

THE BUFFER StZE AVAILABLE.
FOR A WRITE FUNCTIONI IF aW0 IS SET TO 1 THE PROGRAM
WILL AS~ FOR THE DATA PATTERN TO BE WRITTEN:
PATRN?
THE USER SHOULD TYPE IN THE DATA
PATTERN (OCTAL) TO BE WRITTEN, FOLLOWED BY . THE
PATTERN WILL BE WRITTEN ON THE DISK. NOTE THE NUMBER
or WORDS TO BE WRITTEN AND THE DISK ADDRESS SHOULD
BE SPECIFIED.
FOR A WRITE CHEC~ FUNCTIONS IF SW 0 IS SET TO 1, THE
USER IS ASKED FOR THE PATTERN TO BE WRITE CHECKEDI
PATRN? THE USER SHOULD TYPE IN THE (OCTAL) PATTERN.
FOR A SEEK FUNCTIONI CIL1? CIL21 IN REPLY TO THESE,
TYPE IN THE CYLINDER NUMBERS (OCTAL) BETWEEN WHICH
THE SEEK IS TO BE DONE. IF A NON EXISTENT CYLINDER
IS TYPED IN THE QUESTION IS REPEATED AGAIN.
THE FUNCTION IS EXECUTED AGAIN AND AGAIN.
TO GET
OUT OF THIS LOOP SW 3 SHOULD BE SET, AT THIS POINT
THE QUESTION (FUNCTION?) IS ASKED AGAIN.
IF UPON EXECUTION OF A FUNCTION AN ERROR OCCURS IT
IS REPORTED. ALL SWITCH OPTIONS WHICH APPLY TO ANY
OTHER ERROR, ALSO APPLY TO THIS ERROR,
IF ON INPUTTING A NUMBER OR COMMAND A MISTAKE IS
MADE, THE INPUT STRING CAN BE DELETED BY HITTING
'RU80UT' KEY, THE NEW STRING CAN BE TYPED IN AGAIN.
10.0

ERROR INFORMATION
WHENEVER AN ERROR MESSAGE IS PRINTED OUT, ALL
REGISTERS AND OTHER DATA PERTAININNG TO THE ERROR
ARE ALSO GIVEN.
RKOS, RKER.~.RKeA INDICATE THE
CONTENTS OF THE CORRESPONDING REGISTERS AT THE TIME
0' ERROR.
EVERY ERROR MESSAGE CONTAINS A PC.
THIS
PC
INDICATES THE POSITION IN PROGRAM WHERE THE ERROR
CALL IS LOCATED.
THE ERROR MESSAGE, BECAUSE OF
PRACTICAL
CONSIDERATIONS
IS
MADE
SHORT
AND
MEANINGFUL. THE USER IS ADVISED TO LOOK UP TH-E PC
IN THE PROGRAM LISTING, WHERE H£ WILL FIND MORE
INFORMATION ABOUT THE ERROR. IN MANY INSTANCES, A
STNGLE FAULT WILL GIVE RISE TO MORE THAN ONE ERROR
REPORT.
A LITTLE
DELIBERATION
AND
CAREFUL
EXAMINATION OF THE DATA GIVEN WILL BE CERTAINLY VERY
HELPFUL. A BRIEF EXPLANATION OF WHAT IS BEING
CHECKED IN THE SUBTEST IS GIVEN AT THE BEGINNING or
EVERY SUBTEST. ALL THE NUMBERS GIVEN WITH ERROR
MESSAGES ARE IN OCTAL.
AT TIMES WHEN AN ERROR OCCURS BESIDES THE ERROR
PRINTOUT MORE PRINTOUTS OCCUR. THEY ARE GIVEN TO
HELP THE USER UNDERSTAND THE PROBLEM.

SEQ 0012

11 .. 0

UNEXPECTED TIMEOUTS AND RK11 INTERRUPTS
WHEN AN UNEXPECTED TIMEOUT OCCURS, THE PC AT WHICH
TIME OUT OCCURRED IS TYPED OUT AND THE PROGRAM
HALTS. If IT IS INTACT, IT CAN BE RESTARTED B1
PRESSING CONTINUE.
IF AN UNEX'ECTED RKll INTERRUPT OCCURS THE PROGRAM
TYPES OUT THE PC AT WHICH THE INTERRUPT CAME IN AND
THEN HALTS. PRESSING CONTINUE WOULD RESTART THE
PROGRAM FROM 8EGINNING.

12.0

COMMONLY USED SUBROUTINES
BRIEF EXPLAINATION OF EVERY SUBROUTINE IS GIVEN IN
THE
LISTINGS
(JUST BEFORE THE CODE FOR THAT
SUBROUTINE). ALL SUe-ROUTINES ARE LISTED IN THE
'TABLE OF CONTENTS' FOUND AT THE BEGINNING OF
LISTINGS. THESE ARE TWO WAYS IN WHICH ROUTINES ARE
CALLED, 1.
JSR PC,ROUTINE 2. THROUGH AN ENCODED
TRAP INSTRUCTION. THE LOWER 8YTE OF THE 'TRAP'
INSTRUCTION IS USED TO INDEX THROUGH THE TRAP TA8LE
C,TRPADl FOR THE STARTING ADDRESS or THE DESIRED
ROUTINE.

A

13.0

SAMPLE GRAPH AND SEEK TIMER OUTPUTS
'f OF SEEKS' INDICATES THE NUMBER OF TIMES A PARTICULAR

'SEEK TIME' WAS OBTAINED. NOTE THAT TIMES ARE RECORDED FOR
80TH FORWARD ANO REVERSE SEE~S, BETWEEN A SET OF CYLINDERS.
SEEK TIME SCALE FACTOR-0.01 MILl SECS

• or

SEEKS

SEEK
TIME

CYLS.0-202
rRWRD
100

9075

825

9075

10121

i155

REVRSI!:
lt55

CYLSa0-l
rRWRO
11210

100
REVRSE

CYLS1179-t81
rRWRO
100

SEEK
TIME

REV~SE

CYLSII2I-l
rRWRO
100

• or

SEEKS

100
REVRSE

1485

100

1155

SEQ 0013

CYLSa0-16
SEQ 0014

REVRSE

FRWRD
100

100

3135

3115

CYLSI0-32

FRWRO

REVRSE

100

3795

3795

100

CYLS10-100

FRWRD

REVRSE

100

5775

5775

100

**SAMPLE OUTPUT-*

X AXIS - SEEK TIME - MILl SECS
Y AXIS - CYLINDER SEEKEO FROM 0

o

10

40

30

20

50

70

60

80

90

100

110

120

130

0- I--.-I.---r----l----I----t----T----I----I----l-·&-I---·I---·I--·-!
X

12.
3-

X

X
X

4-

X

6-

X

81012141618202530354045505560-

6570-

7580859095100105110115-

12"125130135140145150155-

X
X
X
X
X
X

x
X

X

x
X
X

X
X

X
X
X
X
X
X

x
X

X
X
X
X

X

x
X

X
X

x
X
X

16,,·
165170175lS,,-

18519"·
19520,,202-

x

SEQ 0015

X

X

X
X
X
X
X

X
X

MAINDEC-11-0ZRKL-D
MACY11 27(1006) 04-0CT-76 14126
DZRKLD.P11
31-AUG-76 15135
TABLE OF CONTENTS
18
45
156
165

171
182
491
713

750
755
967
109)
1196

1372
1669
1847

21'79
2569

2724
3250
3262
3305

3351
3382
3412
3604 .
3622

3642
3660

3661
3695
3696

3751
3773
3784
3934
3990

4059
4130
4179
4417
4456
4535

4557
4591
4627

4692
4715
4755
4802

SWITCH SETTINGS
BASIC DEFINITIONS
TRAP CATCHER
STARTING ADDRESSeES)
ACTtl HOOKS
COMMON TAGS
ERROR POINTER TABLE
INITIALIZE THE COMMON TAGS
TYPE PROGRAM NAME
GET VALUE rOR SOFTWARE SWITCH REGISTER
T1
CHECK INNER LIMIT SWITCH , ELECTROMECHANICAL INTEGRITY
T2
FORMAT THE DISK
T3
READ FORMAT OF THE DISK
T4
SEEK PATTERNS. 0-112-0-311- ••• ,USING IMPLIED SEEK
T5
PERFORM CONVERGING-DIVERGING (IMPLIED) SEEKS
T6
WRITE PATTERNS ON THE DISK
T7
READ, SOFTWARE COMPARE, WRITE CHECK or THE PATTERNS
T10
WRITE, WRITE CHECK ON CYLINDERS 127, 128
SEEK FUNCTION TIMER
Tl1
T12
END OF PROGRAM
END OF PASS ROUTINE
ESR1S
ESRll
ESR20
ESR25
ERR2
ERR!
GCYL
DRV.RESET - DRIVE RESET ROUTINE
RESDON - WAIT FOR DRIVE RESET TO 8E DONE
CON.RESET - CONTROL RESET ROUTINE
CON,ROY - WAIT FOR CONTROL R!AOY
TST,RWS - WAIT rOR R/W/S ROY
TEST ABORT ROUTINE
SCOPE HANDLER ROUTINE
ERROR HANDLER ROUTINE
CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
TYPE ROUTINE
I~TEGER MULTIPLY ROUTINE
TTY INPUT ROUTINE
PEAD AN OCTAL NUMBER FROM THE TTY
BINAPY TO OCTAL (ASCII) AND TYPE
TYPDSS - TYPE DECIMAL, LEADING ZEPOES SUPPRESSED
TYPE NUMERICAL ASCIZ STRING SUPPRESS LEADING ZEROS
SAVE AND RESTORE R0-R5 ROUTINES
DOUBLE LENGTH BINARY TO DECIMAL ASCII CONVERT ROUTINE
TRAP DECODER
TRAP TABLE
POWER DOWN AND UP ROUTINES
FUNCTION SELECTION PROGRAM

OPER~TJONAL

SEQ 0016

MAINDEC-11-DZRKL-D
MACYl1 27(006)
DZAKLD.P11
31-AUG-76 15135

04-0CT-76

14126

PAGE 1
SEQ 1il017

1
• TITLE MAINDEC-11-DZRKL-D
:*COPYRIGHT (Cl 1974,1976
;*DIGITlL EQUIPMENT CORP.
:*MAYNARD, MASS. 211754

2
3
4
5
6
7
8

,*

I*PROGRAM BY JIM KAPADIA

..

:*

10

,*

:*THIS PROGRAM WAS ASSEMBLED USING THE PDP-11 MAINDEC SYSMAC
:*PACKAGE (MAIWDEC-11-DZQAC-C2), SEPT 14, 1976.

11

I*JANUARY 1975
1*
:*REVISED MAIICH 1976 BY TOM SAWYER
,*REVISED BY CHUCK HESS, AUGUST, 1976

12
13

14
15
16
17
18
19
20
21

.SBTTL

OPERATIONI\L SWITCH SETTINGS

15
14
13

22
23

12
10
9

2'i
25
26
27
28
29

8
6
5
4

)0

H
12
33
34

35
36
37

11

18
39
40
41
42

:*
:*

43

55
0;6
57
58
59
60
61
&2
63
64
65
66
67
68
69
70
71
72

71
74
75
76
77
79

79
80
81
82
93
84
85
86
87
98
99
90

91
92
9l
94
95
96
97
99
99

.SBTTL

001100

HALT ON ERROR
LOOP ON TEST
INHIBIT ERROR TYPEOUTS
CYCLE ON ERROR TO PREVIOUS • SCOPE'
BELL ON ERROR
LOOP ON ERROR
SELECT TEST TYPED IN BY USER
EXECUTE THE SEEK TIMER (TEST 11)
TYPE THE SEEK TIMER GRAPHS (TEST 11)
TYPE THE COMPLETE GRAPH (ALL SEEK TIMES)
NOTE, OTHERWISE YOU GET SMALL GRAPH
TERMINATE FUNCTION SELECTED BY USER
(FOR FUNCTION SELECTION PROGRAM SA-210)
DROP THE DRIVE AFTER MAXIMUM ALLOWABLE
NUMBER OF ERRORS HAVE OCCURED
ASK FOR PATTERN TO BE WRITTEN (OR WRITE
CHECKED), IN FUNCTION SELECTION PROGRAM
DUMP OUT ALL RK11 REGISTERS ON ERROR

YOU ARE ADVISED TO READ THE DOCUMENT FOR THIS PROGRAM.
SELECTION PROGRAM STARTS AT 210.

FUNCTIO~

MAINDEC-11-0ZRKL,-D
MACY11 27( 1006)
04-DCT-76
14: 26
OZRKLD.Pll
31-AUG-76 15135
BASIC DEF'INITIONS
44
45
46
47
48
49
50
51
52
53
54

USE

SWITCH

PAGE 2
SEQ 0018

BASIC DEFINITIONS

:*INITIAL ADDRESS OF THE STACK POINTER *** 1100 ***
1100
STACK.EQUty EMT,ERROR
"BASIC DEFINITION OF ERROR CALL
lOT, SCOPE
.EQUn
BASIC DEFINITION OF SCOPE CALL

'J

177774
177772
177570
1 77570

,*MISCELLANEOUS DEF'INITIONS
HT~
11
: ,CODE FOR HORIZONTAL TIIS
, ICODE FOR LINE FEED
12
LF, ,CODE FOR CARRIAGE RETURN
15
CR2021
,:CODE FOR CARRIAGE RETURN-LINE FEED
CRLF~
177776
"PROCESSOR STATUS WORD
PS.EQUIV PS,PSW
, ,STACK LIMIT REGISTER
STKLMTa 177774
PIRQa
, 'PROGRAM INTERRUPT REQUEST REGISTER
177772
DSWRa
177570
"HARDWARE SWITCH REGISTER
177570
"HARDWARE DISPLAY REGISTER
DDISP-

800800
000001
2100002
000003
000004
0011.1005
000006
000807
2108006
000007

: *GENERAL PURPOSE REGISTER DEFINITIONS
R0"GENERAL REGISTER
'21
Rl, ,GENERAL REGISTER
'1
R2a
"GENERAL
REGISTER
'2
Rl=
"GENERAL REGISTER
\3
R4a
J ,GENERAt. REGISTER
\4
R51!:
" GENERAL REGISTER
R6, : GENERAL REGISTER
'6
R7s
: ,GENERAL REGISTER
\7
:, STACK POINTER
SP'6
PC:
"PROGRAM COUNTER
\7

880080
000O40
"00100
"00140
000200
080240
000300
000340

:*PRIORITY LEVEL DEFINITIONS
PR0a
, ,PRIORITY
0
, ,PRIORITY
40
PR1, ,PRIORITY
PR2100
140
, ,PRIORITY
PRl200
, ,PRIORITY
PR4, ,PRIORITY
PR5240
PR6a
300
, ,PRIORITY
, ,PRIORITY
PR7340

100000
84000O
020900
IH0000
004000
002000
001000
000400
000200
000100
000040
000020
000010
000004

,*·SWITCH REGISTER" SWITCH DErINITIONS
100000
SW1540000
8i11420000
SNU10000
SW124000
SWll2000
SW10SW09:1
1000
SW09a
400
S\II07200
SW06a
100
8W05a
40
8W04.
20
8Nn10
4
81102-

000011
000012
000015
000200
177776

'5

LEVEL
LEVEL
LEVEL
LEVEL
LEVEL
LEVEL
LEVEL
LEVEL

0
1
2

3
4
5
6

7

MAINDEC-lt-OZRKL-D
MACY11 27(1006)
0.-0CT-76
14126
OZRKLD,Pll
31-AUG-76 15135
BASIC DEFINITIONS
000002
000001

100
101

SN018N00_
,EQUIV
,EQUIV
.EQUIV
.EQUIV
.EQUIV
.EQUIV
.EQUIV
.EQUIV
.EQUIV
.EQUIV

102
103
104
105

106
107
108
109
110
111

PAGE 3
SEQ 0019

2
1
S1I09,S1I9
81108,8118
8110"SW7
S"06,S1I6
SW05,SN5
SW04,SW4
8N03,SW3
SW02,SII2
81101,8111
8N00, SW0

112
113

,.OATA .BIT DEFINITIONS (BIT00 TO BITt5)
BITU- 100000
BIT14- 40000
BITU- 20000
BITU10000
BIT114000
BITl0. 2000
BIT091000
BIT08- 400
BIT07. 200
BIT06100
BIT05- 40
BIT04_ 28
BIT0318
BIT024
BIT01- 2
BIT001
.EQUIV BIT09,BIT9
.tQUIV BIT08,BIT8
,EQUIV BIT07,BIT7
,EQUIV BIT06,BIT6
.EQUIV BIT05,BIT5
.EQUIV BIT04,BIT4
,EQUIV BIT03,BITl
,EQUIV BIT02,BIT2
,EQUIV BIT01,BITl
,EQUIV BIT00,BIT0

100000
0413000
020000
0113000
004000
002000
001000
000400
000200
000100
000040
000020
000010
000004
000002
000001

114
115
116

117
118
119

120
121

122
123
124

125
126
127

128
129
1]0
131
132

133

134
135

136
137
138
139
140
141
142
143

: .BASIC • CPU· TRAP VECTOR ADDRESSES
ERRVI!:C_ 4
"TIME OUT AND OTHER ERROR8
RESVI!:C- 10
"RESERVED AND ILLEGAL INSTRUCTIONS
TBITVEC-t4
,,·T" BIT
, ,TRACE TRAP
TRTVEe- 14
BPTVEC- 14
"BREAKPOINT TRAP (BPT)
"INPUTIOUTPUT TRAP (lOT) "SCOPE"
IOTVEC- 20
PIIRVEC- 24
"PONElI. FAIL
EMTV!:C- 30
, ,EMULATOR TRAP (EMT l "ERROR"
TRAPVEC_34
" -TRAP" TRAP
TICVI!:C- 60
" TTY KEYBOARD VECTOR
, ,TTY PRINTER VECTOR
TPVEC- 64
, ,PROGUII INTERRUPT REQUEST VECTOR
PIRQVEC.240

000004
000010
000014
000014
000014
000020
000024
000030
000034
000060
000064
000240

144
145
146
147

148
149
150
151
152
153
154
155

,SBTTL

MAINDEC-U-DZRKL-D
M&CYll 27 (1006)
DZRKLD. P11
11-AUG-76 15135
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180

TRAP CATCHER

04-0CT-76
14126
CATCHER

PAGE 4
SEQ 0020

TR~P

,_0

000000

000174
000176

000174
""0000
1/100000

000200

"00137

002462

000210
000214

000210
105237
"00137

001216
0"2462

: .ALL UNUSED LOCATIONS FROM 4 - 776 CONTUN A ". +2, HALT"
,.5EQUENCE TO CATCH ILLEGAL TRAPS AND INTERRUPTS
,.LOCATION " CONTAINS 0 TO CATCH IMPROPERLY LOADED VECTORS
,8174
DISPREGI ,WORD
J ,SOFTWARE DISPLAY REGISTER
SWREGI
,IIORD 0
JI SOFTIIARE SWITCH REGISTER
,SBTTt STARTING ADDRE8S(ES)
JMP
U8TART "JUMP TO STARTING ADDRESS OF PROGRAM

,8BTTL

,-210
INCB
FFUNC
JMP
USURT
ACTll HOOKS

'SET FLAG INDICATING SELECTION OF
,FUNCTION PROGRAM,

,,...............................................................
000046
000052

"00220
000046
015254
000852
0000130
000220

:HOOK8 REQUIRED BY ACTtl
esvPc-,
,.46
nNDAD
,-52
.IIORD
•• UVPC

:SAVE PC
"USET LOC,46 TO ADDRESS
112)S!T LOC,52 TO ZERO
"
RESTORE PC

or

SENDAO IN ,nop

14126
0t-OCT-7b
MAINDEC-II-DZRKI,,-D
MACY11 27(1006)
COMMON fAGS
:U-AUG-76 15135
DZRKI"D.Pll
181
182
183
194
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
2316
231
232
233
234
235
236

.SBTTI"

PAGe:

SEw 01021

COMMON TAGS

, ,********* •• * ••••• *.********.***.*************************.**.*.
,*THIS TABLE CONTAINS VARIOUS COMMON STORAGE LOCATIONS
,*USED IN THE PROGRAM.
.-1100

001100
001100
001100
001102
001193
001104
001106
001110
001112
001114
001115
001116
001120
001122
001124
001126
001130
00i i32
001134
001135
001136
001140
001142
001144
001146
001150
1601152
001154
1601155
1601156
1601157
0011616

000000
000
000
0000110
000000
000000
0000015
000
001
000000
000000
0000015
000000
000000
1!100000
000000
000
000
000000
1775715
177570
177560
177562
177564
177566
000
002
012
000
000000

001162
001164
001166
001170
001172
001174
001176
0161200
001202
001204
001206
0161212
0161213
1601214

0160000
000000
01616000
0000160
001616160
01516000
000000
0000160
01600(1)0
000000
177607
077
1615
000012

.CMTAGI
.PASSI
STSTNMI
.ERFLGI
StCNTI
.LPADRI
.LPERRI
tEIITTLI
$ITEMBI
8ERMAXI
SERRPCI
.GDAORI
UDADRI
.GDDUI
SBDOATI

.WORD
.BYTE
.BYTE
.WORD
.IIORD
.IIORD
.IIORD
.BYTE
.BYTE
.IIORD
.WORD
.WORO
.WORD
.wORD
.WORD

.wORD
IAUTOBI .BYTE
UNTAGI .BYTE
.IIORD
SWRI
.WORD
DISPLAYI .IIORD
177560
unl
177562
UKBI
177564
UPSI
UPBs
177566
,NULLI
.BYTE
SFILLSI .BYTE
.FILLCI .BYTE
UPFLGI .BYTE
SREGADI .WORD

, ,START OF COMMON TAGS
J • CONTAINS PASS COUNT
J ,CONTAINS THE TEST NUMBER
, ,CONTAINS ERROR FLAG
J .CONTAINS SUBT£5T ITERATION COUNT
: ICONTAINS SCOPE LOOP ADDRESS
, ,CONTAINS SCOPE RETURN FOR ERRORS
, ,CONTUNS TOTAL ERRORS DETECTED
J ,CONTUNS ITEM CONTROL BYTE
J ,CONTAINS MAX. ERRORS PER TEST
, 'CONTAINS PC OF LAST ERROR INSTRUCTION
, ,CONTAINS ADDRESS OF 'GOOD' DATA
'BAD' DATA
J 'CONTAINS ADDRESS
, ,CONTAINS 'GOOD' DATA
"CONTAINS 'BAD' DATA
J ,RESERVED--NOT TO BE USED

0
0
0
0

""
0
0
1
0
0
15

or

"

0
0

;;

:, AUTOMATIC MODE INDICATOR
n INTERRUPT MODE INDICATOR

0
0
0
DSIIR
DDISP

: ,ADDRESS OF SIIITCH REGISTER
nADDRESS OF DISPLAY REGISTER
=,TTY KBD STATUS
, I TTY KBD BUFFER
"TTY PRINTER STATUS REG. ADDRESS
I,TTY PRINTER BUFFER REG. ADDRESS
0
: ,CONTAINS NULL CHARACTER FOR FILLS
IICONTAINS t OF FILLER CHARACTERS REQUIRED
2
12
"INSERT FILL CHARS. AFTER A "LINE FEED"
0
: I "TERMINAL AVAILABLE" FLAG (BIT<07>-0 a YES)
0
:J CONTAINS THE ADDRESS FROM
I,WHICH
"REG0) WAS OBTAINED
0
SREG01
.WORD
nCONTAINS CC'REGAD)+0)
SREG11
.WORO
0
nCONTAINS «(SREGAD)+2)
.WORD
0
SREG21
nCONTAINS «'REGAD)+4)
0
SREG3:
.WORD
nCONTAINS «SREGAD)+6)
0
.WORD
"CONTAINS «SREGAD)+le)
'REG4,
nCONTAINS (CSREGAD)+12)
SREG51
.WORD
0
SREG6,
.WORD
nCONTAINS CC'REGAO)+14)
.IIORD
0
nCONTAINS ((SREGAD)+16)
SREG7s
0
"CONTAINS «SREGAD)+20)
SREG10' .WORD
SESCAPEs0
II ESCAPE ON ERROR ADDRESS
SBELLI
.ASCn <207><377><377> : ,CODE FOR BELL
SQUESI
/11
:J QUESTION MARK
.ABC1!
• ASC,Il <15>
:,CARRIAGE RETURN
.CRLFI
: ,LINE FEED
SLY:
.Ascn <12>
: , •••• *** ••• **.*•••• * ••• **** ••••••• * ••••••••• * •••••••••••••••••••

"

1600377

MAINDEC-l1-DZRKL-D
MACYll 27 (10166)
e4-0CT-76
14s26
DZRKLO.Pll
3t -AUG-76 15135
COMMON TAGS

PAGE 6
SEQ 16022

: IN CASE YOU WANT TME OUTPUT TO COME OUT ON LINE PRINTER,
,ONE), MAKE THE FOLLOWING CHANGES ABOVEI

237
238

(IF YOU HAVE

239
:CHANGE CONTENTS OF 'uPS' TO 177514
:CHANGE CONTENTS OF" 'UPB' TO 177516

240
241
242
243

(LPT VECTOR)
( •• )

:TAGS AND GENERAL DATA AREA

244
245
246
247
248
249
250
251
252
253
254
2<;5
256
257
20;8
259
260
261
262
263
264
265
266
267
268
269
2716
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
299
290
291
292

001216
001220

000000
000000

0161222

FFUNC I
XXDPMDI

• WORD
.WORD

000

LUPSW:

.BYTE

001223

000

DRVDON I

• BYTE

001224

000

DRIVSI

.BYTE

001226

0
0

,FLAG SET, TO INDICATE ENTRY INTO FUNCTION PROGRAM
rIP' PROGRAM LOADED BY XXDP, THE
fLOWER BYTE HAS THE DRIVE NUMBER
,AND THE UPPER BYTE CONTAINS THE RK05 'XXDP' CODE
, FLAG, SET TO IND ICATE THAT A
,PARTICULAR TEST WAS SELECTED BY USER (SW 8)

,CONTAINS NUMBER OF DRIVES THAT HAVE
, BEEN ALREADY CHECKED
,CONTAINS TOTAL • OF DRIVES PRESENT

.EVEN

001226

000000

DRVPTRI 0

001230

000000

DRIVAD: 0

001232
0161234
001236
001240
0111242
001244
01t1246
001250

000000
020000
040000
060000
100000
120000
140000
160000

DIIIV0:
DRIVt!
DRIV21
DRIV31
IlRIV41
DRIV51
DRIV61
DRIV71

001252
0161254
001256

000000
000000
000000

RETRYll 0
RETRY21 0
RETRY]. 0

,GENERAL REGISTERS

001260
0161262
001264

000000
000000
000000

IUDRI
0
OUTADRI 0
TIMERI
0

,CONTAINS INNER ADDRESS
,CONTUNS OUTER ADDRESS

001266
001320
001352

001'1015
000015
000015

BUFRI
8UFR1t
8UP'R21

'CONTAINS POINTER TO INDICATOR STARTING
,IIHICH CHECKING SHOULD BE DONE FOR NEXT
,AVAILABLE DRIVE
'CONTAINS THE ADDRESS OF THE DRIVE
'BEING TESTED

000000
020000
040000
060000
100000
120000
140000
160000

.BLKW
• BLKW
.BLKII

,THESE ARE FLAGS TO INDICATE
,THAT A PARTICULAR DRIVE IS
,PRESENT.
BIT 0 IS SET TO
'INDICATE THAT.
BITS 13, 14, 15
,CONTAIN THE LOGICAL DRIVE
,ADDRESS

13.
U•
13.

J GENERAL BUFFERS

114-0CT-76 14126
MAINDEC-ll-D!RICL-D
MACHl 27 (1006'
COMMON TAGS
31-AUG-76 UIIlS
D!RICLD,Pll
293
294
295
296
297
298
299
380
301
382
303
304
305
386
307
308
389
310
311
312
313
314
315
3t6
317
3t8
319
320
]21
322
323
324
325
326
327
329
329
330
331
332

SEa 0023

,IN CASE, YOU WlIIT TO use: BUFFERS STARTING AT SOME OTHER MEMORY
'ADDRESS YOU CAN 00 SO BY CHANGING THE FOLLOWING POINTERS,
,BOTH THE BUFnRS SHOULO BE 768 (DECIMAL) WORDS LONG,
801404

026362

PBUU,

IOBurll

881406

831362

PBurl,

IOBU,l

801410
001412

11008811
000000

BUFLG8. ,WORD
BUFLG1, ,WORD

0
0

,POINTER TO THE STARTING ADDRESS or THE
,BUFrER USED TO READ INTO 'ROM DIBIC.
,POINTER TO STARTING ADDRESS or BUFFER
, IN WHICti PATTERNS ARE GENERATED, (IIRITING
,IS DONE rROM THIS BUrnR)
,FLAG FOR 'IOBur0'
,rLAG rOR 'IOBurl'

001414

1110032

PAT0,

PTGENII

001416

010114

PAT1'

PTGENI

,ADRES or 'PATRN GENERATOR 0'
,ROUTINE
,ADRES or 'PATRN GENERATOR l '

001420

810216

PAT2,

PTGEN2

,ADRES or 'PATRN GENRlTOR 2"

001422

010260

PATH

PTGEN]

,ADRES or 'PATRN GENRATOR 3"

001424

800880

PRSPAT. ,!IIORD

1111111426

000000

NXTPATI ,WOflD

0

001430

800000

PGSUBR, ,WORD

0

001432

000000

DSKADR. .WOflD

0

001434

000000

BUSADR. .WORO

'CONTAINS THE POINTER TO THE
,ADRES or 1 or THE 3 'PATRN
,GENRATOR' ROUTINES
, SAME AS ABOVE

'CONTAINS DISK ADRES (DA)
,CONTlINS BUS ADRES (BA)

001436

080000

WRDCNT. .WOflD

,CONTAIN8 NORD COUNT

001440

000000

WDSKAD, .WORD

,CONTAINS DISIC ADRES

001442

008000

WBU8ADI .WOflO

0

,CONTlINS BUS ADRES

001444

000000

WWflDCt,. .WORD

000000

BurNO,

.WORD

"

'CONTAINS WORD COUNT

801446
00145O

080080

ADRES.

.WOflD

3)3
334
135
336
337
338
339
348

PAGE 7

'CONTAINS STARTING ADflES
,or A BurnR

,RUI REGISTERS
,Ir rOR ANY REASON THE REGISTER ADDflESSES ARE DIFFERENT rROM
, THESE (BELOW), THE CONTENTS OF THE APPROPRIATE POINTERS SHOULD
IBE MODlrIED SO THAT THE CORRECT REGISTER ADDRESS IS USED.

341
342

343
344
345
346
347
348

O01452
O01454
.01456
00146O
081462

1774OO
177482
17740.
177406
177410.

RICDS.
RICER.
RKCS,
RKWC.
RKBAr

17740"
1774"2
177404
177406
17741O

MAINDEC-l1-DZRKL-O
MACYl1 27(Ul"6l
04-0CT-76 14.26
DZRKLD.PII
ll-AUG-76 15135
COMMON TAGS
349
358
351
352
353
354
355
356
357
358
359
360

001464
801466

177412
177416

RKD'"
RKDBI

177412
177416

"014711

000280

RKPRII

20"

081472

1188228

RKVECI

220

""1474
001476
"'158"
"01502

""'000
080000
8"0008
000080

INDU,
INDX21
INDXJI
INOl41

,GENEflAL INDEX REGISTERS

"01584
001506
00151"
"81512
"01514
001516
811520
101522

000008
008008
eeee80
008.00
108080
008008
0'''''00
00'''00

tRCNT1'
ERCNT21
ERCNT3.
ERCNT4.
ERCNT5.
ERCNT6,
ERCNT7,
ERCNTa.

,GENERAL REGISTERS
, GENERAL REGISTERS
,GENERAL REGISTERS

361
362
363
364
365
366
367

368
369

)70
371

372
373
374
375
376
377
378
379
380

381
382
383
384
396

397
398
399

391
392

393
394
395

396

,CONTAINS THE CPU LEVEL (4) AT WHICH
,RKl1 NORMALLY INTERRUPTS.
THIS WORD
,SHOULD BE CHIUfGED I f RUt IS DESIGNATED
,A 8R LEVEL OTHER THAN S.EXPI IF IT
, IS CHANGED TO "
THE CPU LEVEL WOULD
, BE 1 LEas (5) , HENCE THIS 1oI0RD
,SHOULD BE 240 (BIT POSITIONS ARE
,IDENTICAL TO THE PRIORITY BtTS IN PSIII)
,CONTUNS THE NORMAL VECTOR ADDRESS
,TO WHICH THE RK11 INTERRUPTS.
IF THE
,VECTOR ADDRESS HAS BEEN CHANGED, MODIFY
,THIS WORD.

,.THE rOLLOwING TABr,.E CONTUNS THE CYLINDERS BETWEEN WHICH THE SEEKS WILL BE
'.TIMED. THEY HAVE BEEN SELECTED TO GIVE SOME TYPICAL SEEKS TIMES FOR THE
,.3 SEEK SPEEDS. IF FOR ANY REASON YOU WANT TO TIME SEEKS BETWEEN ANY
,.OTHER SET OF CYLINDERS, MAKE CHANGES IN THE CORIIESPONDING SEEK CYLINDER
, .ADDRESSES.

395

390

PAGE 8

801524
. . 1526
lin 538
181532
ee1534
181536
8.1548

""080
800,,.0

'IH40
800008
800888
8000.0
801088

J .OUTER CYLINDER AODRESI, FROM WHERE SEEK WILL BE DONE
,CYLINDER 0
SOAD'
8
,
• 8
,
179
13140
,
III
o

°
°o
8

,
,
,

0
8
III

397

391

399

tl0
411

ta2
413

404

081542
181544
801546
181558
181552
001554

"145e.
8ee040
8U240
'00148

,.INNER ADDRESS, TO WHICH SEEIC WILL BE DONE
SUDI
14500
'CYLINDDER 282. LAST
40
, • 1
,
111
11240
,
3
140

8011108

1'08

002080

2010

,

16

,

32

MAINDEC-11-0ZRKL-0
MACYlI 27(1006) 04-0CT-76 14126
COMMON TAGS
:U-AUG-16 15135
DZRKtD.PI i
405
406
407
40a
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
4)1
432
433
434
435
436
437
438
439
4421
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460

001556

"04206
004552
005050
005540
006546
007304
010364
012122
012664

001602

005015

,FOLLOWING POINTERS ARE USED TO TRANSFER CONROL TO THE
I TEST SELECTED BY USING S\II 8. IF ANY MORE TESTS ARE
,ADDEO TO THIS PROGRAM ADDITIONAL POINTERS SHOULD BE INSERTED.
TST1+2
PTlI
T8T2+2
PT2:
TST3+2
PT31
TST4+2
PT4:
TST5+2
PT51
TST6+2
PT61
TST7+2
PT71
TST10+2
PT101
TST11+2
PT11!

044523

000116

,MESSAGES' ASCII STRINGS
MSG1!
.ASCI! <15><12>/SINI

001610

005015

045523

000105

M8G21

.ASCn

<15><12>/SKEI

001616

042524
040440
042105

352123
047502
000072

MSG3:

.ASCIZ

(15)<12>ITEST

1'101624
001632

005015
021440
052122

001640
001646
001654

005015
040440
042105

0511211
047502
000

043517
052122

MSG4:

.ASCI!

<15><12>/PROG ABORTED I

001657
001664
001672
001700
001706
001714

015
020104
047440
046511
020102
000105

051012
0421U
020113
041440
041101

040505
051522
051106
046131
053117

MSGSI

.ASCIZ

<15><12>/REAO HORS OK FROM CYLB ABOVEI

"01716
1'101724
0211732

054hl5
044040
000

041520
051104

042124
020075

MSG6:

.ASCI!

IEXPCTO HOR" I

0017)3
001740

040

050040

036503

MSG7!

.ASCIZ

0160040

005015
020114
044504
051440

047103
042122
047104
052105

051124
020131
052047
000

MSGl01

.ASCII

< 15>< 12> ICNTRL ROY DIDN'T SETI

001156
001764
001771
001776
002004
002012
002020
002026

123
020040
050040
020040
050040
000

041505
054105
044055
042522
044055

051124
041520
051104
053103
051104

MSG111

.ASCI!

ISECTR

001742
0017516

!:XPC P-HOR

SEQ 0026

<15><12>"R/W/S ROY NOT SET"

015
1'151457
047040
952105

051012
051040
052117
000

053457
054504
051440

MSG121

.ASCI!

1602053

040
021440

052040
000072

054522

MSG!31

.ASCn

002060
1'102064
002"72

005015
020105

051104
000

053111

MSG141

.ASCI!

<15><12>/ORIVE

002075
002100
002101
002102
002103
002104
002105
00210&
002101
002110
002111

040
040
040
040
040
1'140
040
040
040
040
040

020040

BLNI<13!
BLNI<10:
BLNKS91
BLNKS81
BLNI<12>/TIMOUT. PC-I
R0,-UP)

START. RESET
'CLEAR THE BUS
.SBTTL INITIALIZE THE COMMON TAGS
"CLEAR THE COMMON TAGS (tCMTAG) ARtA
MOV
"CMTAG,R6
,.rIRST LOCATION TO BE CLEARED
CLR
(R6)+
"CLEAR MEMORY LOCATION
CMP
UWR, R6 "DONE?
8NE
.-6
"LOOP BACK IF NO
MOV
UTACK,SP
, ,SETUP THE STACK POINTER
f' INITIALIZE rEW VECTORS
MOV
IIISCOPE, UIOTVEC:' ,IIOT VECTOR FOR SCOPE ROUTINE
MOV
,340,IUIOTVEC+2 J ,LEVEL 7
MOV
UERROR, tUEMTVEC' "EMT VECTOR FOil ERROR ROUTINE
MOV
U40,UEMTVEC+2 "LEVEL 7
MOV
UTRAP,.tTUPVEC, "TRAP VECTOR rOR TRAP CALLS
MOV
1340, 'fTRAPVEC+2, LEVEL 7
MOV
'IPWRON"'PWRVE~ "POWER FAILURE VECTOR
MOV
1340,tlPWRVEC+2 f ,LEVEL 7
CLR
nSCAPE
"CLEAR THE ESCAPE ON ERROR ADDRESS
MOVS
.1, URMAX
, ,ALLOW ONE ERROR PER TEST
MOV
.LPADR
INITIALIZE THE LOOP ADORESS FOR SCOPE
MOV
' . , .LPERR
I , SETUP THE ERROR LOOP ADDRESS
"SIZE rOR A HARDIfARE SWITCH REGISTER. IF NOT FOUND OR IT IS
, ,EQUAL TO A • -t", SETUP rOR A sorTWARE SWITCH REGISTER.
MOV
lIIlIERRVEC,-(SP)
i ,SAVE ERROR VECTOR
MOV
.641,.n:RRVEC:, ,SET UP ERROR VECTOR
MOV
'OSWJI,SilR
flSETUP rOR A HARDWARE SWICH REGISTER
MOV
.DDISP,DISPLAY i ,AND A HARDWARE DISPLAY REGISTER
CMP
UWR
"TRY TO REFERENCE HARDWARE SWR
BNE
661
, 'BRANCH Ir NO TIMEOUT TRAP OCCURRED
, UNO THE HARDWARE SNR IS NOT - -I
BR
65.
J' BRANCH Ir NO TIMEOUT
641.
MOV
U51,( 8P)
n SET UP FOR TRAP RETURN

786
787
789
789
790
791
792
793
794
795
796
797
791
799

8••
911
812

eu
814
8115
806

805227
.,01043
104401

002716
002722
002724
e02732
082734
002736
002740
082746
802746

'05737
.,01006
.23727
001005
104406
0""403
112737
.,"'424

003020
003020
003024
003026
08]032
0n036
083042
003044
003050
003.52
0e3.S6
""3062
003064

105737
001404
105037
000137
012700
105020
020"27
001374
U27el
04272'
""5201
001374

i'

II.,

.-1,

001140

65..

001142
6611

MOV
MOV
HOV

ISWREG, SWR
" POINT TO SOFTWARE !lWR
'OUPREG,DISPLAY
(SP)+,.U:RRVEC, ,RESTORE ERROR VECTOR

JSR
PC, UKINT
JlNITIALnE THE TTY HANDLER
.IBTTL TYPE PROGRAM NAME
"TYPE THE NAME or THE PROGRAM Ir FIRST PASS

020536

MACYl1 27 (1006) .4-0CT-76 14126
MAINDEC-11-DZRKL-O
TYPE PROGRAM NAME
31-AUG-76 15.35
DZRKLD.Ptt
"82704
082710
002712

,SET UP FOR TYPING OUT PC
,GO TYPE OUT OCTAL PC

RT!
000176
000174
000004

75111

751
752
753
754
755
756
757
75'
759
760
761
762
763
764
765
766
767
769
769
770
771
772
773
774
775
776
777
779
779
798
781
792
783
794
785

SEQ 0031

PAGE 16

SEQ 0032

'-I

177777
002750
.SSTTL
"00042
001140

000176

080081

001134

nl'

"FIIIST TIME?
INC
, ,SRANCH IF' NO
671
SNE
,681
TyPE
II TYPE ASCIZ STRING
GET VALUE rOR SOFTWARE SWITCH REGISTER
, , AFtE WE RUNNING UNDER XXDP/ACT1
TST
U42
691
BNE
"BRANCH IF YES
JJ SOfTlfARE SIfITCH REG SELECTED?
S\IIR,ISWREG
CMP
, • SRANCH Ir NO
701
BNE
I,GET SOFT-SWR SETTINGS
GTSWR
701
SR
.. ,UUTOB
"SET AUTO-MODE INDIC"TOR
MOVB

701.
BR
,,681.
.ASCIZ
67 ..
STARTt t TST8
BEQ
CLRB
JMP
MOV
CLR8
511
CMP
SNE
MOV
8IC
6"
INC
BNE

001216
001216
02311!16
001220

'*.

001232
177770
0"""03

671
"GET OVER THE ASCIZ
/RKll DYNAMIC TESTI<15><12>/MAINDEC-11-DZRKL-D/
,rUNC

H
FFUNC
UrUNBEG
IXXDPMD,R0
(R0)+
Re, .DRIVADt2

,rUNCTION PROGRAM SELECTED?
,NO
,YES, CLEAR THE FLAG
,GO TO 'rUNTION SELECTION PROGRAM'
, CLEAR rLAGS 'ROM
J 'XXDPMD' TO 'DRIVAD'

51
'-10,111
1l,(R0)t
Rl
61

'CLEAR 8IT 0'S IN 'ORIVE
,PRESENT' FLAGS.

,THE rOLLOWING CODE rINDS OUT THE PROGRAM CONTROL MODEl
,PAPER TAPE (MANUAL), ACTll, RKDP CHUN OR DUMP
003866
0031174
.m176

1227)7
881160
"13737

08.,012

0001141

001"4.

""1220

003104
003112
003114
003120
"03124
.,03126
013132

122737

001010

001220

003162
003162
003164
0U170

.eun
.03173
803174
883116
0U212
.U284
.U2U
"1113234

CMPS
8HE
MOY

UllIn
185037
0057)7
001424
184481
1"1413

081320

."""42

:21.

0"3134
, ,651'
641.

105046
113716
10448]

CLR
MOve
TYPO,
.BYTE

'0122"

,,,,.
'01

0"052"
115227

.IYTE
171717

:III

101115
1844ft
101411

CMPB
8HI
CLRB
TST
SEQ
TYPE
BR
.ucn

.03212
, ,6711
6611

BR
INC
BNE
TYPE

BR

.AScn

n,41
sn
n,XXDPMD

'LOADED rROM AN RK"5 ,
,8R Ir NOT
,GET DEVICE INDICATOR AND DRIVE ADDRESS or
,LOADING RK.5
,DRIVE ADDRESS 7 OR LESS ,
.10,XXDPMD
21
,BR If' YES
,DRIVE ZERO LOADED THE PROGRAM
XXDPMD
42
,CHAIN MODE OR ACTll AUTO ACCEPT
,8R IF NEITHER
31
,65t
, • TYPE AScn STRING
641
J ,GET OVER THE ASCIZ
<1I><12>/NOT TESTING DRIVE 1

-cap)

'CLEAR WORD ON snclC
,GET DRIVE ADDRESS
, TYPE THE ADDRESII
,ONLY 1 CHARACfl:R
1
8
,SUPREIS LEADING ZEROS
, GET NUMBER or DRIVES
ST2
,rIRST TIME THROUGH HERE
'-1
,8R IF NOT rIRST TIME
IT2
,671
"TYPE ASCI! STRING
661
"GET OYEFI TME ASCI!
<15><12>/TO TEST DRIVE 1
XXDPMD, (SP)

.,

MAINDEC-11-0ZRKL-D
MACYU 27(1006)
04-0CT-76
14126
PAGE 17
DZRKLD.Pli
31-AUG-76 15135
GET VALUE FOR SOP'TWARE SWITCH REGISTER
807
908

909
910
811
812
8t3
'114
815
816
8t 7
918
819
820
921
922
823

003234
0032)6
003242
003244
003245
003246
003252

00!!046
lll716
10440]
001
III 0 III
10441111
1Il00431

003136
003336
003342

104401
000435

001220

003254
, 169$1
69$1
003344
,,71S1
70S1

003436

003436

012737

002422

00001!!4

ST21

CtR
MOVB
TYPOS
,BYTE
.BYTE:
TYPE
BR
,ASCI!

: CLEAR WORD ON THE STACK
,GET DRIVE ADDRESS
: TYPE THE DRIVE AODRESS
:ONLY 1 CHARACTER
1
: SUPRESS LEADING ZEROS
o
,69t
"TYPE Ascn STRING
; I GET OVER THE Asca
68.
I HALT PROGRAM, REMOVE RKDP PACK AND REPLACE IT/<15><12>

TyPE:
BR
,ASCI!

,71$
nTYPE ASCn: STRING
701
: IGET OVER THE Ascn
IWITH A WORK PACK, CLEAR LOCATION 40, AND RESTART PROGRAM 1

MOV

'BADTMO, ERRVEC

SEQ 0033

-CSP)
XXDPMD, esP)

; SET TIMEOUT VECTOR FOR
I UNEXPECTED TIME OUT

924
825
826
827
828
829

ITHIS CODE FINDS WHICH DRIVES ARE PRESENT' PRINTS OUT THE DRIVE
: DRIVE NUMBERS THAT WERE FOUND ON LINE.
003444
003450

104401
000411

003452

830
811
832
833
834
835
9)6

817
838
9)9
840
841

942
843
844
R45
1146
947
848
849
95<1
eSl
952
853
854
855
856

8'51
aS8
859
860
861
862

003474
003474
003500
01113502
00)511l6
1Il03S10
1Il1ll3514
1Il1ll3516
1Il1ll)522
003524
01113530
1Il035)4
01113536
1Il03542
003546
1Il03550
1Il0)552

1 ;&5$:
64$1
105037
005001
012702
005003
005737
001403
120337
001411
1Il10177
105777
11110004
105237
052712
005722
1Il05203
062701

003556

01111354

0i'l3560
003564
003570
003572
003576

004737
105737
001010
104401
01110403

001224
001232

U:

001220
001220

6$1

175734
175716
01111224
000001

281
020000

024164
001224
003600
1167$1

,65S

,'TYPE ASCIZ STRING
" GET OVER THE ASCI!

TYPE
SR

64$

.ASCI!

(;15~'.!!12~/ORIVE!

PRESENT!

CLRB
C!"R
MOV
CLR
TST
BEQ
CMPB
BEQ
MOV
TSTB
BPL
INCB
BIS
TST
INC
ADO

ORIVS
Rl
.DRIV0,R2
R3
XXDPMO

IINITIALIZE NO. OF DRVS PRESENT

6.
R3,XXDPMD
28
Rl, ~RKDA
~RKDS

2$
DRIVS
It, (R2)
(R2)+
R3
.,0011l0,Rl

BNE

1$

JSR
TSTB
BNE
TYPE
BR
.ASCIZ

PC,SIZEF
DRIVS
3$
,678

66$
I

'lNITIALIZE COUNT TO 0
; LOADED FROM AN RK05 ?
IBR IF NOT
ICHECKING THE LOAD DRIVE
:BR IF YES
:ADRES A DRIVE
:I S IT PRESENT?
:NO, BRANCH
; INCREMENT TOTAL • OF DRYS
J SET FLAG INDICATING THIS DRV PRSNT
: INCREMENT COUNT
;ADRES THE NXT DRV
:CHKD ALL 8 DRIVES?
J IF NOT, GO CHK IF NEXT DRV PRSNT
J FIND WHICH ARE FS
; WERE ANY DRIVES FOUND?
:YES, BRANCH
JITYPE ASCIZ STRING
: IGET OVER THE Ascn

NONE I

6681

01113606
003606

000137

003612
003614
003620

005002
012700
11!!5710

JMP

SEOP

38 I

eLR

581

MOV
T5TB

R2
IDRIV0,R0
(R0)

015172

01111232

: IF NONE WERE FOUND, GO
; TO THE END OF PROGRAM
:DRIVE NUMBER
:TABLE OF AVAIL DRIVES
J OR IVE HERE?

1Il4-0CT-76
14126
PAGE 18
MACYII 27(1006)
MAl NDEC-II-DZRKL-D
3t -AUG-76 15135
GET VALUE FOR SO!l'TWARE SWITCH REGISTER
DZRK!"D,PII
863
864
965
866
867
868
969
87O

871
872
873
874
975
876
877
878
879
880
!l91
882
893
B84
885
886
AIl7
B88
889
893
891
892
993
894
995
896
997
898
899
9 III 0
931
932
903
904
905
906
9PJ7
908
909
910
911
912
913
914
915
9t6
917
918

11103622
003624
003626
0036311l
1"03632
o III 3634
003635
O03636
OO3642
003644
0eJ36511l

001414
104401
001213
1Il10246
104403
o III 1
O00
032710
001404
104401
000401

O03654
003654
003656
0036611l
003664

005202
005720
1Il20027
002755

000002
O03652
: 169$:
68$1
4$:
1Il01251

4$

:NO

R2,-(SP)

:PUSH NO ON THE STACK
;TO TYPE OCTAL NO.
:TYPE 1 DIGIT, SUPRESS LOG ill'S

BEQ
TYPE
SCRLF
"IOV
TYPOS
.BYTE
.BYTE
BIT
SEQ
TYPE
SR
,ASCIZ

1
0
.2, (R0)
4$
,69$
68$
IFI

INC
TST
CMP
BLT

R2
(R0)+
R0, JDRIV7+1
5$

;IS IT RKIIl5F?
:NO
;,TYPE ASCIZ STRING
nGET OVER THE ASCIZ

: POINT TO NEXT DRIVE II
:NEXT DRIVE IN TABLE
;ALL DONE?
:110, CHECK REST

IFIND OUT THE FIRST (FROM 1Il-7) DRIVE THAT IS PRESENT.
PUT THE ADDRESS
;OF THAT DRIVE IN 'DRIVAD',
INDICATE THAT DRIVE II WILL
JBE TESTED.
1:103666
003674
003700
O03704
003710
003714
003720
003724
003726
003732
003734
003740
003744
"0]146
01113752
003156
003762
003764
0037711l
003774
003776
004004
00401 III
004014
004020
004022
004924
O04026
004030
004032
004034
004036
004037

012737
105037
005037
111l!!037
005037
013701
032721
001005
020127
001372
00eJ137
011U37
014104
005037
00SIIl37
032704
001410
005237
032704
001003
012737
042704
010437
104401
000241
006104
006104
00611114
006104
010446
104403
001
000

001232
001223
001230
001102
001112
001226
000001

01111226

001252
015172
001226
002116
002114
000002
O02116
020000
177777
000003
001230
002064

002114

STl:

MOV
CLRB
CLR
NXTDRYa CLRB
CLR
MOV
181
BIT
BNE
4$:
CMP
BNE
JMP
2$ I
HOV
MOV
CLR
CLR
BIT
BEQ
INC
BIT
BNE
MOV
71.
BIC
MOV
TYPE
CLC
ROL
1'101.
1'101.
ROL
MOV
TYPOS
.BYTE
.BYTE

.DRIV0,DRVPTR
DRVDON
DRIVAD
nSTNM
$ERTTL
DRVPTR,Rl
'1, (R1)+

2a
Rl,IIDRIV7+2
1$

SEOP
Rt ,DRVPTR
-CR1),R4
FDRVEI
FDRIVE
'2,R4

7S
"DRVEl
.20000,R4

71
' - I . P'DRIVE
Il,R4
R4,DRIVAD
,MSG14
R4
1'14
R4
R4
R4,-CSP)

:RESET TEST NUMBER TO 1
,CLEAR ERROR COUNT FOR THIS DRIVE
,IS THIS DRIVE PRESENT?
/YES, BRANCH
ICHECKED THE WHOLE LIST?
rNO
/YES, EXIT
:NO, GO AHEAD
JGET DRIVE NO. TO BE TESTED
,SHOWS F IF -I
,RK-05F?
:NO
,SHOWS F
IEVEN DRIVE?
rNO
IRK05 .. AND EVEN
,SET UP DRIVE ADRES

,TYPE OUT THE DRIVE NO.

SEQ 0034

MUNDEC-U-DZRKL-D
MACYll 27(1006) e4-0CT-'76 14126 PAGE 19
DZRKLD.'11
11-AUG-76 151lS
GET VUUE FOR sonWARE SWITCH REGISTER
919
920
921
922

1104040
004044
004046
e04052

00573'7
001404
104401
000401

002116
004054

,,65,.

92]
924
925
926
927
928
929
9]0
931
9]2
9]3
9)4
9]5
9]6
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
95]
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974

FDRVE1
61

,u.

641

IFI

105037
032777
001445

001222
0ee400

104401
000410

004100

175058

LUPSN
nIl8,UWR
TSTl

TYPE
BR
.A8CIZ

I I TYPE ABC IZ STRING
I I GET OVER THE ASCI!
661
(1 !I>(12)IOCTAL TEsntl

stl

,,67"

ICLEAR P'LAG INDICATING SW8 SET
,SN 8 SET?
INO, BRANCH

CLRB
BIT
BEQ

,67.

6611

e04120
004120
0eU22
004124
004126
004132
004134
004140
004142
004144
004152
004160

104412
012600
001762
020027
003357
110037
005300
0116300
016037
013737
105237

1'1'1560
001106
001222

004164

000177

174716

004170
004172
004174
004176
een"0
004202

005000
"05eel
005201
001176
105200
00tl74

000011
001102
001106
001110

RDOCT
MOV
8EQ
CMP
BGT
MOVB
DEC
ASL
MOV
MOV
INCB

R0,nSTNM
R0
R0
PTl (R0), .LPADR
.LPlDR, 'LPERR
LUPSW

JMP

ULPADR

(SP)+,R0
5.
R0,Ul

!II

,CHECK TYPED IN TEST •
115 LEGAL, IP' NOT ASK
,P'ORM POINTERS FOR THE TEST.
,ADJUST POINTERS FOR SCOPE
,LOOP, ETC.
,SET FLAG INDICATING TEST
,SELECTED
,GO TO THE TEST SELECTED

ION RECOVERY FROM POWER rALIURE RETURN HERE
PWRP'LI
111

CLR
CLR
INC
BNE
INC8
8NE

R0
Rl
Rl
11
Rlil
U

I , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
,.TEST 1
CHECK INNER LTMIT SWITCH' ELECTROMECHANICAL INTEGRITY
I.THIS TEST PERFORMS 200(8) PURE SEEKS P'ROM CYLINDER 0
IT IS SUPPOSED TO
I.TO CYLINDER 112 AND BACK TO 0.
,.CHECK THE INNER LIMIT SWITCH AND THE MECHANICAL
I.INTEGRITY or THE DRIVE. NOTE THAT A VISUAL CHECK FOR
,ANY MECHANICAL FAILURES WOULD BE VERY HELPFUL.

004204

,,..........•.........•.....•....................................

UTll

000004

SCOPE

MACHI 27(1006)
'4-0CT-76 14126 PAGE 20
MAI NDEC-I1-DZRKL-D
Tl
CHEC« INNER LIMIT SWITCH , ELECTROMECHANICAL INTECRITY
31-AUG-76 15135
DZRKLD.Pll
975
976
977
978
979
980
981
982
993
984
995
986
997
988
989
999
991
992
993
994
995
996
997
998
999
1000
10151
1002
10,3
lB04
1005
1006
1007
1008
1009
lBt0
1011
1012
1011
1014
l't 5
1016
1 •• 7
.018
1019
1020
1021
1022
1023
1024
1025
If/I26
1027

tna

1029
10)8

SEQ 0035

JRK-05F?
,NO
"TYPE ASCIZ STRING
"GET OVER THE ASCIZ

6411
611
IIF SW 8 IS SET THEN P'IND OUT WHICH TEST NUMBER IS
I aELEenD AND JUMP TO THA T TEaT.

004056
004056

0114056
e04062
004070
004072
004072
1104076

TST
BEQ
TYPE
BR
.UCIZ

"04206
004210
004212
004214

005000
005'''1
"0!1002
0127]7

004222
0.4226
004232
004236

"12703
012704
012705
000402

004240
004242
004244
004246

005703
001403
005003
104415

004250

104416

004252
004260
004264
004270
004272
094276

013777
050277
105777
100406
004737
104030

00U00
004]02
00U04

005203
005205
0'1515

00U06
00U14
'0U16

012777
"05200
001007

00'011

00U20
00U24

0047]7
104001

0UlB6

00U26
"04330
004332
0"U34
"'4336
0.un

,052e!
005204
001502
"'.403
105777
108364

0.U44
00U46
004354
"'4156
,0U69
.04362
'''4166

"0!1'1Il0
"32777
"0101f11
0.52".
'01372
1047]7
184006

,,,U'70
0"U72
I.U74
0un6
"04404

'''5203
'"5204
001461
032777
011406

004246

001118

001266
1777&7
177770
UI
2'1
20U

CLR
CLR
CLR
MOV

R0
Rl
R2
'2ft,eLPERR

MOV
MOV
MOV
BR

nUFR,R3
'-11,R4
.-18,R5
2.

TST
R3
BEQ
3t
CLR
R3
CON.REIIET
DRV.RESET

001230
175200
175162

175204

UI

016106

175142

1'75114

2UI

U.

5',
681

' •• U0

1750"

016186

MOV
BIS
TSTS
8141
JSR
ERROR

DRIVAD"RKDA
R2,'RKDA
.RKDS
21'
PC,GT4RC
30

INC
INC
BEQ

R3
R5
181

MOV
INC
8NE

'11 ,tRKC-S
R"
5t

JSR
ERROR

PC,GT4RG
1

INC
INC
BEQ
SR
TSTS
sPL

R]
R4
1..

CLR
BIT
SNE
INC
8NE
JaR
ERROR
INC
INC
BEQ

"'10'0

1'75146

'7$1

BIT

BEQ

..

;INITIALIZE COUNT
,INITIALIZE COUNT FOR • or SEEKS
,CONTUNS SEltK ADRES
,SET RETURN AD RES FOR LUPING
ION ERROR
, INITIALIZE POINTER TO THE TABLE
,ALLOW ONLY 9 CNTRL-RDY, SIN, OR RlwlS ROY ERORS
lALLOW ONLY 8 DRU+DRE+ERR+DRY ERRORS
,WAS THE"E ANY ERROR?
,NO, BRANCH
'CLR EROR FLAG
,GO DO CNTRL RESET. SUB ROUTINE
IAT 'CNT.RST'
;CO TO 'DRV.RST' , DO DRV RESET
I ADRES THE DRIVE
,SET SEEK ADRES
,DRIVE ROY?
Ins
,NO, GET RKCS, ER, OS, DA
,DRIVE RDY BIT IS NOT SET
,IN RICDS
,SET ERROR FLAG
,ALLOH ONLY 5 ERORS, IP' MORE
,ABORT
IGO, SEP.:K
,WAIT FOR CNTRL ROY
,WAITED LONG?
, IF YES, ERROR
,GO, GET RKCS, [Fl, DS, DA
ICNTRL ROY DIDN'T SET AFTER
ISEEK WAS DONE TO CYLINDER
,SHOWN IN RICDA. GO TO 'RK! 1 LOGIC TUTS'
,SET ERROR FLAG
,EXIT THIS TEST IF THERE R 5 OR MORE ERRORS

U

tFlKCS

,DID CNTRL RDY SET?
,IF NOT WUT FOR IT

R'
1t00,tRKDII

JINITIALIZE COUNT
,RIHIS ROY SET?
IYES
,WAIT FOR RIIiIS RDY

71
R0
61+2
PC,GT4RG
6

R3

R4
lit
Ul!lel!ltllRKDS

at

,GET RKCII, ER, OS, DA
,RIIIIII ROY DID NOT SET IIHEN SEEK
'WAS DONE TO CYLINDER INDICATED IN RKDA
I SET ERROR FLAG
,IF MUM EROR COUNT, ABORT
,SIN ERROR?
,NO, BRANCH

SEQ O036

14126 PAGE 21
84-0CT-76
MAlNDEC-l1-DZRKL-O
MlCn1 27(1006)
CHECK INNER LIMIT SWITCH .. ELECTROMECHANICAL INTEGRITY
3i-AUG-76 15135
T1
DZRKLD.Pl1
1031
1032

JSR
ERROR

PC,GT4RG
2

INC
INC
BEQ
TST
BPL

Rl
R4
188
@lRKER
10.

004406
004412
004414
004416
004420
004422
004426

005203
005204
001447
005777

004430
004434

004737

JSR
ERROR

PC,GT4RG

1040~3

004436
004440
004442

005203
005205
001767

INC
INC
BEQ

R3
R5

004444
004450
004452
004456

005777
100006
004737
104004

TST
BPL
JSR
ERROR

'RKCS
12.
PC,GT4RG
4

004460
004462
004464

005203
005205
001425

INC
BEQ

R3
RS
18S

004466
004474
004476
004502

032777
001406
004737
104005

BIT
BEQ
JSIl
ERROR

'2000,@lRKDS
15S
PC,GT4RG
5

004504
004506
004510

005203
005205
001413

INC
INC
tlEQ

R3
R5
185

004512
004514

005702
001402

TST
BEQ

R2
16S

004516
004520

005002
000647

CLIl
Bil

R2
1$

: WAS SEEKING TO 0 OR 312?
: TO 0, BRANCH
ITO 312,
:SEEK IIXT TIME TO
:GO BAK & SK TO 0

004522

012702

MOV

U4500,R2

:SEEK NXT TIME TO 312

004526
00453'"

005201
022701

INC
CMP

Rl
'200, R1

:DONE SEEKS 200 TIMES?

0~45H

001241
0004114

BNE
RR

1$

TST2

:IF NOT. GO BAK
; !EXIT

016106

1033
1034
1035
1036

1037
un8
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1352
1053
i054
1055
1056
1357
1"'58
1059
106;j
1061
H)(I)2
1063
1064
1065
1066
1067
ta68
11'69
1070
1071
1072
1073
1~74

1075
Hl76
1"77
11178
1079
1080
1081
t0~2

175026

881

1~0006

016106

175006

10S1

016106

INC
002000

174756

1211

016106

15$1

014500

16$1

000200

1

8S

SEQ 0037

,GO, GET RKCS, ER, OS, DA
,SIN ERROR, ON DOING SEEK TO
,cn AS SHOWN IN F!KDA
,SET ERROR FLAG
,IF MAXM EPOR COUNT REACHED,
J ABORT THE TEST
lORE ERROR?
INO. BRANCH

004737
104002

,GO, GET RKCS, ER, OS, DA
'OPE ON DOING SEEK TO CYLINDER
: AS SHOWN IN RKDA
,SET ERROR FLAG
: IF MUM EROR COUNT REACHED,
: ABORT THE TEST
J 'ERP' BIT IN RKCS SET?
,NO, BRANCH
:GO, GET RKCS, ER, OS, DA
,'ERR' IN RKCS SET, ON DOING SEEK
: TO CYL AS SHOWN IN RKDA. NOTE
: WHICH BIT IN RKER SET?
: SET ERROR FLAG
; iF MAXM EROR COUNT ~EACiiED,
I ABORT THE TEST

IDRU SET?
,NO, BRANCH
,GO, GET RKCS, ER, OS, DA
IDRU SET, THIS IS AN IRRECOVERUL,E
,ERROIl.
HENCE PUT THE DRIVE ON
ILOAD, BACK TO RUN.
DRU ERROR
,SHOULD BE CLEARED, IF IT IS NOT
: 1) THE HEAD POSITION TRANSDVCER LAMP
JIS INOPERATIVE
: 2) OR ERASE OR WRT CURRENT PRESENT
:WITHOUT 'WRT GUE'
: SET EROR FLAG
: ALLOW ONLY 5 ERRORS
J IF MORE THAN 5
,GO TO THE END OF THE PROGRAM

hH!3
1084
1085
1086

004536

MAINDEC-II-DZRKL-D
MACYll 27(1006)
04-0CT-76
14126 PAGE 22
H-AUG-76 15135
CHECK INNER LI"'IT SWITCH & ELECTROMECHANICAL INTEGRITY
DZRKLD.Pl1
T1
1 OjR7
1088
1089
1090
1"91
1092
1093
1094
1095
1096
1097
1098
.1099
t100
1101
1102
1103
1104
1105
1106
1107
1108
1 Hl9
11 ~ 0
1111
1112
11 I 3
1114
1115
11 I 6

1117
11 18
11 19
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130

1131
1132

1133
1134
lll5
In6
1137
1138
1119
1140

1141
1142

034540
004544

104401
000137

001640
015150

004550
004552
00456'"
004564
004566
004572
004574
004574
00460'"
004604
0046hl
004614
004020
004622
004624

001110P14
0137 37
005737
001003
"'05737
0>11125
012702
012703
11112701
012705
013704
104415
104416
005000

177152
177764
177773
177773
001230

004626
004632

"05777
100001

174624

004634

104415

004636
"04641'1
004644
004646
004652
004660
01'14664
004672

1'105046
012746
000002
010437
012777
010417
012777
012737

004700

012177

004706
004710
1'104716
004720
004724

104421
032777
001413
"04737
104007

0""230
002114

1851

002120

002116

TYPE
JMP

,MSG4
TST12

: ,****** •• ***.**********************************.****************
FORMAT THE DISK
:*TFST 2
,*THIS PIlOGRAM ASSUMES AN UNFORMATTED DISK AND ITS
:*FORMUTING IS DONE IN THIS TEST. A SECTOR IS FORMATTED
THE FIRST OWRD OF EVERY SECTOR IS WRITTEN
I*AT A TI!!!!:.
I *TO BE A PSUEOO-HEADER CONTAINING THE DRIVE #, CYLINDER
, . . , SURFACE AND SECTOR ••
THE FOLLOWING IS CHECKEO
'SIN' IF 'SIN' OCCURS, A DRIVE RESET IS OONE
J *1.
,*AND THE SA!(E SECTOR IS FORfolATTED AGAIN,
THREE
:*RETRIES ARE DONE BEFORE AN ERROR MESSAGE IS PRINTED.
'ERR' ON FINDING THAT THE 'ERR' BIT SET, RKEIl
,*2.
,*SCANNED TO FIND OUT WHAT CAUSED IT AND THE
,*ERROR IS REPORTED.
: J *** •• ****.****.*******.*.**********.**************.************
TST21
SCOPE
MOV
DIlIVAO,DRHOLD
,SAVE DRIVE NUMBER
TST
FDRIVE
: SEE IF EVEN RK-05F' DRIVE
BNE
118
rYES
FDRVEl
TST
: ODD RK-05F?
BNE
TST3
: DO NOT FORMAT IF 000 RK-05F

IUs

411

Us

MOV
'-626, R2
1-14,R3
folOV
1-5, Rl
MOV
1-5, R5
MOV
DRIVAD,1l4
MOV
CON.RESET
DRV.RESET
R0
CLR
TST
BPL

@lRKCS

3.

CON. RESET
3as

: 203 CYLINDERS, (406 TRAKS)
112 SECTORS
:ALLOW ONLY 5 'SIN' ERRORS
,ALLOW ONLY 5 'ERR'S
I STORE: AORES OF DRIVE.
,GO TO 'DR-RST' & 00 DIlIVE RESET
,KEEP COUNT OF 'SIN' ERORS
J ALLOW 1 RETRIES ON SIN
,ERR?
INO
,GO TO 'CN-RST' .. 00 CONTROL RESET

-CSP)
t12.,-(SP)

026362
026362
174600
177777
004620

174566
01'11110

CLR
MOV
RTI
MOV
MOV
MOV
MOV
MOV

0021'103

174550

MOV

'2003,@lRKCS

:GO WRT F'MT

CON.RDY
BIT
BEQ
JSR
ERROR

U000,(lRKDS
6.
PC,GT5RG
7

,WAIT FOR CONTROL READY
JWAS THERE A SIN?
INO, SKIP DOING DRV RESET
,GO, GET RKCS, ER, OS, DA, CYLINDER
, SIN ERROR ON TRYING TO

004646

0011'11'11'1
016062

12U
174602

174534

511

R4,OUTBUF
.0UTBur, ~RKBA
R4,@lRKDA
1-1, (lRKWC
IU,tLPERR

,SET PRIORITY TO ZERO
I WRITE THIS WORD
,FROM THIS ADRES
ION THIS DISK SECTOR
I WRITE 1 WORD
: SET RETURN ADDRESS FOR
:LUPING ON ERROR

SEQ 0038

84·0eT·76 14126 PAGE
MACYlt 27(1006)
MUNDEC-l1-DZRKL-D
T2
l1·AUG-a 15135
'ORMAT THE DISK
DZRKLD.Pll
1143
1144
1145
1146
1147
1149
114Q

1150
1151
1152
1151
1154
1155
1156
1157
1159
1159
1160

1161
1162
1163
1164
1165
1166
1167
116a
1169
1170
1171
1172
1173

1174
1175
1176
1177
117a
1179
lla0
1181
1182
1183
1184
11a5
1186
1187

004126
004730
004732
004734
004740

1044U
104416
005200
022700
001332

:n

eON.RESET
DRV.RESET
A0
INC
B,R0
CMP
8NE
1&+2

000003

084742

005201

INC

R1

004744
"04746
"04752
"84754
084768

001436
,,05777
100005
8047)7
104018

BEQ.
TST
BPL
JSR
ERROR

9t
.RKCS

,.

084762
004764
004766
004770
004772

005205
001426
085204
085203
001314

INC
BEQ
INC
INC
BNE

R5
9t
R4
R3

004714
005000

012703
042704

177764
000017

MOV
BIC

'''14,R3
117, R4

005004
005010
005012
005014
005020
005022
005030
005032
005040

062704
005202
001304
005217
001004
062737
000661
013737
000402

000020

ADO
INC
BNE
INC
8NE
ADD
BR
MOV
BR

'20,R4
R2
FDRIVE
101
.20000,DRlVAD
118
DRHOLD, DR I YAD
TST3

005042

004737

016716

JSR

PC, ABRT

t74594

681

016062

781

au

002114
020080

001230

082120

001230

10U

UI

PC,GT5RG
10

It

U

SEQ 0039
I WRT 'MT ON CYLINDER U
1 RETRIES
I INDICATED IN RKDA.
JARE DONE
, NOTE THAT BEFORE
, RETRYING A DRIVE RESET WAS DONE
JGO TO 'DR-RST' , DO DRV RESET
,INCRMNT SIN COUNT
IALLOW 3 RETRIES WERE THERE 3?
I I ' NOT. GO , RETRY
IALLOW ONLY 12 SIN ERRORS
lIP' MOAE THAN 5 EXIT THIS TEST
I I f MORE THAN 5 EXIT THIS TEST
1010 'ERR' BIT SET IN RICCS?
INO, BRANCH
,GO, GET RICCS, EP, DS,OA,ClL
,'ERR' OCCURED WHILE DOING
,WRT fMT ON SECTOR, CYLINDER
J AS INDICATED IN RKDA.
IALLOW ONLY 5 'ERR'S. IF
I MORE THAN 5 EXIT THIS TEST
IINCRMNT DISK ADRES TO NXT SCTR
,ALL 12 SECTORS DONE?
rIF NOT, GO BAK , FMT NXT SCTR
IIf YES
I RESET COUNT fOR 12 SECTORS
,CLR OUT SEC BITS
IADRES THE NXT TRAK TO B FMTED
I ALL TRAKS fMTED?
I I f NOT GO BAK B FMT NXT ClL, SUR
,EVEN RK0SF1
INO
I'ORMAT 000 DRIVE Of r
,RESTORE DRIVE ADDR
IIEXIT

I , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
,.TEST 1
READ FORMAT or THE DISK
IN THIS TEST, THE HEADERS rROM ALL THE SECTORS AIlE READ
THE FOLLOWING IS THE
,
CHECICED
IF THEY ARE CORRECT.
I·
TEST SEQUENCE.
1. READ 12 SECTORS (HDRS ONLY) AT A TIME
IF THERE IS A 'SIN' ERROR RETRY ONCE MORE, IF SAW AGAIN
2.
REPORT ERROR' READ HEADER rROM NEXT CYLINDER
3. IF THERE IS 'ERR' IN RKCS, DO A CONTROL RESET, REPORT
IF THERE ARE
ERROR , READ HEADER FROM NEXT CYLINDER.
MORE THAN 5 ERRORS OF THIS KIND, THIS TEST WILL BE EXITED
THE 12 HEADERS ARE CHECKED.
IF THEY ARE CORRECT THE
4.
I· NEXT CYLI NDER IS READ.
I f THEY ARE NOT CORRECT, A RETRY IS DONE, Ir AGAIN CORRECT
HEADERS ARE NOT RECIEVED, AN ERROR IS REPOPTED. THE
SECTOR . ' S GIVING THE BAD HEADERS, , THE BAD HEADERS ARE

,.
,.,.
,.,.
,.,.,.
,.
,.
,.,.

U88
1189
1190
1191
1192

1193
1194
1195
1196
1197
1198

MAINDEC-ll-DZRKL-D
MACYll 27(1006)
04"OCT·76 14126 PAGE 24
DZRKLD.Pll
31 .. AUG .. 76 15135
T3
flEAD FOIUUT OF THE DISK
1199
1200
1201
1202
1203
1204
1205
1206
1267
128a
1209
1210
t 2tl
1212
1211
1214
1215
1216
1217
1219
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232

1233
1234

1235
1236
1237

12)8

1239
1240

1241
1242
1243

,,•••.•.••••••••.••••.•••••••••.•••.•••.••••..•••••••••••••••••*.
TST31

SCOPE

005046

000004

"05050

012737

177773

001504

MOV

005056
"05064
005072
005076
005104
005106

012737
012737
013705
012737
104415
104416

177766
177773
001230
177152

001506
001510

MOV
• ·12, ERCNT2
MOV
'''5, ERCNT 3
MOV
DRIVAD,R5
MOV
'.626,INDX2
CON. RESET
DRV.RESET

IALLOW ONLY 5 ERRORS CO, BAD HEADER
IKIND rROM 5 CYLINDERS)
IALLOW ONLY 12 'ERR'S
,ALLOW ONLY 5 ERRORS
,SET DRIVE " ClL ADRES-0
111l CYLS (626 TRAKS) TO BREAD
I GO 00 CONTROL RESET
,GO 00 DRIVE RESET

005110
005114

005037
005037

001254
001252

CtR
CLR

RETRY2
RETRYl

,ALLOW 2 RETRIES IF HDRS READ WRONG
IALLOW 2 RETRIES FOR 'SINS'

0.5120
005126
005132
005140

012777
010571
012777
IiH2737

026362
174332
177764
005104

174320
001110

MOV
MOV
MOV
MOV

'OUT8UF, .RKSA
R5,tRKDA
."14,UKWC
IU,U/PERR

,RO HDRS INTO LOC STARTING AT THIS
IFROM THIS DSK AD RES
I 12 HDRS TO BE READ
,SET RETURN ADRES FOR LUPING ON ERROR

002005

174302

MOV

.2005,tRKCS

005146

012777

.05154

104421

•• 5156
0.5164
"'5166

.32777
.01420
11.4737

001476

UI
111

2 ..
174334

III

.-5, ERCNT1

0010110

174266

581

016140

BIT

UII00,tRKDS

BEQ

61

JSR

PC, GETINr
11

'05172

104011

ERROR

"'5174
005176
"52'"
11.5284
0.5212

184415
104416
005237
022737
001342

CON. RElET
DRV.RESET
INC
R!TRYl
CMP
'2,RETRYl
8NE
U

005214
11115220
1105222

"05237
".1002
11'''137

"'5226
815232
'05234
"115240

1185777
1081110
004737
104012

0115242

1044U

"'1252
0111111812

001252

INC
BNE
JMP

001510
005532
174224
016062

6 ..

TIT

ERCNT]

or

THIS CYLINDER

,'UN' tRROR?
INO, BRANCH
,'SIN' OCCURED WHEN DOING RD 'MT
IrROM CYL SHOWN IN RKDA.
IT
,00 CNTRL RESET
,GO, DO DRIVE RESET
,ALLOW ONLY :2 RETRIES FOR THIS ERROR
,IF TRItD 2 TIMES REPORT
,ERROR, OTHERWISE GO BAK , RETRY
,WAS TRIED TIfICt:. BUT 'SIN'.
,ALLOW 5 ERRORS AT MOST

61
161
tRKCS

BPI.

71

JSR
ERROR

PC:,GTSRG
12

1251
1254

:GO, RD FMT

,lIAIT FOR CNTAL RDY TO SET

CON.RDl

1244
1245
1246
1247
1248
1249
125'
1251
1252

SEQ 0040

,. STORED.
I. 5. Ir INHIBIT TYPEOUT' SWITCH IS NOT SET, THE FIRST WORDS Of
,. THE 12 SECTORS (PSUEOO·HEAOERS) ARE READ.
IN A PREVIOUS
,. TEST THE FI RST WORD OF EVERY SECTOR WAS WRITTEN
,. AS A SOFTWARE HEADER (CONSISTING OF DRIVE I, CYL., SUR, SEC')
,. THEN THE SECTOR • GIVING 8AD HEADER, EXPECTED PSUEDO"HEADER,
,. , THE PS-HEADER RECIEVED ARE TYPED OUT.
THIS WOULD
,. WRONG, HEADER WAS READ WRONG, ETC.
,. 6. THE NEXT CYLINDER IN LINE IS READ.
ORDER OF READING IS
,. CYL0,SUR0
CYL0,SURl
CYLl12,SURI

eON.RESET

I 'ERR' IN RKCS?
,NO, aRANCH
,GO, GET RKCS, ER,DS,DA,CYLNDR
I 'ERR' SET WHILE DOING RD ,.toIT
,FROM
SHOWN IN RKOA
I GO DO CNTRL REStT

cn

MAl NOEC-ll-0ZRKL-O
MACY11 27 (1006)
04-0CT-76
14126 PAGE 25
OZR!(t.D.Pl1
31-AUG-76 15135
T3
PEAO FOR"iIlT OF THE DISK
1255
12'56
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277

i21S
1279
1280
1281
1292
1283
1284
12115
1296
1297
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
131'12
1303
131:'4
lJI'I5
1306

1307

005244

005237

005250
005252

001532
000520

005254

004737

007204

905260
005264

905737
001513

001590

905266
005274

012737
104013

005114

905276
005302
005310

005237
922737
00U01

001254
099002

0053i2

00523;

001506

781

001110

001254

SEQ ;3041
IALLOW ONLY 12 ERRORS OF THIS
IKINO, IF ~ORE THAN FIVE ERRORS
ISKIP THIS TEST
I,EXIT
I GO SET UP TO RD FMT FROM NXT
ICYL IN LINE
I CHECK THAT CORRECT HEADERS WERE REevo.
,SECTR • HAVING BAD HDR IS STORED ALONG
IWITH BAD HDR

INC

ERCNT2

BEQ
BR

TST4
14$

JSR

PC.CHKHDRS

,GO CHECK IF CORRECT HEADERS WERE READ

TST
BEQ

INDX3
14$

I WAS THERE A MISCOMPARISON1
,IF NOT, GO SET UP TO RD FMT
INXT
IN LINE

MOV
ERROR

'2' I SLPERR
13

INC
CMP
BNE

RETRY2
12, RETRY2
2$

INC

ERCNTl

cn

,CORRECT HDRS WERE NOT RECVD
,FROM SECTRS AS TYPED OUT.
lTHE SAME CYLINDER WAS READ TWICE
l RETRY RD FMT ON SAME
AGAIN
,TRIED RDING SAME CIL TWICE
I IF NOT, GO RD AGAIN
I YES, REPORT ERROR

cn.

; ALLOW ONLY 5

ER~CR5

Of THE

IABOVE TYPE.
IF MORE THAN 12
,EXIT THIS TEST
005316

BEQ

00151'15

16$

20$1

095320

905320
005326

032777
001072

020000173612

BIT
BNE

1120000. ~SWR
148

005330
005334
905340
005346

912701
0t0577
912777
012777

177764
174124
026362174114
177777 174Hl4

MOV
MOV
MOV
MOV

,-14,R1
R5,(!lRKDA
II OUTBUF, !0, THERE WAS.
: NO, THERE WASN'T. HDRS OK
:ONLY 2 TRIES rOR SKE
: BRANCH IF THIS WAS A 2ND TRY
~ TYPE OUT THAT HD~S W!RE READ
THIS WAS TRY • 1
,CORRECTLY.

TST

INDXl

BNE

10.

INC
BEQ
'i'lPiiiSG

RETRY1
121

BR

lU

INC
BEQ

RETRYl
148

MESAGE

.15

RESOON
JSR
8R

001657

PC,SBRI

,HDRS WERE READ INCORRECT.
,ALLOW 2 TRIES rOR SKE
,8RANCH, IF THIS WAS 2ND TRY
'THERE WAS SKE ON DOING IMPLIED
:SEEK TO 'CYL B'. THEN HDRS WERE
~READ FROM CYL 8, WRONG HORS
:RECVD
,WAIT FOR PREVIOUS DRIVE RESET
ITO BE DONE
,GO. REPOSITION HEADS

U

TYPMSG

,MSG5

BR

161

lUI

MESAGE

,15

1681

RESDON

1281

000015

,MSC5

,2ND TRY, SKE THIS TIME ALSO. BUT
: READ HDRS CORRECTLY rllOM
:CYLINDER THAT GAVE SKE
, NOTE THI S WftS THE 2ND TRY
: TYPE OUT THAT HDRS WERE
: READ CORRECTLY.

:2NO TRY, SKE THIS TIME ftLSO.
: READ HDRS FROM eYL THU
: GAVE SKE, THEY WERE INCORRECT.
: WUT FOR PREVIOUS DRIVE IIESET

MAUDEC-U-DZRKL-D
MftCY11 27(1906)
94-0CT-76 14126 PAGE 30
DZRKLD.Pl1
H-AUG-76 15135
T4
SEEK PUTERNS: 9-312-13-311- ... ,USING IMPLIED SEEK
1535
1536
1537
15)8
15]9
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
t 559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1579
1571
1572
1573
1574
1575
1576
1577
1518
1579
1580
1581
1582
1583
1584
1585
1586
1587
1599
1599
1590

:TO 8E DONE
096164

995237

1306170
006172

0131002
090137

006176
0136200

005794
091097

001506

0"654"
1781

INC

ERCNT2

~

8NE
JMP

17.
EXN

: EXIT THIS TEST IF MORE

TST
8NE

R4
19$

ALLOW ONLY LESS THAN 113 ERRORS or
:THIS TYPE CSKE)

: WENT LAST TIME IN OR ouT?
lOUT

:IN
: WERE HDRS CORRECT?
:NO
rYES

TST
8NE

113
19.

096452

INC
JSR

R4
PC,S8Rl

090137

995602

J"IP

IS

:GO POSITION HEADS 8AK ON INNER
:CYL
J GO 8ftK " SEEK OUT NO..,

095237
091547

091476

INC
BEQ

INDX2
TST5

:ALL SEEK PATTERNS DONE?
: 'EXIT

096226

162737

090940

906234

095994

ge6236

99"137

: SET ADDRESS rOR THE NXT
:INNER CYLINDER
: INDICATE THAT NOW SEEK IS GOING
,TO BE IN
:GO 8AK , SEEK IN TO 'INADR'

996292
006204

005793
091005

"06206
096210

095294
004737

006214
006220
006224

18$ :

19$:
001269

995602

906242

SUB

He,INADR

CLR

R4

JMP

11

20St

7Ir THERE WAS NO SIN OR SKE
:ENTER HEliE

006242

012737

905624

006250
096254
096256
"06264
006272

020537
001471
013737
0627)7
0047)7

026362

096276
,,96302
806310

010537
013737
104916

001166
026362

006312
006316
006320

005237
001402
900137

001254

INC
BEQ

0951:132

JIIIP

21$
13$

096324

004737

096476

JSR

PC,S8R2

001254
090083
016322

001110

001172
901172

001179

2U,

SEQ ee45

,GO PRINT 'SKE'
,IMPLIED SEtK WAS TRIED FROM
, 'CYLA' TO 'CYLB' (INDICATED
,IN EROR MtsAGE)' 'SKE' OCCURRED.
,2 TRIES ARE DONE.
,DO CONTROL RESET

MOV

n',SLPERR

CMP
8EQ
MOV
ADD
JSR

R5,OUTBur
241
RETRY2, SREG4
n"REG4
PC,ERRI

1110 V
MOV
ERROR

R5, UEG2
OUTsur"REG]
16

: SET RETURN ADRES rOR LUPING
ION ERROR
:CORRECT PSUEDO·HEADER READ?
: YES, 81!ANCH
IGET TRY •
,GO GET CYL I'S 8ETW'N
: WHICH IMPLIED SEEK CREAD)
,WAS DONE
I GET EXPCTD PSUEDO-HDR
: GET PSUEDO-HDR RECVD
: IMPLIED SEEK rROM CYLA TO cnB WAS DONE.
, READ PSEUDO-HEADER OF SEC 0,
,CYLB (IN EROR MESAGE), BUT
: THE WRONG PSEUDO-HEADER WAS
: RECEIVED

RETRY2

GO READ HEADERS (12) FROM
THIS CYLINDER, , CHECK THEM.
IF MISCOMPARISON INDXl WILL
BE > 0.

SEQ 0046

04-0CT-76
14126 PAGE 31
MACYII 27(1886)
MUNOEC·II·OZRKL·D
T4
l1-AUG-76 15135
SEEK PATTERNS I 8-312-0-311- •••• USING IMPLIED SEEK
DZRKLD.Pl1
1591
1592
1593
1594
1595
1596
1597
1598
1599
1608
1601
1602
1603·
1604
1605
1606
1607
1688
1609
1610
1611
1612
16ll
1614
1615
1616
16t7
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
16)5
16]6
1637
1638
1639
1640
1641
1642
1641
1644
1645
1646

006330
006334
006336

f11fII5737
f11010fU
104420

096342

f11fII04f112

006344

104417

006350
006352
086354
806360
006366
006374
806402
006404
1116'6410
0f116414
006420
006426

010508
005200
810877
012777
012777
012777
104421
810537
f1104737
010037
013737
104417

006432

fIIe5237

006436

0014421

2106440
2106442

fIIe5704
fIIe1266

006444
006446

005204
0210137

081580
f1101657

080015

173104
026362
177777
000005
001162
016360
001164
026362
f1100017

TST
8NE
TYPMSG

INDXl
221
.MSGS

,WRONG PSUEDO·HDR liAS READ
,BUT liHEN HDRS liERE READ
U'ROM THE SAME CYLINDEP. THEY
,WERE COPPECT

8R

238

2211

MESAG!

.15

UII

MOV
INC
MOV
MOV
MOV
MOV
CON.RDY
MOV
JSR
MOV
MOV
MESAGE

RS,R0
R0
R0"RKDA
.OUTBUF, ,RK8A
'-I"RKiiC
U,tRKCS

173874
173064
173054

001166

f110151e

2411

1/11/1561/12

RS,UEG0
PC', GCYL
R0,.REGI
OUTBUF, "~EG2
,17

INC

ERCNT3

8EO

EXTol

TST
8NE

R4
19.

INC
JMP

R4
is

,WPONG PSUEDO·HDP WAS PEAD
,FROM 'CYL8' (IN ERROR MESAGE).
,THEN HEADERS liERE ReAD FROM THE
THEY WERE ALSO
,SAME CYLINDER.
:liRONG.
: NOW READ THE PSUEDO·HEADER
,fROM THE NEXT SECTOR (ll
,SAME CYLINDER

,GO GET CYL • , STORE IT IN .REG0
,GET EXPCT PSUEDO·HDR FROM SEC 1
, PSUEDO-HEADER FROM SEC 1. CYL8
THE EXPCTD
,(IN MESAGE) WAS READ.
"
RECVD DATA WORDS ARE REPORTED.
,ALLOW ONLY LESS THAN 11/1 ERRORS
,OF THIS TYPE (liRONG PS-HDRS)
'SEEKED IN OR OUT LAST TIMe:7
,IF OUT, GO SEEK NXT INNER CYL
rIF IN, GO SEEK BAK TO 0
JINDICATE THU SEEK OUT (0)
,liUL 8E DONE NOli

,THIS ROUTINE IS USED IN THIS TEST ONLY.
'R4-0 INDICATES SEEK BEING DONE FROM
,CYL 0 TO INNER CYL.
,Pol-I INDICATES SEEK BEING DONE FROM
IINNER CYL TO 0. THIS ROUTINE POSITIONS
,THE HEADS ON 'INADR" CYL IF R4-!
1/106452
0064!4
006456
1/106464
1/106472
086474

005704
001407
1/111777
012777
104422
1/1210207

s8Rli
001260
000011

173000
172764
1"

TST
8EQ
MOV
MOV
TST.RWS
RTS

R4

U
tHADR, ,RKDA
ItI.tRKCS
PC
,THIS ROUTINE IS USED IN THIS TEST
,ONLY. IT READS 12 H£ADERS FROM CYLINDER
J WHOSE ADRES IS IN R5. THEN IT CHECKS
,IF THE EXPECTED HEADER IS RECEIVED.
, IF IT ts NOT, INDX3 IS INCREMENTED INDICATING

MAlNDEC-l1-DZRKL-D
MACYl1 27 (l 806)
84-0CT-76 14126 PAGE 32
DZRKLD.Pll
11.lUG.76 15135
T4
SEEK PATTERNSt 0 .. 312-0-311- ••• ,USING IMPLIED SEEK
1647
1648
1649
1650
1651
16'52
1653
1654
1655
1656
1657
1658
1659

ITHE ERROR
0e6476
006502
0065216
006512
096516
0e6522
006531/1

1/112780
012711
0102177
010177
010577
012777
104421

006532

01/14737

006536

0002217

006540

004737

S8R21

177764

026362
172746
172744
172742
0ne05

172726

1/1217204

MOV
MOV
MOV
MOV
MOV
MOV
CON.RDY

,-14,RI/I
.OUT8ur,Rl
RI/I,tRKWC
Rl.tRK8A
R5"RItDA
'2005, tRItCS

J READ 12 HDRS
I INTO THIS AD RES

; FROM THIS CYLINDER
,RD FMT, GO

JSR

PC,. CHKHDRS

,GO CHECK IF CORRECT HEADERS liERE READ

RTS

PC

,EXIT

JSR

PC.ABRT

16~1/I

1661
1662
1663
1664
1665
1666
1667
1668
1669
1671/1

EXTol.

1/116716

, '****************************************************•• ****.****
,*TEST 5
PERFORM CONVERGING-DIVERGING (IMPLIED) SEEKS
,*THIS TEST PERFORMS A CONVERGING-DIVERGING SEEK PATTERN
,*UIIING IMPLIED SEEK (READ FORMAT).
THE SEEK SEQUENCE lSI
, *0-312-1-311-2-:UI/l-3-307-··----311/1-2-l11-1-312
,ALL READ FORMATS ARE DOllE rROM SURFACE 0.
,*THE CYLINDER ADDRESSES. BETWEEN WHICH THE IMPLIED SEEK IS
,*PERrRORMED. ARE CONTAINED IN 'OUTADR" ,'INADR".
IF "SIN' OCCURS
,*AN ERROR IS REPORTED AND A RETRY IS DONE.
ON READING INCORRECT
,*HEADERS AN ERROR IS REPORTED AND A RETRY IS DONE. NOTE THAT IF
, *ALL THE 12 HEADERS ARE INCORRECT. IT COULD MEAN THAT THE HEADS
,*COULD NOT POSITION CORRECTLY.
THIS liOULD 8E CONFIRMED IF IN
,*PREVIOUS TESTS BAD HEADERS WERE NOT RECnVED FROM THE SAME
,.CYLINDER.
IF THAT CYLINDER GAVE BAD HEADERS IN ALL THE PREVIOUS
,*TESTS THE PROBLEM COULD 8E DIFFERENT.
,*MAXIMUM 12 ERRORS OF UY KINO ARE ALLOWED.
,*IF MORE THAN 12 ERRORS OCCUR THE TEST IS ABORTED.
, ,*******.*************.**************************************.**
TST5t
SCOPE
CON.RESET
,GO.DO CONTROL RESET
DRV. RESET
I GO, DO DRIVE RESET

1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
169:1
1694

1695
1696
1697
1691
1699

17ee
17et
1782

SEQ 8847

0"6544
006546
006550

000004
104415
104416

006552

805004

886554
886562
0.6566
086572

1112737
812788
019137
810817

881584
flU506

806576
886612

805017
812717

881262
1/114588

886618
016612
016614
886620
016624

805784
00tel5
IU70S
05n0S
0e8484

f1106626

8U785

177466

0e1476

17'7764

001261

111
881268
81U238
081262

eLR

R4

MOV
NOV
MOV
MOV

hU2,INDX2
'-14,R8
RfiI,ERCN'I'1
R8.ERCI'I'2

CLR
MOV

OUUDR
t14UI/I,IHADR

,INITIALIZE 'OUTAOR' TO 8
ItnTIALUE 'INADR" '1'0 312

TlST
BNE
MOV

R4

'GOINe IN OR OUT1
,GOING OUT.BRUCK
, SET CYL ADREa BITS FOR GOING IN
, rORM DI8It ADRts rOR INNER CYLINDER

8IS

211

2,

IUDR, R5
DRIVAD,R5

8R

31

MOV

OUUDR,R!!

J(R4)-1/I SEEItING FROM 'OUTADR' TO 'INADR'
I (RU.l SEEKING FROM 'INADR' TO "OUTAOR'
I SET COUNT FOR DOING 312 'I'lMES

,ALLOIi ONLY 12 ERRORS

,SET eYL ADREa BITS 'OR GOING OUT

SEQ 0049

04-0CT-76 14126 PAGE U
NA IHDEC-ll-DIRICL-D
MACUI 27(1086)
PERFORM CONVERGING-DIVERGING (IMPLIED) SEEKS
11-AUG-76 15135
T5
DIRKLD.PH
17rn
17114
1795
1796
1797
1708
1709
17t0
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
t 724
1725

iiZ6
1727
1728
1729
1730
1731
ln2
t 7))
1734
Ins
1736
1737
1739
1739
1140
1741
1742
1743
1144
1745
1746
1747
1148
1749
1750
1751
1752
1753
1754
1755
t756
1757
1758

8IS

006632

053705

081230

01!16636
006642
096650
006652
006654
006656

1!1051!137
912737
000404
104415
104416
804737

081254
177777

006662
006670
006614
006702

012777
SH0577
012777
012737

177764
172570
026362
0"6652

172560
801U0

006'710

012777

092085

172540

006716

104421

CON.RDY

032777
001441
"17737
017737
013737
062737
004737

BIT
8EQ
MOV
MOV
MOV

006720
006726
0067)0
0067)6
006144
006752
006760

3f.
001252

411
5 ..

087150
17257O

0"1000

172524

172520
172510
001252
0;;6;;02
016244

"'J1166
0011'0
001172

711

661 i;2

801602

"06764
0,,6770

104420
104014

006772
006776
007000
007004
007006
007010

005737
001403
005237
000722
104415
104416

007012
007016

005237
001527

001504

007020
007024
007032
007034

010577
012777
104422
0004'24

172440
00'011

0'7036

004737

007204

087042
007050
007054

012737
005737
001414

006642
001590

001252
001252
611

DRIYAD.R5

rGO REPOSITION HEADS

MOV
NOV
MOV
MOV

.-14 •• RKIiC
R5,.RKDA
I OUT8ur, ,RK81
n.,SLPERP

,READ ALL HDRS FROM THIS CYLINDER
,FROM THIS ClL, SEC 0
~ INTO THIS 8US ADRES
,SET RETURN ADRES FOR LOOPING ON ERROR

MOV

'2005. 'RKCS

:READ FORMAT, GO

'1008, ,RKDS

,SIN?

,RKER, IREG2
tRKI)S,. REG3
RETRYl, eREG4

~NO, 8RANCH
,SAVE RICER
,SAVE RKDS
,GET RETRY.

,WAIT FOR CONTRL ROY

sa

;'00

;2,;REG4

JSR

PC·,ERR2

TYPMSG
ERROR

, MSGI
14

1ST
RETRYI
BEQ
U
INC
RETRYl
5$
BR
CON.RESET
DRV.RESET
ERCNTI
EXTS

MOV
R5,tRKDA
MOV
'11 "RKCS
TST.RIIS
BR
111

172424

8S1
001110

tALLOW 2 RETRIES
~ WHEN ERRORS OCCUR

RETRY2
CLR
MOV
'-I,RETRYl
8R
7S
CON.RESET
DRV.RESET
PC·,S8R3
JSR

INC
BEQ

,GET ClL ,'S BELOW 'N WHICH
,SEEK WAS TRIED
~TYPE 'SIN'
~ 'SIN' OCCURRED ON DOING IMPLIED
,SEEK FROM 'CYLA' TO 'CYLB' (IN
, EROR MESAGE).
'DONE 2 TRIES7
,YES, BRANCH
~NO, RETRY

~

ALLOW LESS THAN 12 E~ORS OF THE
:ABOVE KIND
J IF MORE SKIP THIS TEST
,SIN OCCURED WHEN GOING TO CYL (IN
:115) •
A DRVE RESET liAS BEEN DONE,
=NOli TRY POSITIONING HEADS ON
~THAT CYL.
J SET ClL AD RES
,SEF;K,GO

JSR

PC:,CHKHDRS

J IF NO SIN, ENTER HERE
~GO CHECK IF CORRECT HEADERS WERE READ

MOV
TST
BEQ

. . 8,aLPERR
IRDXl
111

,SET LUP ADDRESS
"US THERE A BAD HDR7
,NO, BRANCH

MlINDEC-ll-DZRKL-D
MACYll 27C 1006) 04-0CT-76 14126 PAGE 34
T5
PERrORM CONVERGING-DIVERGING (IMPLIED) SEEKS
31-AUG-76 15135
DZRKLD.Pll
1759
1760
1761
1762

1763
1764
1765
1766
1767
1769
1769
1771f
1771
1172
1773
1774
1175
1176
1777
1179
1779
1790
1791
1782
1783
1794
1795
1796
1797
1199
1799
179i!
1791
1192
1793
1794
1795
1796
1797
1798
1799
1800

18el

0"7056

104020

007060
007064
007072
007074
007100
007102

0"5237
022737
001263
005237
001002
000137

007106
007110

005704
001006

007112

005204

007114
007122

062737
000137

007126

005004

0071316
007U6

162737
005237

007142

001457

007144

000117

0"715"
007152
007154
007162
007164
007172
007200
007202

105784
0"1404
ell777
"00403
"13777
0'2777
104422
000207

001254
0""002

001254

001506
007276
1111

000040
006610

001262

"00040
001476

001260

12S1

006610

00126"

172382

e01262
000811

172272
172256

ERROR

20

rWRONG HEADERS WERE.READ FROM
~ 'SEC .'S, ON DOING AN IMPLIED
~SEEK (RDFMT) FROM 'CYLA' TO 'CYLB'
:ALLOW 2 TRIES

INC
CMP
BNE
INC
BNE
JMP

RETRY2
I2,RETRY2
4$
ERCNT2
EXT5

~

TST
BNE

R4
12$

~GOING

,GO TRY 2ND TIME
: ALLOW ONt. Y 12 ERRORS

111

INC

R4

ADD
JMP

.. 0,OUTADR
11

CLR

R4

SUB
INC

.. 0,INADR
INDX2

BEQ

TST6

JMP

11

IF MORE, EXIT THIS TEST

WHICH WAY7
~ 'INADR' TO 'OUTADR', BRANCH
,'OUTADR' TO 'tNADR'
J INDICATE THAT NXT TIME GOING
:FROM 'INADR' TO 'OUTADR'
: INCREMENT CYCLINDER ADRES
,GO UK , DO IMPLIED SEEK
:FROM 'INADR' TO 'OUTADR'
: INDICATE THAT NXT TIME GOING
,FROM 'OUTADR' TO 'INADR'
,DECREMENT CYLINDER ADRES
,DONE ALL 312 FORWARD-BACKWARD
,SEEK PATTERNS
"IF YES. EXIT
,IF NOT, GO BAK , DO IMPLIED
,SEEK FROM 'OUTADR' TO 'IRADR'

'THIa SUBROUTIIIE IS ENTERED ArTER A 'SIN' ERROR OCCURtD 011 GOING FROM
,'CYLA' TO 'CYLB' AS INDICATED IN THE ERROR MESSAGE. BEFORE RETRYING THE
,HUDS HAVE TO BE POSITIONED BACK TO 'CYLA'. NOTE THAT A DRIVE RESET
t IIIAS DONE TO CLEAR SIff.
,'4-0, IRDICATES SEEK IS BEING DONE FROM 'OUTlDR' CYLINDER TO 'IMADR'CYLINDER.
,R4.1, INDICATES THAT SEEK IS BEING DOllE FROM 'IIIADR' TO 'OUTADR'.
TST
R4
SeAl I
:GOING "'HICH WAn
8EQ
,IF FROM 'OUTADR' TO 'IIIADR', BRANCH.
11
MOV
INADR •• RKDA
BR
2.
NOV
111
OUTlDR"RKDA
MOV
Ill,tRKCS
211
TST.RNS
RTS
PC

1802

urn

tI,,4
IUS
1806
1807
1808
1809
1810

1811
1812
1813
1814

SEQ 0049

rFORM DISK ADRES FOR GOING OUT

,CHKHDRS
nHIS ROUTINE CHECKS THAT THE HEADERI READ PREVIOU.LY NERE CORRECT.
,IF MOT, THE BAD HEADERS AND THE SECTOR I'S FROM WHIeK THEY NERE READ
,APE STORED.
ION ERTAYI
,RS eOIiTUNS DISK ADDRESS FROM NHEAE HEADERS NERE READ.
,OUTIOF - 12 HEAORERS READ PREVIOUSLY ARI; S'fORED STARTING 'OUTlur' •
,ON EXITI
,INDnal, IF THE HEADERS WERE CORRECt'
,IKon. 1, IF THE HEADERS WERE INCORRECT
,IUFR - SECTOR ,'S GIVING BAD HUDRERS ARE STORED STARTING AT ',UFR'.

SEQ 0050

IIIUNOEC-U-DIRKL-D
MACYtI 2'7(116) 14-0CT-'76 14126 PAGE J!I
DIRKLD. P11
U-AUG-16 15135
'1'5
PERrORM CONVERGING-DIVERGING (IMPLIED) IEEKI

1817
1818
1819
1120
1821
182Z

1823
1824
1825
1126
112'7
1128
1129
1830
1831
1832
1833
1834
1835
1836
1837
1831
18)9
1848
1841
1842
1843
1844
1845
1846
1847
1848
1849
1858
1851
1852
1851
1854
1855
1856
1857
1858
1859
1868
1861
1862

"'7Z84
"'7216
08'7Z12
."'Z16
ee'7222
"1'7226
117234

ee5ee8
'12"1
112712
812'783
.U531
"42'73'7
"15031

"8'7240
"87244
"'7246
• ..,258

'23'711
001416
811123
111822

111128

"1'7252
.87256
'1'7262
'1IJ'7264
.07266
'0'7272
"'7274

1112'712
115231
0.5721
.852 ••
11227""
001362
0.11120'7

17'77'77
•• 151111

001276

014'731

.26362
eelZ66
1113Z8
801128
161183'7
"815"0

881120

CHKHDRSI CLR
NOV
MOV
MOV
MOV
BIC
CLR
911

CMP
BEQ
MOV
MOV
MOV
INC
TST
INC
CMP
BNE
RTS

. . .014

Re
fOUTBUr,Ri
nurR,R2
nUrR1,Rl
R5,_GDADR
U60037,tGDADR
IHDU

JINITIALlZE
,INITIZLIZE
'INITIAt.IZE
,INITUt.IZE

_GDADR, (Rl)

,HEADER OK?
,YES,BRANCH
, SAVE BAD HDR
,SAVE BAD SECTR

10_

(R1), (RU+
Re, (R2)+
t1777'7'7,(U)
INDU
(Rl )+
R8
fl4,R8

9,

rOR
PTR
PTR
PTR

14 HORS
TO HDRS RECVO
TO SECTOR TABt.E
TO BAD HDR TAUE

,GET EXPCTD HEADER
,CLR rLG INDICATING BAD HDRS

,PUT TERMINATR ON SECTR TABLE
,SET rLG INDICATING BAD HDR
,INCRMNT PTR TO NXT HDR
,ALL HDRS CHKD?
,IF NOT, LUP &AIC

PC

,,...............................................................

1167U

IXT51

JSR

,.TEST 6

WRITE PATTERNS ON THE DUK
,.IN THIS TEST DIFFERENT PATTERNS ARE WRITTEN ON THE ENTIRE DISIC.
768
,.WORDI C3 SECTORS' ARE WRITTEN AT A TIME, TWO 768 WORDS t.ONG
,.BurURS HAVE BEEN USED IN THIS TEST. WHILE ONE BUrrER IS
,.USED TO WRITE ON THE DUIt, THE OTHER BurrER GETS FILLED UP WITH
,.PATTERNS TO BE USED NEXT I
THIS OVERLAPPING IS DONE TO SAVE TIME,

PC·,ABRT

,.THREE PATTERN-GENERATOR SUB-ROUTINES ARE USEDI
,.1. PTGEN"
2. PTGENl
3. PTGEN2
4. PTGEN]
,.THESE THREE ROUTINES ARE CALt.ED IN A CYCLIC, ORDER I
,.
PTGEN0-PTGEN1-PTGEN2-PTGENl-PTGEN0-PTGEN1 ••••••••
,.THE FOLLOWING ORDER IS MAINTAINED IN WRITING &LOC1(8 CEACH
,.3 SECTORS LONG) USING ONE or THE FOUR PATTERN GENERATORS I
I.CYL
SECTORS
Crt.
SECTORS
crt.
SECTORS
cn
SECTORS
,.
SUR
ROUTINE
SUR
ROUTINE
SUR
ROUTINE
SUR
ROUTI
,. e 0
"-2 PTGEN0 0 "
6-1e PTGEN1 "
0
3-! PTGEN2 0 0 11-13 PTGEN3
,. e 1
e-2 PTGEN8 e 1 6-le PTGENI e 1
3-5 PTGEN2 0 1 11-13 PTGEN3
:*
I'!
e~2
PTGESI'!
e 5-10 PTGES1
I'!
l-! PTGE"'2
9 11-13 PTGEN)
,.
1
e-2 PTGEN0
1 6-1e PTGENI
1
3-! PTGEN2
1 11-13 PTGEN3
I.
"
"-2 PTGEN0
e 6-10 PTGENI
0
3-5 PTGEN2
0 11-13 PTGEN3
,.ETC, ETC •••••
,.THE ABOVE SHOWN STAGGERING cor SECTORS TO BE WRITTEN) IS DONE TO
,.SAVE ONE REV (40MS) EVERY TIME A 8LOCt( (3 SECTORS) II WRITTEN.
,.IF YOU WANT TO USE BUrFERS STARTING AT SOME OTHER MEMORY ADDRESS
I.MAKE 'I'M.! rOLLDWING CHANGES I
,.CHANGE 'PBure' TO STARTING ADDRESS OF THE FIRST 768 WORDS LONG BUFFER.
,.CHANGE 'PBun' TO STARTING ADDRESS OF SECOND 768 WORDS LONG BUrFER.

1863
1864
1865
1866
1867
1861
1869
1878

MACYl 1 27( 1"86) 04-0CT-76 141:26 PAGE 36
MlINDEC-l1-DZRKL-D
WRITE PATTERNS ON THE DISK
31-AUG-76 15135
'1'6
DZRKLD.Pll
1811
1872
1873
1874
1875
1876
1877
1878
1879
1888
1881
1882

188]
1884
1885
1886
1887
1888
1889
1898
1891

1892
1893
1894
1895
1896

1897
189.
1899
19",
19.1
1912
198)
1914
19,5
1906
19.7
198'
19.9
1918
1911

,.IF YOU WANT TO WRITE YOUR ONN PATTERNS USING PATTERN GENERATOR 'PTGENe'
,.CHANGE 'PTRN01' AND 'PTRN02' TO THE PATTERNS YOU WANT.
,.TO WRITE
,.LOC\\TION
,.LOCATION
,.LOCATION

••••• 4
'12737
.12737
8127)7
.85837
.85137

177764
177764
177152
ellU8
111412

"81504
ee1586
881474

. . ,336
817344

'137)7
'1273'7

8812:1e
.81414

887352
087356
887364

.84737
811737
.e4777

e07778
172842
172e48

e87378
.113'72
'873'76
.114111.

.85 •• 5
185737
lee487
.13737

11181416

.81416

.52737

. .7414

. . . 416

.87416

TIT61

SCOPE
MOV
MOV
MOV
Ct.R
CLR

'-14,ERCNT1
'-14,ERCNT2
'-626,INDXl
BUrLG0
BUrLGl

081432
e81424

MOV
MOV

DRIVAD,DBKADR
'PATe. PRSPAT

88143.

JSR
MOV
JSR

PC,GETBUr
tpRSPAT,PGSU8R
PC,.,GSUBR
R!
BUFLG8

8el434

CLR
TIT
BMI
MOV

PBUrt, BUSADR

. . . 2••

"81412

BIS

I8IT7,BUrLGI

.13737

.81484

.etU4

111
2,.

•• 14111

.81424

.52737

.882.1i1

.81ue

112n7
113777
'U'777
'12'777
'12'777

88744e
11143:2
'IiIt434
1764e1il
""8813

flU18
1'72.16
1'72.16
171176
111166

'U'737
.21727

".1424
181424

i i.

181414

881426

. . . .12
"1'77'78
1716'72
1'71666

ee1426

1924

117"'8
"'7..,6
.115.4
1.1516
181514
117516
117524
""713'
'''7536

1925
1926

•• 7542

184421

1911
1914
1915
1916
19t7
1918
1919
1921
1921

1922
1923

THE SAME TWO (OR ONE) PATTERNS ON THE ENTIRE DISK CHANCE
'PAT1' TO 'PTGEN'" THE STARTING ADDRESS or PAT-GENERATOR 0
'PAT2' TO 'PTG!N0' THE STARTING ADORES OF PAT-GENERATOR 0
'PATl' TO 'PTCOEN0' THE STARTING AODR!SS or PAT-GENERATOR"

,,...............................................................

8811.2
817384
.87312
.87328
8.73:26
117332

887U2
.,7441
187446
.U454
".7462

1912

SEQ 8051

,BUrRi - BAD HEADERS rOR THE ABOVE SECTORS ARE STORED STARTING 'BUFR1'.
,THE BAD SECTOR TABLE IS TERMINATED BY l '1'77777' WORD,

18t5
1816

181114
"12'737
8.,413
862'7J7
184737
117737
.'''''77

lSI

U ..
411

'''lU6
1422

0etUe

511

",

31

,SET COUNT FOR 313X2 TRACKS
:CLR FLAG rOR BUFR 0
:CLR FLAG FOR BUFR 1
,BIT 7 or ABOVE FLAGS WHEN SET
IINDICATES, THAT 8UFR TO BE USED
,rOR WRITING ON DSK
,GET DRIVE /I, 0 lSK ADRES
,INITIALIZE PTR TO THE FIRST
,PATRN GENERATOR
,GO GENERATE PATRNS FOR
: 3 SECTOR (40eX3)
J INITIALIZE COUNT FOR 4 BLOCI(S
,FIND OUT WHICH BurR TO USE
:'OR WRITING ON DSI(
:USE 'IOBUF1" FOR TRANS rEI'
,OR THE ONE INDICATED BY THE USER
,SET rUG TO INDICATE THU
,WRTlNG ON DSK WILL B DONE FROM
,THIS BUrR (BUr l '

BR

13_

MOV

PBure, BUSADR

,USE "IOBUF0' FOR TRANSFER
'OR THE ONE INDICATED SY THE USER

BIS

'BIT7,8UFLG0

,INDICATE THAT "IOBure' WILL
,B USED rOR WRTING ON DISK

MOV
MOV
MDV
MOV
MOV

,u,nPERR
DSUDR, .RKDA
BUSlDR, .RKBA
'-IU0"RKIIC
U,.Rt(ce

MOV
CMP
8NE
MOV
BR
ADD
JSR
MOV
JSR

PRSPU,IIXTPU
PRSPAT, "AT]

CON.RDY

.
51

IPAT0,NXTPAT

I2,NXTPAT
PC,GET8Ur
tNUPAT, PGSUBR
Pt:,tpGSU8R

,SET RKDA
,WRITE THE 4 SECTORS ON
IDISK
,WHILE THE PATRNS R BEING WRITTEN
I GO GENERATE THE NXT PATRNS
,TO B WRITTEN
,KEEP GENERATING PURNS IN THIS
, \fAY ·PAT0"-·PAT1"-·PAT2"-"PATl "-"PAT0"-

,GO GENERATE THESE PATRNS.
J(3 x 4110) WORDS

SEQ 0052

14126 PAGE 37
04-0CT-76
MUNDEC-I1-DZRKL-O
MACYll 27(1006)
T6
WRITE PUTERNS ON THE DISK
DZRKLD.P11
31-AUG-76 15135
1927
1928
1929
19]0
19J1
1932
1933
1934
19]5
19]6
1937
19]8
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
19~9

1960
1961
1962
1963
1964
t 965
1966
1967
1968
1969
1910
1971
1972
1913
1974
1975
1916
1977
1978
1979
1990
1981
1992

007544
007552
007554
0"'560
007562
007564
0"'570
007572
007576
007604
007606
007612
007614
007616
007620
007624
007626

032777
001411
004737
104021
104415
005237
001002
000137
032777
001412
004737
104022
104415
104416
005237
001002
000137

140000

171704

016106
001504
010356
001000

171646

1211

016106

010356

105737
100003
005037

007644
007646

000402
005037

001412

007652

013737

001426

007660
007662
007666
007674
007700
007702
007706

910500
116000
042737
050037
005205
1'l22705
001231

010352
000017
001432

007710
907716
01'l7729
01'l7724
997726
997732
907740
007746
901752
007756
007764

032737
001415
905237
091902
099137
942737
062737
000137
005237
052737
999137

097779
907774

1'l05737
109007

781

001410
001410

BUnG0

at

BU"LG0

;s
BUnGl

001424

9S1

MOV

NXTPAT, PRSPAT

001432

10$1

MOV
MOVB
BIC
BIS
INC
CMP
BNE

R5,R0
SECPTR CR0) , R0
fl17,DSKADR
R0,DSKADR
R5
I4,R5
2$

091474

001432
001432

091432

01'l1410

fERROR ON DOING WRITE
rCLEAR IT
,ALLOW 12 ERRORS AT MOST
I I ' MORE, EXIT
I S IN, ON DO ING WRITE?
,SIN ERROR ON DOING WRITE
r ALLOW 12 ERRORS AT MOST

ICLR FLAG INDICATING BU,Rl
I IS AVAILABLE NOW
I'PRSPAT'S PATRNS WILL BE USED
,ON NEXT WRITE
: FORM SEC • TO BE USED NXT TIME
IGET SEC'
,MASK SECTOR BITS FROM DSK-ADRES
,FORM NXT DSK-ADRES
,DONE WITH 12 SECTRS (3 BLOCKS)?

,ON THIS SURFACE? Ir NOT, GO
,DO NXT 4 SECTRS
:WHICH SURFACE WAS DONE, I'l OR I?
UIT0,INDXl
BIT
BEQ
IIF I'l, GO DO SUR .. ACE 1
11S
INC
INDXl
:COUNT • OF TRACKS
•• 6
BNE
TST7
,EXIT IF DONE
JMP
:GO TO SUR 9, NEXT CYLINDI!:R
BIC
120,DSKAOR
U0,DSKADR
ADO
JMP
is
,GO BACK AND DO WRITE
,COUNT • OF TRACKS
11$1
INC
INOxt
BIS
120,DSKADR
:SET BIT FOR SUR 1
,GO, WRITE PATRNS ON SURFACE
JMP
U
,*GET BUFI
I*THIS ROUTINE FINDS OUT WHICH BUFrER (IOBUF0, IOBU'1) OR ONE or
,*THE TWO BUrFERS SELECTED BY THE USER) TO USE
,*FOR GENERATING PATTERNS. THEN IT SETS UP A FLAG INDICATING THAT
,*BU"'ER HAS TO BE FILLED UP. THE STARTING ADDRESS OF THE
,*BurrER IS STORED IN 'BUF I ' .
GETBUP'I TST
BPt

;BU'R o AVAILABLE FOR USE?
,yU, SRANeH

BUnG0

is

14126 PAGE 39
94-0CT-76
MACY11 27(1096)
MAUDEC-I1-DZRKL-D
T6
31-AUG-16 15135
WRITE pATTERNS ON THE DISK
DZRI(LD.Pt 1
1983
1994
1995
1996
1997
1999
1999
1990
1991
1992
1993
1994
1995
1996
1997
1999
1999
2900
2001
201'l2
2903
2094
2005
2006
2007
2008
201'l9
2011'1
2011
2012
2013
21'l14
2015
2016
2017
2018
21'119
2020
2021
2022
2023
2024
2025
2026
2027
2029
2929
2030
2031
2032
20]3
2034
2035
2036
2037
2e38

097716
010094
919012
019914
010022
010939

952737
013731
900207
052737
013737
909297

109090
001496

001412
901446

100000
001494

001419
091446

111

BIS
MOV
RTS
BIS
MOV
RTS

IRITlS,BUFLGl
PBU .. 1 , BUFNO
PC
UIT15,BUf'LG9
PBU'0, BUFNO
PC

:NO, USE BUFR 1. INDICATE SO,
,SAVE STARTING ADRES OF BUFRI

J INDICATED, USING BUF 0
,SAVE STARTING AD RES OF BurR 0
IRETURN

,*PTGEN0
;*THIS ROUTINE GENERATES A 768 OX256) WORDS LONG
'*Bur"ER CONTAINING THE FOLLOWING PATTERNS
125252
,*FIRST BLOCK OF 256 WORDS:
052525 (COMPLEMENT OF ABOVE)
,*SECOND BLOCK Of 256 WORDS:
010421
,*THIRD BLOCK OF 256 WORDS:
,*YOU CAN USE ANY OTHER PATTERN IS (50 ITS COMPLEMENT)
;*MAKING THE CHANGES IN THE 2 LOCATIONS SHOWN BELOW.
BurNO, RI'l
PTRN91,Rl
'-409,R2

,GET STARTING ADRES OF BUFR
:GET PATRN TO BI!: GENERATED
,IN THE FIRST 409 WORD BLOCK

MOV
INC
B'IE

Rl, CR0).
R2

IGENERATE THE FIRST BLOCK
,WITH 'PAT01' PURN
JALL DONE?

MOV
COM
MOV
INC
BNE
MOV
MOV

.-409,R2
Rl
RldR0).
R2
28
,-409,R2
PTRN02,Rl

MOV

RldR0).

005292
901375

INC
BNE

R2

910106

990207

RTS

PC

010110
010112

125252
010421

910032
010036
010042

913700
913701
91271'l2

1'l10046
010050
010052

010120
1'l95202
991375

1'110054
0101'160
019962
010064
010066
Ble070
1'111'1014

1'l12102
005101
911'1121'1
1'105202
01'11375
012792
013701

1'110100

010120

010102
1'110194

901446
1'l10110
177409

SEQ 0053

rANY ERROR?
rGET RKCS,ER,DS,DA

,FIGURE OUT IiHICH BU .... ER IS
I UAILABLE .. OR USE
,WAS PREVIOUS DSK-WRITE DONE
r US ING BU .. R 0?
,YES, CLR FLAG INDICUING IT'S
IAVAILABLE NOW

SR
CLR

01'l1474
010362
099920
900041'l
0973'79
091474
990029
997379

TSTB
BPI.
CLR

8U

001'l004
000901

,.

,.

001506

007632
007636
007640

.140000,IRKCS
BIT
12.
BEQ
JSR
PC,GT4RG
21
ERROR
CON.RESET
ERCHTl
INC
BNE
12.
JMP
EXT6
UIT9,IRKDS
BIT
BEQ
JSR
PC,GT4RG
ERROR
22
CON.RESET
DRV.RESET
INC
ERCNT2
BNE
JMP
UT6

PTGEN01 MOV
MOV
MOV

lS:

171400

281
177400
010112

31:

U

3S

,COMPLEMENT 'PUGH' PAUN
,GENERATE 2ND BLOCK WITH
~ 'PAT01 • S COMPLEMI!:NT PATRN
,ALL DONE?
,GET PATRN TO BE GENERATED
,"OR )RD BLOCK
: GENERATE 3RO BLOCK USING
I 'PAT02' PATRN
:ALL DONE?
JRETURN

PTRN011 125252
PTRM021 010421

rCHANGE THESE LOCATIONS IF
I YOU WANT ANY OTHER PATTERNS

I*PTGENI
I*THIS ROUTINE GENERATES A 768 OX256) WORDS
,*LONG SUFFER CONTAINING THE FOLLOWING PATTERNS I
,*FIRST BLOCK-256 WORDS 000001
00(11003
J*
177777
,*

,*

.

FILL l'S

,*SECOND BLOCK

177776
177774

FILL I'l'S.

r*
1*

I

B90000

,*THIRD eLOCIe

0BB9Bl

,*

.. LOAT A 1

SEQ 0954

MAINDEC-U-DZRKL-D
MACY11 27(1006)
04-0CT-76
14126 PAGE J9
DZRKLD.Pl1
31-AUG-76 lSI35
T6
WRITE PATTERNS ON THE DISK
2019
2040
2041
2042
211143
2044
2045
211146
211147
211148
2049
211150
2051
2052
21t51
2054
2055
2056
2051
2058
21t59
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
291111
2071
2072
2073
2074
2015
2016
2071
211178
2079
2080
2081
20A2
2083

,.,I'

SEQ 9055

000020
I
1900111111

:*

:."SUrNO" CONTAINS THE STARTING ADDRESS or THE
,*BurrER.
11110114
0U'129
III IIU 24
010130
010134
01f11136
010140
010142
010144
010146
010150

012701
IU2704
1111371110
11112702
010301
010120
000261
006101
103374
005202
001371

00f11001
177776
1111111446
17776111

010152
010156
010160
010162
010164
010166
010170
010112

012702
010401
010120
000241
006101
101774
005202
001371

117760

11110174
01021110
01021112
11118204
010206
010210
010212
1111111214

012702
010301
010120
006301
103375
005202
11101372
000207

177760

PTGENII MOV
MOV
MOV
MOV
MOV
ifl
MOV
2'1
SEC
ROL
SCC
INC
SNE
III
4'1

511
6U

U,FIl

, INITIALIZE PURNS

1171776,R4
BurNO,R0
'-20,R2
Rl,Rl
Rl, (1~0)+
Rl
2.
R2
11

MOV
MOV
MOV
CLC
ROL
BCS
INC
BNE

.

MOV
MOV
MOV
ASL
SCC
INC
BNE
RTS

'-20,R2
R3,Rl
Rl, (RI1I)+
Rl
6.
R2
5,
PC

,GET STARTING ADRES or BUrl'
,SET COUNT
, INITIALIZE PATRN
,GENERATE THE FIRST
, SLOCK USING "rILL l"S·

,ALL DONE?

'-20,R2
114, Rl
RldR0)+

:INITIALIZE PATRN
,GENERATE 2ND BLOCK
,USING "FILL 0"S·

Rl

R2
II

,DONE?
,SET COUNT
: INITIALIZE PATRN
,GENERATE THE lRO BLOCK
,USING ·FLOAT A I"
,DONE?
,RETURN

,*PTGEN2
, .THIS ROUTINE GENERATES A 768 (3X256) WORDS LONG
,.BurFER CONTAINING THE FOLLOWING PATTERNS I

,.,.,I'

,·FIRST BLOCK-256 WORDS 000000
000001
00001112
I
000317
,*

2~e4

2085
2086
2097
2099
2089
2090
2091
2092
2093
2094

.*SECONO BLOCK

••
,I',I'
,*THIRD BLOCK
,I',I'

.*

COUNT PATRN-LOWER BYTE
0-377

000000
00041110
001000
I
177400

COUNT PURN-HIGHER BYTE
0-377

000000
00f11401
I

COUNT PATRN-HIGHER ,
111-377, 0-377

LOIIER BYTE

04-0CT-76 14126 PAGE 40
MACY11 27(1006)
MAINDEC-ll-DZRKL-D
IIRITE PATTERNS ON TKE DISK
T6
31-AUG-76 15135
DZRKLO.Pll
2095
2096
2097
2099
2099
2100
2101
2102
211113
2104
2105
2106
2107
2108
2HJ9
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2121
2128
2129
2130
2131
2132
21ll
2134
21)5
2136
2137
2139
2139
21415
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150

177777

J.

,II'SUrNO" CONTAINS TKE STARTING ADDRESS or TKE BUFFER.
010216

00511101

010220
010224
010226
010210

013700
010120
105201
001375

010212
11110234
1'110236
010242
010244
010246
010250
010254
1i!l10256

005001
010120
062701
103374
005001
010120
062701
103374
"00207

PTGEN21 CLR
001446

III

2'1
11100400
111
900401

MOV
MOV
INCB
BNE
CLR
MOV
ADO
BCC
CLR
MOV
ADO
BCC
RTS

Rl

,INITIALIZE PATRN

BUFNO,R0
Rl,cRI1Il+
Rl

,GENERATE 1ST BLOCK USING
, USING "COUNT UP LOIIER BYTE'
,DONE!

.11
Rl
RldR0)+
1400,Rl
2.
IH
Rl, (R0).
141111,Rl

.GENERATE 2ND BLOCK
• USING "COUNT UP HIGHER BYTE'
JOONE?

3t

,GENERATE 3RO BLOCK USING
'"COUNT UP HIGHER , LOIIER BYTE"
~ALL DONE?

PC

~RETURN

,PTGEN3
,.THIS ROUTI8E GENERATES A 768 ClX256) IIORDS LONG
.*BUFFER CONTAINING THE rOLLOIiING PATTERNS I
.*FIRST BLOCK OF 256 IIORDSI
177776
177775

,I',I'
,I'

,.SECOND SLOCK

167356 (COMPLEMENT OF Ii!lte42!)
FLOAT A "

I

077777

'·THIRD BLOCK
J.
J.

""n77
001i!l71&

,I'

COUNT UP HIGHER BYTE 0-l77
COUNT 00111'1 LOIIER SYT! 377-"

I

17740"

,.'BurNO" CONTAINS TKE STARTING ADDRESS OF THE BUFFER.
"10260
010264
11110270
01111274
010276
01030111
010102

013700
012702
013701
0"5101
11110120
11I1i!l5202
001375

001446
177400
018112

"1831114
010310
0UU12
818]16
0lel20
018122
010324

012702
1100261
IU271U
810120
086101
103775
11105202

177760

PTGEN31 MOV
MOV
MOV
COM
U,
MOV
INC
8NE

BurNO,R0
'-"Ii!l,U
PTRN02,RI
III
Rl, (Re)+
R2
4,

:GET PATTERN
,COMPLEMENT "PAT02' PATRN
, GENERATE lST BLOCK
,ALL DONE?
,2ND BLOCK

HI
177776

ell

MOV
SEC
MOV
MOV
ROL
BCS
INC

'-20,R2
1177776,Rl
Rl, (R0)+
Rl

..
R2

SEQ 0056

MAINDEC-ll-DZRKL-D
MACY 11 27 (1 1106) 04-0CT-76 14.26 PAGE 41
WRITE PATTERNS ON THE DISK
T6
:U-AUG-76 15135
DZRKLD.P11
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2t 72
2173
2174
2175
2176
2171
2118
2179
2180
2181
2182
2183
2184
2t85
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206

010326

00U70

011U311
fiH0334
010336
010340
010342
019346
010150

012701
010102
010120
060201
022701
001373
000297

010352
010353
0U!J354
010355

006
e0l
011
880

010356

004737

BNE

H

,3RD BLOCK
000377

911
177777

MOV
MOV
MOV
ADD
CMP
BNE
RTS

U77,Rl
R1,R2
R1'(RI2I)+
R2,U

,GENERUE 3RD BLOCK USING
: 'COUNT DOWN LOWER BYTE'
I 'COUNT UP HIGHER BYTE'

PC'

IALL DONE?
,RETURN

9_
.-l,IU

,SECTOR POINTER TABLE. DATA TRANSFERS ARE DONE IN BLOCKS (3 SECTORS
:UCH) IN THE CYCLIC ORDER I
0-2, 6-10, 3-5, 11-13, £1-2, AND SO ON.
IECPTR. .BYTE
6
.BYTE
3
.BYTE
11
.BYTE
0
016716

EXT61

JSR

PC,ABRT

I , •••••••••••••••••••••••••••••••• ** ••• ************** •• *.* •••••• *
,.TEST 7
READ, SOFTWARE COMPARE, WRITE CHF.CK OF THE PATTERNS
, ****TEST 6 (WRITING PATTERNS ON DISK) SHOULD BE DONE BEFORE DOINC***.
,**•• THIS TEST •••••
,*IN THIS TEST THE PATTERNS THAT WERE WRITTEN BEFORE (IN THE
,*PREVIOUS TEST) ARE READ BACK AND SOFTWARE COMPARED.
,.WHILE THE SOFTWARE COMPAI!ISON IS TAKING PLACE, AN OVERLAPPING
,.'WRITE CHECK' IS DONE FOR THE SAME BLOCK.
THE READING
,*BACK OF EACH BLOCK (4 SECTORS) IS DONE IN THE SAME
I *MANNER AS DtsCJU8ED IN THE BEGINNING OF PREVIOUS TEST.
I*OVE~LA:P~ItlG OPERATIONS AND STAGGERING OF BLOCKS ARE DONE IN
,.1 SI·ItILIAR MANNER.
I*THE FOLI,OWING IS A DESCRIPTION OF HOW ERRORS ARE HANDLED.
I *IF A 'SIN' OR 'HE' OCCURS IT IS REPORTED AND THAT BLOCK
I *IS SKIPPED.
IN THIS STAGE OF TESTING THESE ERRORS SHOULD NOT
,*NORMALLY OCCUR.
I *IP' A CHECICSUM ERROR OCCURS, CONTROL IS TRANSFERRED TO
,*'CSERROP'.
rIRST THE CSE IS REPORTED.
THE SECTOR GIVING
I*CSE IS READ AGAIN.
IN ALL 3 TRIES ARE DONE.
IF STILL
I.THE ERROR PRESISTS THAT SECTOR IS ABORTED AND THE REST
,.OF THE SECTORS ARE READ AND CHECKED FOR CSE.
IP'
,*AGAIN SOME OTHER SECTOR GIVES CSE, REPORTING AND RETRIES
I*ARE DONE AGAIN.
,.NEXT SOFTWARE COMPARISON IS DONE OF THE DATA THAT WAS
,.READ BACK.
ON GETTING A DUA HISCOMPARISON
,*THE RELEVANT INP'O(GOOO DATA, BAD DATA, ADDRESS ETC.) IS
,*STORED.
AFTER THE WHOLE BLOCK HAS BEEN CHECKED, THE DATA
,*ERROR/S IS/ARE REPORTED.
THEN THE BLOCK IS READ AGAIN.
IN ALL
,*THREE TRIES ARE DORE.
,.WHILE THE DATA COMPARISON (SOFTWARE) IS GOING ON THE 'WRITE
,.CHECK' IS ALSO IN PROGRESS.
IF A WRITE CHECK ERROR OCCURS THE
,.CONTROL IS TRANSFERRED TO 'WCEROR'.
WRITE CHECK OF THE SECTOR
,*THAT GAVE WCE IS DONE AGAIN.
IN ALL THREE TRIES ARE DONE.

04-0C,T-76 14126 PAGE 42
MAINDEC-ll-DZRKL-D
MACYll 27(1006)
READ, SOFTWARE COMPARE, WRITE CHECK OF THE PIITTERNS
31-AUG-76 15135
T7
DZRKtD.Pll
2207
221218
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
22'27
2228
2229
2210
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
22.7
2248
2249
2250
22'51
2252
2253
2254
2255
'2256
2257
2258
2259
2260
2261
2262

SEQ £1£157

,ALL DONE?

,*NOTE THAT EVERY WCE IS REPORTED. IF ALL THE 4 SECTOR OP'
I*A BLOCK GUE WCE'S, ALL 4 WILL BE REPORTED AND RETRIED.

010362
010364
818372
010400
010406
010414
010422
010430
010436

0000A4
12112737
012737
012737
0127)7
012737
012737
012737
005037

177764
177773
177742
177742
177764
177742
177152
001476

00151£1
8£11512
001514
121£11516
001520
001522
001474

010442
12110458

012737
013737

081414
081230

001424
001450

010456
010,462
910466
010474
010502

005037
005037
012737
012737
012737

001504
081506
177175
177176
000003

010510
010516

013737
013737

001458
001406

'*DEPENDING ON THE NATURE OF THE PROBLEM, THE ABOVE ERRORS
IT IS RECOMMENDED THAT ALL
,*CAN OCCUR IN ANY COMBINATION.
,*THE ERROR MESSAGE BE CAREFULLY CO-RELIITED AND EXAMINED.
IT
,*WILL PROVIDE A DEEP INSIGHT INTO THE PROBLEM.
: ,** ••• ***.* •• *********.*.*•• * •••••• **.*.**.* •••• *.*****.*.****.*
TST7.
SCOPE
1-14,ERCNT)
HOV
I ALLOW 12 ERRORS AT THE MOST
MOV
,ALLOW 5 ERRORS AT THE MOST
'-5,ERCNT4
MOV
'-)6,ERCNT5
IALLOW Ie ERRORS AT THE MOST
MOV
.-l6,ERCNT6
,ALLOW 10 ERRORS AT THE MOST
MOV
1-14,ERCNT7
IALLOW 12 ERRORS AT THE MOST
MOV
.-36,ERCNT8
,ALLOW Ie ERRORS AT THE MOST
MOV
I SET COUNT FOR 626 TRACKS
.-626,INDXl
:CLR COUNT FOR 4 BLOCKS ON A TRACK
CLR
INDX2
MOV
MOV

.PAT0,PRSPAT
DRIVAD, AD RES

:INITLZE PTR TO PATRN GENRTR
I UITLZt DRV',ADRES

081252
001254
001256

CLR
CLR
MOV
MOV
MOV

ERCNTI
ERCNT2
'-3,I!ETRYl
'-2,RETRY2
U,RETR'i3

: IF > 0, MEANS THAT RETRIES
:DONE AP'TER CSt OR CSE CHKO
:RETRY COUNT FOR CSE
,RETRY COUNT 'OR SP'TWRE MISCMP'N
I RETRY COUNT FOR WCE

00144£1
001442

MOV
MOV

ADRES, WDSKAD
PBUF1, IfBUSAD

,DISK AORES TO WRT CHK WlTH
I USE THIS BUFR 1 TO IIRT CHit
:OR THE BUP'R INDICATED BY THE USER
I WRT CHK 1 8LOCK-3SECS.1400 WRDS

BEGUe

010524

012737

176408

001444

010532
010540
12110546

12113737
1'112737
0U737

12101450
176400
0914114

001432
001436
091434

010554

00121404

010556
010560
010562

104415

READI

MOV

'-14£10, WWRDCN

MOV
MOV
MOV

ADRES, DSUDR
• -14.121, WRDCNT
PBU'0, BUSADR

BR

RDAGUN

IDISK ADRES TO READ 'ROM
J 1 aLOCK • 3 SECTORS • 1400 WRDS
rUSE ' IOBUF0' TO READ INTO
lOR THE BUFR INDICATED BY THE UStR

LUPIINI CON.RESET
DRV.RESET
8R
RDAGUN

104416
000401

010564

104415

010566
010574
010602

0U777
013777
913777

001432
001436
001434

170670
179656
170652

010610

012777

008405

010616
810624
010632

013737
017'737
004777

891406
170574
170572

LUPH!:C

CON.RESET
MOV
MOV

,READ FROM THIS DSK-AORES
MOV
DSKADR, .RKD A
,THIS • OF WORDS
WRDCNT,IRKWC
BUSADR,IRII:81
: INTO THIS BUFR

l78U0

MOV

1405,IRKCS

:READ,SSE,GO

001446
0014]8

MOV
MOV
JSR

PBU,I, BUFNO
IPRSPAT, PGSUBR
PC,IJPGSUBR

:SET UP STARTING ADRES

RDAGAINI

,GO GENERATE A BUFFER

SEQ 0058

MAINDEC-l1-DIRKL-D
MACYll 27(1006) 04-0C'-76 14.26 PAGE U
READ, SOFTWARE COMPARE, WRITE CHECK or THE PATTERNS
31-AUG-76 1!5135
T7
DZRKLD.Pll
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
229]
2294
2295
2296
2297
2298
2299
2300
2301
2)82
230]
2304
2305
2306
2307
2108
2]09
2lt0

StQ 0"59

: or 1400 WORDS USING THIS
,PATRN GENRATR
I DONE WITH PATRN GENRTNG,
I WAIT rOR CNT ROY TO SET
J (fROM PREVIOUS REAO)

010636

104421

010640
0U1646

032777
001416

848000

170610

BIT
BEQ

010650
010656
010662
010664
910666
010672
010674
0U1700
919704
01111712

012737
004737
104021
10441!5
005237
001002
000137
000137
032777
901417

010564
016140

00111111

MOV
ILUPHE, 'LPERR
JSR
PC"GETINF
23
ERROR
CON.REIIET
ERCNTl
INC
BNE
11
EXT7
JMP
JMP
FINISH
BIT
UIT9"RKOS
BEQ
NOSIN

010714
010722
019726
010730
010732
010734
010740
019742
010746

012737
904737
104011
10441!5
104416
005237
001092
000137
000137

910556
016140

012114
011436

11.

010752
010756
010760

005737
0010]1
005237

flfl1!504

HOIIII"

010764
010772
010174
011002
011006
011014
011022
011024
011030
011 0]2
011036

032777
01lJ142]
012737
004737
013737
062737
'04024
005237
"011'l02
000137
800137

CON.RDY

001510
012114
011436
001000

I,.
170540

NOHE.

001110

901512

001!504
000002

170462

010456
016140
001252

001110

0H004

001202
001202

001514
012114
011600

lit

UITt4, tRKCI
NOHE

MOV
'LUPUN, tLPERR
JSR
PC,GETINF
ERROR
11
CON.RElSET
DRV.REIET
tRCffT4
INC
BNE
11
EXT7
JMP
JMP
FINISH

,CNT ROY SET
I HARD ERROR?

IHARD ERROR
IALLOW 12 ERRORS AT MOST
IIF MORE, EXIT
ISIN SET?
,NO

,SIN ON READ
I ALLOW 5 ERRORS AT MOST
I IF MORE, EXIT

TST
BNE
INC

ERCflTl
WRTCHK
ERCNTl

ICHtCfCING CSE rOR 1ST TIME
,NO,BRANCH
: INDICATE THAT CSE HAS BEEN
,CHECKED ONCE

BIT
BEQ
MOV
JSR
MOV
ADD
ERROR
INC
BNE
JMP
JMP

'BIT1, .RKER
WRTCHK
.8EGIN,tLPI!:RR
PC,GETINr
RETRYl, .REG10
I4,UEGte
24
I!:RCNT5

'CHECK SUM EROR?

,GET THI!: RETRY •
,SAVE IT rOR TYPEOUT
ICSE
,ALLOW 10 ERRORS AT MOST

11
EXT7
CSEROR

,IF MORE, EXIT
, GO, SERVICE CSE

tRCNT2

'CLR rLAG INDICATING SOFTWARE
'COMPARE DONE
I WRT CHK DONE BErORE OR
I IT'S 1ST TIME?
,If DONE, BRANCH OTHERWISE DO IT
,WRT CHK rROM THIS DSK-ADRES
,THIS • ro WORDS

2311
2312

011042

005037

001506

O11046
011054

022737
001016

000003

O01256

WRTCHICI CLR

811056
fl11064

013777
011771

001440
001444

178400

2313
2314
2315
2316
2317
2318

170366

CMP
BNE
WCAGllNI MOV
MOV

U,RETRY3
srTCMP
WDSKAD, tRKDA
WWRDCN, 'RKNC

MAINDEC-11-DZRKL-D
MACYl1 27(1006) f/l4-0CT-76 141:116 PAGE 44
T7
READ, lonWARE COMPARE, WRITE CHECK or THE PATTERNS
31-AUG-76 15.35
DZRKLD.Pll
2319
2320
23:zt
2322
232]
2324
2125
2326
2327
2328
2329
2111il
2331
2332
23]]
2314
2335
23)6
23]7
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
234a
2349
2350
2351
2352
235]
2354
2355
2356
2357
2358
2359

2]60
2361
2362
2363
2364
2365
2366
2367
2368
21159
2370
2171
2372
2371
23'74

01 ]117

881442

1711136:11

MOV

IfBUUD, 'RKBA

,IUTH THIS BurrER

011 te0

012177

800407

170350

MOV

"87, .RKCS

,WRT CHK,GO,SSE

011106

005]]1

001256

DI!:C

RETRY]

'INDICATE WRT CHK DONE

011112
011116

005737
001060

001506

snCHP. TST
BNI!:

ERCNT2
WCREPT

011120

005237

001506

INC

ERCMU

I SrTWARE CMPARE DONE ONCE BErORE'l
I IF snNARE CMPARI!: HAS BEEN DOJlE
,ONCE DON'T DO IT AGAIN. O'1'HERNISE,
,DO IT. INDICATE IT IS OONE.
IMORE THAN ONCE BEFORE.
,Ir THIS IS 1ST TIME THRU "
,WRT CHK WAS DONE ONCE BErORE
,DO SOFTWARE COMPARISON or
,THE DATA THAT WAS READ rROM
,THE DISK

O11124

012102

001266

MOV

nurR,R2

011130
011134

812101
012704

001320
801352

MOV
MOV

l8urRl, Ftl
'8urR2,R4

011140

005017

001500

CLR

011144
011150
011156
011162
011170
811172
011174
011200
011282
011204
011210

813108
012737
013101
012737
021011
0"1402
000137
005720
085721
085231
0IU]67

001484
177764
001406
176400

011212

005737

001500

811216
011220
811226
8112]8
811234
811236
011242
811246
.112511
1112506

001420
812737
104025
805237
081002
e81U7
185737
801414

011012

.. U37
881U7

111268

104421

811262

022737

81127.
811272

.01417
'01401

001502
00126e

011742
081260

810532

COMPAR. MOV
MOV
MOV
MOV
CMPAGU. CMP
BEQ
JMP
TST
U.
TST
INC
BNE
TST

0151110

111516
112114
881254
881254
111532

8!Q
REPMSCI MOV
ERROR
INC
INE
JMP
U.
TST
IEQ
INC
JMP

INDXl

ICLR rLAG INDICATING MISCMPRE

PBur0,R0
'-14,INDX4
PBurl,Rl
.-1480,INAOR
(R0),(R1)

'INITLZE PTR TO 'RECVD DATA' BurR
ISTORE AND REPORT 12 OR LESS DATA ERRORS
,INITLZE PTR TO 'EXPCTD DATA' BurR
,SET COUNT
,CORRECT WORD READ fROM o11K?

U
MISeHP
(R0)+
(R1 )+
INADR
CMPAGAN

'BRANCH IF MISCMPRE ERROR
,INCRMNT PTRS
I TO NXT WORDS
IDONE WITH CMPRISON?
,Ir NOT, COMPARE THE REST

IHDX]

,WAS THERE A BAD DATA WORO
,(EVEN AFTR RETRYING)
INO, BRANCH

WeRIPT
.READ,IUIRR
25
ERcn6

081254

,DATA ERROR
I ALLOW 10 ERRORS AT MOST

11
EXT1
RETRY2
WCREPT
RETRY2
READ

If CREP'!' I CON.ROY
177776

I INITLZE PTR TO BUfR STORING
, ADRES OF BAD DATA
,STORE EXPCTO DATA STARTING HERE
ISTORE RECVO (BAD) DATA
, STARTING HERE

CMP

.-Z,RETRY2

BlQ
IR

ERIICHK
LUPWCE+2

,IF MORE, !XIT

, WAI'!' rOR eNTRL ROY rROM
JPREVIOUS WRT CHK
,IF THERE IfA.S A RETRY UTI!:R MISC
,-OMPARtlON, DO IIRT CHit AGAIN

SEw "060

04-0CT-76
14126 PAGE 45
MAtNOEC-l1-0ZRKL·O
MACYll 27(1006)
READ, SOFTwARE COMPARE, WRITE CHECK or THE PRTiERNS
T7
3t·AUG-16 15135
OZRKLD.P11
2375
2376
2371
2378
2379
2390
2381
2392
2383
2394
2395
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397

2)98
2399
2400
2401
2402
240]
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2114
2415
2416
2417
2418
2419
2420
2421
2422
24'-3
2424
2425
2426
2427
2428
2429
2430

011274
011276
011304
011312
011320

104415
013777
013777
013777
012777

011326
011330
011336
011344

104421
012737
032777
001410

011346
011352
011354
011360
011362

004737
104026
005237
001002
000137

016140

011366
011374
011376
011402
01t410
IH 1416
liii 420
011424
011426
011432

032777
001420
004737
012737
163737
104027

000001

170060

016140
000003
001256

001202
001202

00523i
001002
000137
000137

001440
001444
001442
000407

170160
170146
170142
170130

011274
040000

001110
170106

LUPWCEI CON .RESET
WOSKAD, PRKDA
MOV
IIWRDCK, PRKWC
MOV
MOV
WBUSAD, PRKBA
t407,PRKCS
MOV
CON.RDY
'LUPWCE, aLPERR
ERWCHKI MOV
fBIT14,PRKDS
BIT
BEQ
XHE

001520
012114
XH!I

".H5n
012114
012006

lSI

JSR
ERROR
INC
SNE
JMP

PC,GETIHr
26
ERCNT7
XHE
EXT7

BIT
SEQ
JSR
MOV
SUB
ERROR

UIT0,PRKER
ntHSH
PC,GETINr
t3,SREG10
RETRY], SREG10
27

INC

2:~CNT8

BNE
JMP
JMP

18
EXT7
WCEROR

,WRT CHK WITH THIS OSK·AORES
,THIS _ or WORDS
',THIS BUS AORES

,HARD ERORHrROM WRT CHIO
,NO, BRANCH

IHE ON WRT CHK
I ALLOW 12 ERRORS AT MOST

,tF MORE, EXIT
,WRITE CHECK EROR?

,GET TRY'
,SAVE IT rOR TYPEOUT
J WRT CHK EROR
: A~LOW 10 ERRORS AT MOST
,IF MORE, EXIT

:THERE WAS NO WCE. DONE
I WITH ALL CHECKING rOR SOFT
I ERORS, ETC. MODIFY PARAMETERS
,TO CHECK HXT BLOCK ON
,THE DISK
011436
011444
011 446
011454
011456

022737
001404
062737
000403
012137

001422

001424

000002

001424

001414

001424

011464
011470
011474
011502

013701
116101
042737
050137

001476
010352
000017
001450

011 506

005237

001476

011512
011520

022737
001025

000004

011522

005037

001476

01 t526

032737

000001

rINISH: CMP
BEQ
ADD
8R
MOV
181
2$1

00145ii1

38 I

001476

MOV
MOVB
BIC
BIS

INOX2, R1
SECPTR (Rl)' Rl
U7,AORES
Rl,AORES

INC

INOX2

CMP
8NE

U,INDX2
G09AK

DONTRK: CLP
001474

'PATl,PRSPAT

11
32,PRSPAT
2.
'PAT0, PRSPAT

BIT

INDX2
'BIT0,INOXI

,rIND OUT TH! NXT PATRN GENRATIl
:TO US! FOR GENRATING THE
:BUFR,STORE POINTER TO
:GENRATR ROUTINE IN 'PRSPAT'
: NOTE THER R 4 PAT"GENRATRS
, PAT0-PATI-PAT2-PAT3-···PAT0,FORM SECTR • TO BE USED NEXT
,GET SECTR •
,MASK SECTR BITS
, FORM THE NEW DISK·ADRES
: FORM THE NXT BLOCK TO BE
,CIfECK!:D.
fDONE ALL 4 BLOCKSO SECS
,EACH) ON THIS TRACK?
,IF NOT, GO BAK , 00 TIfE
, NXT BLOCK ON THIS TRACK
,REINITLZE COUNT rOR
: 4 BLOCKS ON THIS TRACt(
,wHICH SUR TO DO NXT? 0 OR 1

04-0CT-76
14126 PAGE 46
MACYll 27 (1006)
"AINDEC-l1-DZRKL-O
T7
READ, SOFTWARE COMPARE, WRITE CHECK OF THE PATTERNS
H-AUC-76 15135
OZRKLD.Pll
2431
2432
2433
2434
2435
2436
2437
2439
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449

011534

BEQ

001407

DOSURI

2474
2475
2476
2477
2478
2479
2480
2491
2482
2493
2484
2495
2486

:BRANCH, DO SUR 1 NXT

011536

062737

000040

001450

ADD

H0,ADRES

011544
011552

042737
000403

000020

001450

8IC
8R

'20, ADRES
DONE

,CLR SUR BIT, DO SUR 0 NXT

011554

052737

000020

001450

DOSURl! BIS

120, ADRES

:SET SUR BIT, DO SUR

011562
0tt566
011570

005237
001002
01i"'1137

001474

DONEI

,DONE WITH ALL 626 TRACKS?

JMP

INDXl
GOBAK
TST10

0tt5B

000137

010456

JMP

BEGIN

IIF NOT, GO BAK ,
,THE NXT TRACK

012120
GOBAKI

INC
SNE

011600
011600
011604
011606
011612
011614
011620

CSERORI
017700
010001
032700
0011:102
162700
005300

167660
000017
000004

lS.
001432

011622

020037

011626

00102.1

011630

005237

011634

001021

011636
011640
011644
011646
011652
011656

0te102
042702
001002
000tl7
162702
100372

IH1660
011662
011670

010100
012137
000403

177775

001252

011612

012737

177776

001252

011700

010037

001432

001252

177760
781
011042
000003

8$:

NXT

CHECK

,THIS IS THE ENTRY POINT
,FOR SERVICE ROUTINE rOil CHECK,SUM EROR. CONTROL IS xrERED
,HERE ONCE CSE OCCURS

ICSEROII

245~

2451
2452
2453
2454
2455
2456
2457
2458
2459
246"
2461
2462
2463
2464
2465
2466
2467
2469
2469
2470
2471
2472
2473

SEQ 006i

MOV
MOV
SIT
BNE
SUB
DEC

IRKDA, R0
R0,Rl
U7,R0
is
I4,R0
R0

CMP

R0,DSKADR

BNE

2S

INC

RETRY!

BNE

3.

MOV
BIC
SNE
JMP
SUB
BPL

U

,GET RKDA AFTER CSE
,SAVE RKDA
,rORM THE ADRES OF THE SECTR
,WHICH GAVE CSE
,R0 CONTAINS DSK·ADRES WHERE
,CSE OCURED
: DID A PREVIOUS RETRY (IF ANY)
f GIVE CSE ON SAM! ADRES
,NO, THIS IS A FRESH CSE, BRANCH.
: IF THIS WAS A CSE ON A
, RETRY INCMNT RETRY COUNT.
,BRANCH IF 3 RETRIES HAVEN'T
IBEEN DONE
,GO REPORT CSE
: IF CSE WAS IN THE LAST SECTR OF
,THE 3 SEC SLOCK, GO TO 'WRTCHK'
10THERWISE CHECK THE REST or
ITHE SECTORS FOR CSE.

R1,R2
1177760,R2
WRTCHK
'),R2

71

61.

MOV
MOV
eR

Rl,R0
,-3,RETRYl

2"

MOV

,-2,RETRYl

: ALLOW 2 MORE TRIES FOR
,THE CS! ON SAME DISK·ADRES

lSI

MOV

R0,DSKADR

:SAVE DSK·AORES rOR DOING
,THE RETRY·READ

3S

SEQ 0062

04-DCT-'6 14126 PJoGE 41
MJoCYl1 27(1006)
MJoIHDEC-ll-DZRKL-D
T7
REJoD, SOFTWJoRE COMPARE. WRIT! CHECK OF THE punRNS
l1-AUG-a 15135
IlZRKLD.Pll
2487
2488
2489

2493
2491
2492
2493
2494
2495
2496
2491
2498
2499
2500
251!l1
25fi!2
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2539
2531
2532
2533
2534
l535
25]6
2537
2538
2539
2549
2541
2542

011704
011710
0lJ712
011714
011716
011724
011732

163700
005200
00530"
001407
062737
062737
000767

011734
011736

104415
000137

001450
4"
001"0"
900400

001434
901436

5"

010566

SUB
INC
DEC
8EQ
JoDD
ADD
8R

A!)RES,R0
R0
R0

S.

U 000, BUSADR
.400. WRDCNT
4t

CON.RESET
JMP
ROAGAIN

, MISCMP

011742

194421

011144
011752
011754

032777
001401
104415

1111756

IU9022

011760
011762
1111764

012123
012024
005237

011 770
011774

005237
001402

16750~

,WAIT rOR CNTRL ROY FROH
,PREVIOUS WRT CHK

IBIT14,.RKCS
BIT
8EQ
it
CON.RESET
1$1

901500
901502

'CLR WCE IN RKE!!
18UT STILL DATA EROR ENTER HERE
:STORE MEM ADRES WHERE
IDATA EROR OCCURED
:SAVE EXPCTD DATA
,SAVE DAU RECVD (BAD)
: INDICATE MISCMPRISON

MOV

R0, (R2)+

MOV
MOV
INC

(Rl )+, (11])+
(R9)+, (R4)+
INDX3

INC
BEQ

U

ISTORE ONLY 12CDEC) ERORS
IIF 12 ERORS, GO REPORT THEM
,GO BACK , CMPARE THE REST

INDX4

011776

01!11!1137

0111'70

JMP

CMPAGAN

012002

00U17

011220

J!oIP

REPMSC

4"

ICLR THE CiE IN RKER
,GO SACK, READ AGAIN
,RETRY

,THIS IS THE ENTRY POINT
,rOR SERVICE RCUTINE, FOR
,DATA EROR (MISCOMPARISON)
JON SOFTWARE COMPARISON
,OF DATA READ rROM TH!!: DISK BLoeK

MISCHPI CON.RDY
040090

I THI S THE ENTRY POINT fOR
I EROR SERVICE ON GETTING A
,WRITE CHECK EROR.

1!112006
012012

01!15H7
0n0]5

0fJ12!\6

012'H4

012737

01!11!100]

812022
812026
012030
11112034

017700
1!110092
042792
"01002

167436

WCERORI TST
BGT
901256

177760
3"

RETR'l3
CLRERR

,DONE 3 TRIES?
J IF NOT SKIP. OTHERWISE REPORT
,W C EROR

!oIOV

t),RETRlt'1

,SET CO NT fOR RETIHES

MOV
MOV
BIC
BNE

'RKDA,R0
R0,R2
tl77769,R2

:IF
:OF
:TO
I IF

48

WCE ilAS IN THE LAST SECTOR
THE BLOCK, NO MORE SECS
CHECK, GO TO 'FINISH'
IT NASN'T LAST SECTOR Of THE

MA INDEO:-I1-DZRKL-O
MACYl1 21( 1006) 04-0CT-76 14126 PIIGE 48
D'ZIIKLO.PI1
)!-AUG-7!i 15135
T7
READ, SOFTWARE COMPARE, WRITE CHECK OF THE PUTERNS
254]
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2551
2558
2559
256"
2561
2562
2563
2564
2565
2566
2567
2568
2569
2579
2571
2572
257]
2574
2575
2576
2511
2578
2579
2580
2581
2582
2583
2584
2585
2586
258'7
2588
2589

2591
2591
2592
2593
2594
2595
2596
2597
2591

SEQ 0063

,MODIFY THE
18US JoDRES , WORD COUNT
,TO BE USE ON RE'tRY,REJoD

012036
012042
012046
01205"
912052
"12056
012"62
012064
012066
012070
012076
012104
012196
012110

000137
162782
100372
018801
163700
010137
005200
0053"8
01!1U07
1!162737
062737
01!111767
104415
000137

012114

004737

011436
1I1!10093

011956

JMP
FINISH
411
SU8
n,R2
BPL
38
lSi
MOV
R0,Rl
SUB
NDSKAD. R0
MOV
R1, WDSKAD
INC
R0
2. I
DEC
R0
BEQ
CLRERR
ADD
It 000, w8USAD
ADD
U1!l0, WwRDCN
BR
2.
CLRERRI CON.RESET
JMP
WCAGArN

016716

EXT71

901440
091440

1101000
0004e0

0et442
001444

JSR

,8LOCK, THEN CHECK REMAINING
'SECTORS. (STARTING FROM THE
,SEC ArT:::R THE ONE GIVING WCE)
,SAVE DISK ADRES
,GET SAVED DISK ADRES

,FORM THE NEW 8US AD RES
,fORM THE NEW WORD COUNT

PC, ABRT

: '***************************~ ***************************** •• *.*.
,IITEST 10
WRITE, wRITE CH!CK ON CYLINDERS 127, 128
.*THIS TEST WRITES 12 UNIQUE PATTERNS (ONE FOR EACH
,*SECTOR) ON CYLINDERS 127 AND 128. THEN WRITE
,.CHECK Is DONE TO SEE IF TH!! WERE WRITTEN
IT SHOULD BE NOTED THAT THERE IS
,*CORRECTLY.
,*CHANGE IN 'WRITE' CURRENT AT THIS CYLINDER.
,.'ATTERNS ARE RELOCATED ON THE CYLINDERS AfTER EACH
,.WRITE/WRITE CHECK CYCLE.
THUS THE FIRST TIME
,.PATTEJlN 'SP1' IS WRITTEN ON SECTOR 9, PATTERN 'SP2' ON
•• IECTOR 2, ETC'.
ArTER THIS IIRITE/WRITE CHECK C'YCLE
,*IS OVER PATTe:RN 'SP2' IS WRITTEN ON SECTOR 0, PATTERN
'SP3' ON SECTOR 1 AND SO ON.
THIS WRITE/wRIT!
, *CHECK CYCLE 18 REPEUED 12 TIMES, THUS
I.THE LAn WRITE/WRITE eHECK IS DONE USING
,tPATTERN 'S'12' ON SECTOR 0, PATTERN 'SP1' IS
,.IIR~!TEN ON SECTOR 1, PATTERN 'SP2' ON SECTOR 2,
,toETC.
IF YOU IIANT TO WRITE ANY OTHER PATTERNS
,.FILL IN THE PATTERNS YOU IIANT IN LOCATIONS
,*'SP1', 'SP2', ••• ETC.
" .**.* •• ****** ••• *.*.****.***.**.* ••• ** •••• **.** •• **.***.* ••••••
UTI 9 I
SCOPE

,.1

912120

111101104

012122
812U0
812136
1112144
812150
012152
812156
812162
812164

1112737
11127,.,
1112731
812712
810201
8121119
11537110
ell5eu
104415

812166
812172
012288
0122114
012212

811J877
012171
810177
1112777

104421

117764
177764
177723
012626

001584
0"15116
801510
DOWRTI

097740
0111 :B8
III1LOI J
ilflERRI
161272
17H1I8
167256
"9408]

WPLO!
167360
167244

MOV
• -14, !RCNT 1
MOV
'-14,ERCNT2
MOV
'-55,ERCNT3
MOV
U'lIA2
MOV
R2,Rl
MOV
..,H0,Re
BIS
DRIVAD,R8
CLR
RJ
CON.RESET
MOV
MOV
MOV
MOV
CON.ROY

R0,'"KDA
.-400, 'RKWC
Rl, tUBA
U'''!IldIPKCS

J ALLOII 12 ERRORS AT
,ALLOW 12 ERRORS AT
I ALLOW 15 ERRORS AT
,INITUUIE POINTER

MOST
MOST
MOST
'1'0 PATRN

,SET UP CYL ADRES BITS (127'
,lET UP DRIVE. BITS

,ADRES THE DRIVE
,WRITE 1 SECTOR
'US! THIS PATTERN
IIiRITE, GO

SEQ 0064

14126 PAGE 49
04-0CT-76
MAINCEC-I1-0ZRKL-O
I4ACY11 27(1006)
WRIU, WRITE CHECI< ON C-YLINDERS 12;, 128
ll-AUG-76 15135
OZRKLO.Pll
T10
2599
2630
2631
2602
2603
2604
2605
2606
2607
2608
2609
26'0
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621

",V""

2623
2624
2&25
262&
2627
2628
2629
2630
2631
26H
26))
2634
2635
2&36
26]7
2618
2639
2&49
2641
2642
2643
2644
2645
264&
2647
2648
2649
2650
26'51
260;2
2053
2654

012214
012222
012224
012232
012236
012240
012242
012246
012250

032777
001414
012737
8847)7
104021
104415
905237
1'101002
000137

012254
012256
1'112260
012264
012266
012272
012274
012300
012302
012304
012306
012312

005200
005203
02271'11
001002
012701
005721
020327
0027)2
001005
010201
1142700
052700

17.1~"'10

620327

012322

001321

012324
012))0
012H2
012))6
012342

032700
001405
012700
053700
000707

012344
012346
012354
012360
012364
012366

010201
1'112737
012700
053700
005003
010071

012372
012400
012404
012412

012777
1'110171
012177
104421

012414
012422
012424
012430
012432
012436
012440
012446
012450
012456

032171
001496
00473"1
104026
005237
001507
032771
001425
012737
004737

148000

167234

I1J12164
016106

001110

1140000,tRKCS
BIT
U
BEQ
.WRERR, tLPEIIR
MOV
pC,GT4RG
JSR
21
ERROR
CON.RESET
ERCNT1
INC
SNE
JMP
EXfi0

..

001584
012656
4 ..
012654
812624

lSI
000014

000017
000020

01)8033

2&5

007100

WIIHII

010000
001230

177775
010000
001230

001252

167072
177400
167056
004007

167060

040000

167030

167044

000081

167006
001110

Ct;lP
SNE

Rl,#10

iOCN~

WRLO

,NO, BRANCH

BIT
8EQ
MOV
81S
BR

.7730,R0
DOIiCHK
110000,R0
DIlIVAD,R0
WRLOI

,DONE IiITH BOTH CYLINDERS - 127 ,
:YES
:NO, DO CYLINDER 128

R2,1I1
'-3,RETRY1
U0000,R0
DIlIVAD,R0
R3
R0,fRKDA

,WRITTEN, NOW DO WRITE CHECK
'INITIALIZE POINTER TO FIRST PATTERN
IRETRY COUNT
,DO CYLINDER 128 F'IRST

MOV
.-400,fIlKWC
MOV
R1,tRK81\
MOV
H007,PRKCS
CON.ROY
8IT

001506

012366
016140

R0
R3
tSpl2,Rl
31
181'1-2, Rl
(R1)+
Al,lt4
WRLO
21
R2,R1
117,R0
'20,R0

BEQ

IH6140

1$1

,SET ADRES FOR LOOPING ON ERROR
IGET TKCS, ER, OS, 01\
,ERROR OCCURRED ON DOING 1\ WRITE
: CLEAR THE ERROR
: ALLOW 12 ERRORS ONLY

INC
INC
CMp
SNE
MOV
TST
CMp
BLT
BNE
MOV
SIC
BIS

DOWCHKI MOV
MOV
MOV
SIS
WCHI11
CLII
MOV
WCERRI
\rICHII

SEQ 0065

:ANY ERROR?

JSR
ERROR
INC
8EQ
BIT
BEQ
MOV
JSR

140000, PRKDS
U
pC,GETINF
26
ERCNT2
EXT10
• 8I T0, fRKER

48
.WCERII,ILPERR
PC,GETINF'

:KEEp COUNT
:USE PATTERNS IN A CYCLIC F'ASHION
: INCREMENT POINTERS TO NEXT PATTERN
JDONE SURF'ACE 0?
,NO
:YES, IF' CHANGING HEADS
,SET UP CORRECT ADDRESS ETC.

WITH WRITING SU::tFACE 11
128'?

JGO BACK
JCYLINDERS 127 AND 128 HAVE BEEN

,AORES THE DRIVE
: WRITE CHECK 1 SECTOR
: WITH THIS PATTERN
: WRITE CHECK, GO
JHE?
;NO
:HE ON DOING WRT CHK
,ALLOW 12 ERRORS ONLY
: IF MORE, EXIT
fWC!?
,NO
:SET ADRES F'OR LOOPING ON ERROR
; GET INFO ON ERROR

04-0CT-7& 14126 PAGE 50
MACY11 27(1086)
MAl "OEC-l1-DZRKL-D
31-AUG-76 15115
T10
WRITE, WRITE CHECK ON CYLINDERS 127, 128
DZRKLD.Pll
2&55
26'56
2657
260;8
2659
2660
2661
2662
2663
2664
2665
2666
2667
2669
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2M9
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2708
2701
2702
2703
2704
27,,5
2706
2707
2708
27,,9
2710

012462
012471'1
012476
012500
012584
012506
012512
012514

813737
062737
104027
005237
0ill))0
005237
001461
0127)7

001252
000004

012522
012524
012526
012532
012534
012540
012542
012546
012550
012552
012554
012560

005200
005203
022701
001002
012701
005721
020327
002711
001005
0H1201
042700
052700

012564
012570

020327
01'l1100

000030

012572
012576
012600
012604
012610

032701'1
01'1101'15
01271'10
1'15371'10
000665

1'107700

012612
012614
012620
012622

005722
020227
001420
01'10137

1'112626
0126)0
IH26)2
IH2634
0126)6
012640
012642
"12644
012646
1'112650
O12652
012654

177777
052525
111111
810421
1021'141
018101
048201
"0841'11
031463
'78707
01'17417
"41820

012656

"04737

001202
001202

MOV
ADD
ERROR
I lie
SNE
INC
SEQ
MOV

RETRY!, SREG13
14, CIIEG10
27
RETRY!
WCERR
ERCNT]
EXT10
'-3,RETRY1

INC
INC
C'4P
8NE
MOV
TST
CMP
BLT
8NE
MOV
SIC
8IS

R0
R3
t5P12,Rl
.Spl-2,Rl
(R1)+
R3,U4
WCHI
21
R2,R1
U7,R0
.20,R0

,rASHION
: INCREMENT POINTER TO NEXT PATTERN
,DONE SURnCE 0?
INO

2S1

CMP
BNE

IIl,U0
WCHI

:DONE WRITE CHECKING SURnCE I?
;NO, GO BlCK

WCLOI

BIT
BNE
MOV
8IS
BR

11700,R0
REPEAT
11741'1,R0
DRIVAD,RI'I
IrICHI1

,DONE 80TH CYLINDERS - 127, 1287
,YES, BRANCH
:00 CYLINDER 127 NOW

(R2)+
R2, 'SP12+2
TST11
DOWRT

,RELOCATE THE PATTERNS ON THE
fCYLINDERS AND 00 IT AGAIN
, ,EXIT
:THIS TEXT)

001252
001519
177775

001252

48.
012654
012624
3S1
000014

000017
000020

1'107741'1
01'11230

012656
012150

REPElTI TST
C!4P
BEQ
JMP

: WCE ON DOING WRITE CHECK, WITH
:pATTERN STORED IN Rl
: DO 3 TIMES IN ALL
,ALLOW 15 ERRORS ONLY
,IF MORE, EXIT
,KEEP TRAC K OF DISK-ADRES
'AND COUNT
fUSE PATTERNS IN CYCLIC

lS

: IF CHANGING HEADS (0-1), SET CORRECT
,ADRES BITS

JPATTERNS TO BE USED

016716

SP1I
8P21
8PlI
SPU
8P5&
SP6I
SP71
SP8I
SP91
SPl01
8Pll1
SP121

.WORD
.WORD
• WORD
.WORD
.WORO
.WORD
.1I0RD
.WORD
.WOIID
.WORD
.WORD

EXTler

JSR

.WOllD

177777
1152525
111111
810421
1112041
"111101
04e201
000491
el1463

rnnrn

007417
"41820
PC,ABRT

J IF YOU WANT TO WRITE ANY
JOTHER PATTERNS, CHANGE THESE
,12 LOCATIONS TO ANY PATTERN
IYOU WAIfT •

SEQ 0066

MUNDEe-! l-DZRKL-D
MACYll 27(10"" "4-0CT-76 14.26 PAGE 51
DZRKLD.Pl1
31-_UG-76 15135
T10
WRITE, WRITE CHECK ON CYLINDERS 127, 128
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
272)
2724
2725
2726
2727
2728
2729
2730
2731
2732
2731
2714
2735
2736
2717
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
27S6
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766

012662
012664
012672
012674
012700
012702

000004
032777
001002
000137
104415
104416

IH 27"4

012737

177771

012712
012716

104401
000424

01272"

012770
012770
012774

104401
00"421

012776

013040
013040
013044

104401
000421

013046

013110
013116

012737
012737

001542
001524

000100

166246

014"32

SEQ 0067

, , ***************************************************************
,*TUT 11
SEEK rUNCTION TIMER
,*SEEK TIMER
:*IN THIS PART or THE PROGRAM SEEKS ARE TIMED BETWEEN A PARTICULAR lET
,*or CYLINDERS, 80TH IN THE rORr/RAD DIRECTION (0-312) AND REVERSE(JU-0),
I *******c AUTION******
,*IT SHOULD 8E NOTED THAT THE SECTOR COUNTER CIN RKDS) IS USED AS THE REAL
I*TIME CLOCK TO DO THE SEEK TIMING. FOR THE TIMES TO 8E RELIULE, THE
,*SECTOR COUNTER SHOULD 8E ACCURATE WITHIN THE SPECIFICATIONS or THE DISK
1500 RPM _ 40 MILl SECSIREV -3.33 MILl SECS/SECTOR,
,*SPEEDe'
,*VARIATION. +-30 RPM
, ,***************************************************************
TaTtll SCOPE
BIT
taW6"SifR
IINHIBIT TIMER?
BNE
.+6
JMP
PLTGRPH
CON.RESET
DRV.RESET

001252

,,65"

. . 7,RETRYl

TYPE
81'1
.UCI!

,651
"TYPE UCI! STRING
648
"GET OVER THE ASC I!
<15><12>/SEEK TIME SCALE rACTOR-0.01 MILl SECSI

64 ..

,,67"
66U

, COUNT rOR 7 DIrRNT sEEK TIMES
,TO 8E RECORDED

MOV

TYPE
8R

,67.

66t

nTYPE ASCI! STRING
, , GET OVER THE ASC IZ
or
SEEK
• or

.AScn

<15><12>< 12>1

TYPE
81'1
.lSen

,698

, ,TYPE ASCI! STRING
, ,GET OYER THE ASCIZ
TIME/(15)<12>
TIME
SEEKS
<15><12>1 SEEKS

001260
001262

MOV
MOV

UlAD,INADR
ISDAD, OUT_DR

IINIT"!E PTR TO INNER ADRES
,INI'fL!E PTR TO OUTER ADRES

REPTIM I MOV

'OUTADR, 'RKDA

, POSITION HEADS TO OUTER CYLINDER
: BEFORE STARTING TO TIME
, SET DRIVE • SITS
rSEEK, GO
,WAIT FOR CNTRL ROY
, ifAIT rOR R/W/S ROY

SEEKI

6"

013110

013124

017777

1661]2

166332

013132
01314111
,nU46
013150

053777
11112777
104421
104422

0012]0
000011

166324
166310

013152
'HU56
013162
013166

005037
012704
012705
1'112737

001474
"26742
027342
177634

013174

013702

001464

BIS
DRIVAD, flRKDA
MOV
U 1 , '!lKCS
CON.RDY
TST.RWS

"01476
BEGSKI

CLR
MOV
MOV
MOV

IHOXl
tBUrR10,R4
nurR11,R5
.-144,INDX2

MOV

RKDA,R2

JINDXl • 0, GOING IN, OTHERWISE OUT
, STORE rliRD SEEK TIMES IN THIS BUFR
,STORE REVRSE·
"
, SET COUNT rOR • or SEEKS

MAINDEC-U-DZRKL-D
MACYll 27(1006) 0.-0CT-76 14126 P_GE 52
DZRKLD.Pl1
H-AUG-7l'i 15135
Til
SEEK rUNCTION TIMER
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2791
27U
2781
2794
2785
2796
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
281iJ0
2801
2802
2803
2804
2ee5
2806
2807
2808
2809
2810
2811
2812
29n
2814

2815
2816
2817
2818
2819
2820
2821
2822

SEQ 0068

01)200
e13204

005737
001005

001474

TST
BHE

INDXt
18

J GOING P'WRD OR REVRSE?
,REVRSE, BRANCH

013206
01n12
013216

017712
053712
""0404

166046
001230

MOV
BIS
BR

UNADR,flR2
DRIUD,flR2
Z.

, FifRD, SET INNER ClL ADRES
,SET DRIVE' BITS

013220
013224
013230

IH 7712
053712
004737

1660]6
001230
014722

MOV
BIS
JSR

flOUTlDR,flR2
DRIVAD"R2
PC,UTIMSEK

J SET OUTER CYL ADRES
,SET DRIVE. 8ITS
,GO, TIME THE SEEK rROM CYLINDER
,0 TO THE ABOVE CYL. RETURN WITH
,R3 CONTAINING THE TIME (MS, SCALE
:rACTOR- 0,01) REQUIRED FOR THE SEEK.

"13234

005737
001004
"10324
005237
000751

001474

013242
013244
013250

TST
8NE
MOV
INC
8R

INDU
31
R3, (1'14)+
INDU
8EGSK

01)252
013254

010325
005e37

MOV
CLR

I'll, (R5)+
INDXl

,STORE TIME TAKEN rOR REVRSE SEEK
:Ct.R rLG rOR DOING P'RWRD SEEK

013260
013264

005237
001343

INC
BNE

INDX2
8EGSK

: RECORDED 144 SEEK TIMES
: IP' NOT, GO UK

ill 324e

lt1
211

001474
311
001474
001476

: STORE TIME TAKEN rOR rRIiRD SEEK
,SET FLAG FOR DOING REVRSE SEEK
,GO DO IT

JAT THIS POINT 100 SEEICS HAVE BEEK PERFORMED BETWEEN TWO
,CYLINDERS crORNARD , REVERSE DIRECTION). FORWARD SEEK
,TIMES ARE STORED IN TA8LE STARTING AT 'BurRl0' REVERSE
,STARTING AT '8urRl1'. THE P'OLLOWING CODE FINDS OUT THE
,NUM8ERS or TIMES A PARTICULAR 'SEEK TIME' WAS OBTAINED.
,EXAMPLEI OUT OF 100 TIMES THE SEEK WAS DONE 8ETWEEN
,CYLINDER 0 , LAST.
,70 TIMES IT TOOK 95 MILl SECS
,20 TIMES IT TOOK 85 MILl SECS
,10 TIMES IT TOOK 100 MILl SECS
,THIS INDICATES HOW CONSISTENT WAS THE SEEKING TIME.
,NOTE THAT ONLY 5 DIFP'ERENT ·SEEK TIMES· WILL 8E TYPED
,OUT.
, SORTING ROUTINE
013266
01)272
013300
013306
01H14

012705
012737
"12137
012737
812137

177776
026742
026744
026442
026522

013322
"1)326
01n32
8tH36

013700
013701
012782
0050el

001162
001164
177635

0U340
013342
"13344
013346

021011
003404
"11804
011110

SOUl

MOV
MOV
MOV
MOV
MOV

'COUNT rOR rRWRD, REVRSE
'-2,R5
IINTLZt PTR TO 'SEEK TIME'
uurR10,IREGe
nuru0.2,UEGI
nurR4,UEG2
,INTLzt PTR TO " DP' TIMES'
lBurR5,IREG3

18'

MOV
MOV
MOV
CLR

tREG",R8
'REGI,U
'-143,R2
Rl

,PTA T 'SEEK TIME'

CMP
SLE
MOV
MOV

CRII) ,cRt)
U
CRe)'R4

J SORT THE ITEMS , PUT THEM
, IN DESCENDING ORDER
, LARGER ITEMS AT TOP or LIST,
,SMALLER AT THE BDTTOM

001162
081164
081166
001170

2'1

(Rt) '(1'10)

J COUN! rOR I U

ITEMS TO SORT

14126 PAGE 5)
04-0I:T-76
MAINDEC-l1-DZRKX,-D
MACYl1 2H1006)
SEEK rUNCTIDN TIMER
T11
ll-AUG-76 15135
DZRKLD.P11
2823
2824
2825
2826
2827
2928
2829
2930
2811
2912
28))
2934
2835
2836
2937
28]8
2819
2840
2841
2842
2843
2944
2845

2846
2847
2849
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2673
2874
2875
2876
2877

913350
013352
011354
013356
1313360
013362
013364
013366

010411
005203
005720
005721
01115202
001366
005703
001355

013370
013374
913400
013404
013406
013419
013412
913414
013416
913429

013700
013701
913702
010204
005024
00'5024
005024
005024
005024
01270]

013424
013426
913432
013434

011911
01270]
022011
00i4ii

013436
011440
013444
013446
0U452
013454
013456

005721
916011
005722
012712
005203
001404
000765

013460
013462
013464

005212
005203
001362

013466
013470

005205
001415

013472
013500
013506
013514

012737
012737
012737
012737

013522

000677

lSI

001162
001166
001170

177773
177634

48s

R4,(U)
Rl
(R0)+
(R1)+
R2
2.
R3
U

MOV
MOV
MOV
MOV
CLR
CLR
CLR
CLR
CLR
MOV

'REGe, R0
.REG2,Rl
.REG3, R2
R2,R4
(R4)+
CR4)+
CR4)+
(R4)+
(R4)+
'-5, R3

:CLR OUT 5 WORDS OF
I"
or TIMES'BUFR

MOV
MOV
CMP
8EQ

CR0), CR1)
.-144,R3
CR0)+, (Rt)

IFIND OUT THE ' . OF TIMES'
lEACH 'SEEK TIME' WAS

51

~(j8TAINED

,SORTED ALL ITEMS?
IIr NOT LOOP BACK
IPTR TO 'SEEK TIME'
,SAVE 'SEEK TIME' HERE
I SAVE ' . or TIMES' HERE

,SAVE ONLY 5 DIFRNT 'SEEK TIMES'

(RU+
-2(R0)'(R1)
(R2)+
U'(R2)
R3

TST
MOV
TST
MOV
INC
BEQ
BR

U
U

581

INC
INC
BNE

(R2)
R3
4S

IINCRMNT " or TIMES'
:ALL DONE?
IIF NOT, GO BAK

68c

INC
BEQ

R5
GOTYPE

,SORTED 80TH FRWRD, REVRSE
,'SEEK TIMES', IF YES GO TYPE

MOV
MOV
MOV
MOV

,IF NOT, INITLZE PTR TO 'SEEK TIME'
'BUFR11, .REG0
UUFRll +2, SREG1
• BurR6, • REG2
,SAVE 'SEEK TIME'
:SAVE ' l o r TIMES' HERE
'BUFR7, .REG3

BR

U

177776
900001

027342
027344
026602
026662

SEQ 011169

MOV
INC
TST
TST
INC
BNE
TST
BNE

001162
001164
001166
001170

I SAVE 'SEEK TIME'
,KEEP 't or TIMES'

, GO BAK " DO SORTING rOR REVRSE SEEK TIMES
'TYPE OUT CYL . ' S BETWEEN WHICH SEEK
,WAS TI!oIED. 'OUTADR' TO ' INAOR' , INAOR' TO 'OUTADR'

013524
013526
013530
013534

104401
001213
104401
000403

0135]6

GOTYPEI TYPE
'CRLF
TYPE
BR
: ,6581
,lIScn

"TYPE lISCIZ STRING
, ,GET OVER THE ASC n

,65'
64$
ICYLSII

64*1

013544

2979

MACYll 27(1006)
04-0CT-76 14: 26 PAGE 54
MA I NDEC-II-0ZRKL-D
31-AUG-76 15135
SEEK FUNCTION TIMER
DZRKLD,Pl1
T11
2879
2880
2881
2882
2983
2984
2885
281;6
2887
2888
2999
2890
2891
2892
2893
2894
2995
2896
2997
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
29\5
2916
29\7
29\8
29\9
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
29]3
29)4

013544
013550
013552
013554
013556
013560
013562
013564
013566
013572

017700
006200
006200
006200
006200
006200
010046
104424
104401
000401

013576
013576
013602
013604
013606
013610
013612
1'13614
013616
013620
013624

017701
006201
006201
006201
006201
006201
010146
104424
lil4401
000405

013640
013640
013644
013650

104401
104401
000404

165512

013574
,,67$1
66$1
165456

013626
, 169$1
6U:
002101
013652
1,7lS1
70$1

013&62

MOV
ASR
ASR
ASR
ASR
ASR
MOV
TYPOSS
TYPE
BR
,Ascn

'OUTADR,R0
R0
R0
R0
R0
R0
R0, -(SP)

MOV
ASR
lSR
ASR
ASR
ASR
MOV
TYPDSS
TYPE
BR
.Ascn

UNAOR,Rl
Rl
R1
Rl
Rl
Rl
Rl,-(SP)

TyPE
TYPE
8R
.ASCIZ

:TYPE IT OUT IN DECIMAL
:,TYPE ASCIZ STRING
: ,GET OVER THE Ascn

,67$
66.
I-I

,69,
611S

<15><12>1
,BLNKS9
,71$

7ru

SEQ 0070
I GET OUTER CYL •

:GET INNER CYL •

ITYPE IT OUT IN DECIMAL
"TYPE ASCIZ STRING
:, GET OVER THE ASCIZ
FRWRDI
:ITYPE ASCIZ STRING
I I GET OVER THE ASCn

IREVRSEI
1 TYPE OUT THE ' I or SEEKS' " 'SEEK
ITIME' OBTAINED FOR EACH OF THOSE
ISEEKS

013662
013664
013666
013670
013672
013676
013700
013702
013704
013706
013712

005000
005005
104401
001213
016046
001424
104405
104401
002110
016046
104405

013714
013720
013722
013724
013726
013732
1113734
013736
013740
013744

016046
001416
005705
001402
104401
104405
104401
002110
016046
104405

026522

026442

026662

TYPTIMI CLR
CLR
TYPE
lSI
SCRLF
MOV
BEQ
TYPOS
TYPE
BLNKS2
MOV
TYPOS
2S I

002075
6$1
026602

!oIOV
BEQ
TST
BEQ
TYPE
TYPOS
TYPE
8LNKS2
MOV
TYPOS

R0
R5
BUFR5(R0,,-(SP) ,GET " or SEEKS', IF' NONE (0)
,SKIP TYPING (FRWRD SEEK)
3.
,GO TYPE OUT DECIMAL ' l o r SEEKS'
BurR4 (R0),·( SP) IGET 'SEEK TIME' FOR EACH or
10F THAT 't or SEEKS', 'GO
: TYPE OUT IN DECIMAL
BUFR7(R0),-Csp) ,GET ' I OF SEEKS', Ir NONE (0)
4$
,SKIP TYPING (REVRSE SEEK)
R5
6S
,8LNK13
:TYPE out IN DECIMAL
BUrRIHRI!I,,-CSP) :GET 'SEEK TIME' " TYPE IT
,OUT IN DECIMAL

14.26 PAGE 5!1
04·0CT-76
MACYt1 27(1006)
I4UNOEC.t 1-0ZRKL-O
TH
SttlC fUNCTION TIMER
l)ZRICLO.Ptt
31-AUG·76 15135
2935
29)6
2917
29)8
2939
2940
2941
2942
2943
2944
2945
2946
2947
2949
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
291j7
2968
2969
2970
2971
2972
2973
2974
~975

2976
2977
2979
2979
::1980
2991
2992
2983
2984
2995
2996
2987
2988
2989
2990

013746

000406

011750
013752
013754

005726
005205
8087!17

0137!16
013760
013762

005726
00!1705
001004

013764
013766
013772

005720

013774
014002
e14010
In4014
014016
014024
014026

062737
062737
005237
001406
032777
001402
000137

e2~027

5$

HI

TST
INC
BII

(SP)+
R5
2S

;POP STACIC

411

TST
TS'I'
BNE

(5P)+
115
TIMOON

,POP STACK

5S.

TST
CMP
BNE

(R0)+
R0, fl2
11

I INCREMENT PTR TO TABLES
,ALL ~ONE?
I If NOT GO 8AK

'2,INAOR
12,0UTADR
RETIUl
PLTGRPH
IS.,6, ,SWR
PLTGRPH
REPTIM

,INCRMlfT POINTER TO NEXT
,INNER , OUTER AORES
,ALL DON!?

000012

001335
000002
0000e2
001252

001260
001262

000100

165114

013124

SEQ 0071

BR

TIMOONI ADD
ADO
INC
8EQ
BIT
BEQ
JMP

:INHIBIT TIMER? fURTHtR
,YES, BRANCH
,GO, 8ACIC AND TIME REST
,Of SUKS

:PLOT GRAPH OF 'SEEK TIME' VIS 'CYLIDERS SEEKEO'
,PERFORM SEEK fROM CYLINDER 0 TO EVERY OTHER CYLINDER AND TIME IT.
0,0
1, .··-0 312. NOTE ' SE~TOR COUNTER' IS USED AS A READ
,TIME CLOCK TO TIME THEAE SEEKS. ArTER OBTAINING TilE SEEK TIM!S A
,GRAPH IS PLOTTED OF 'SEEIC TI~E' VIS 'CYLINDER'.

'0

000940

165100

014032
014040
014"42
014046
014050
014052
014060
014064

832777
001002
808137
104415
104416
012737
012704
005037

177465
026742
001260

801500

014070
014076

013777
053777

001260
0111230

165366
165360

IHue4

004737

014722

014110
014112
014120
IU4126
014130
014-132
014140

010324
042177
012777
104421
104422
062737
005237

015150

017777
000011

165344
165338

000040
8015111'1

001260

,TIME THE SEEKS
PLTGRPHI BIT .sw5,tSlfR
BNE
.+6
JMP
UT12
CON.RESET
DRV.RESET
MOV
'-H3,tNDU
MOV
.9UFR10,R4
INADR
CLR
HI

PSICIP TilE GRAPII.,
,YES, BRANCH
1PERFORM 313 SEEKS 0-0,0-1,0-312
,STORE 'SEEK TIME' IIERE
ICLfI CYL AD RES BITS

MOV
BU

INADR, ,RICDA
DRIVAD,tRKDA

1 ADRES THE IUGHT CYLINDEfI
I ADitES THE RIGHT ORIVE

J!R

PC,TI!!SEK

MOV
BIC
MOV
CON.RDY
TST.RIf!
ADD
INC

R3, (R4)+
117177,l'RKDA
111, 'RKCS

,CO TIME THE BEEIC fROM cn. 0
l'fO TIfE ABOVE CYL. RETURN WITH
,R3 CONTAINING 'SEEK TIME' IN MS
,SCALE FACTOR OF 0.01
:STORE 'SEEK TIME'
ISEEK BACIC TO CYL " FOR
frIMING NXT CYL SEEK
: WAIT FOR CHTRL ROY?
I WAIT FOR RIWIS ROY
,FORM NXT CYL ADRES

140,IUDR
I1fDXl

14121i PAGE 56
04-0CT-76
MAI NOEC -11-0ZRKL-D
MACYl1 27(1006)
T11
SEU rU~CTION TINtR
31-AUG-76 15135
DZRKLD.?11
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002

leel
3084
3005
3806
3087
3008
3U9
3010
3011
3812
3013
3014
30t5
11"6
3817
38t 9
30t 9
3020
3021
3022
1023
]024
3925
3026
3027
)029
3029
3030
3031
3032
3eH
3034

014144

liNE

flIH3!l1

,PLOT A GRAPH USING 'SEEK TIMES' RECORDED BEFORE
014141i
014146
IU4U2
014220
014228
014224

PLOT I
104401
11011422
104401
80042)

014154
, ,65'1
6'"

014226

"li7S1

]0U
3038
3039

014274
014276
014300
014302
014304
814306
014310
014312
014316
014320
014324
014126
014330
014332
014334
014336
014340
014342
014144
014350

104401
002103
005000
010046
104424
005700
801411
822709
003010
022780
802412
104401
002110
000404
104401
082111
104401
002107
062700
00m54

014352
014354
014356
0143611

1044111
001213
104401
00211'13

014362
014366
014366
014372

01271'l0

177763

104401
800403

014]74

014482
014492
014404

111

un

U44
l045

31146

,65,
"TYPE ASCIZ STRING
, , GET OVER THE ASClZ
6"
c12>(12)c12>IX AXIS· SEEK TIME - MILl SECSI

TYPE
BR
.ASCll

,671
"TYPE ASCI! STRING
668
"GET OVER THE ASCIl
<15>(12)/¥ AXIS - CYLINDER SEEKED fROM 01(15)<12><12)

TYPE
BLNKS7
CLR
MOV

R0
R0,-(8P)

TYPDS~

000144
0011170

2 ••

411
000012

3"

R0
2.
'144,R0

U
1170, R0
5S
3.

U2,1I0

u

TYPE
aCRLF
T':t'PE
BLlfKS7

PLTll

MOV

.-15,R0

ITYPE OUT TilE X-AXIS MARKERS

TYPE
BR

,65t

"TYPE UCIZ STRING
"GET OVER THE ABCll

,,65'.

641,
811521'l0
11101370

TST
BEQ
CMP
BGT
CMP
BLT
TYPE
BLNKS2
BR
TYPE
BLNICSI
TYPE
BLNICSl
ADD
BR

,TYPE CUT THE TIME UNITS
,(MILl SECS) FOR TilE X-AXIS
,LUE THISI
,0
20
30
40 •••••

5 ..

a,

.ucn

641
11---·1

INC
BN!

R0
It

,1-·--1---"1··--

,IF' SW 4 IS SET TH!N TYPE TH! COMPLETE GRAPH. I f NOT TYPE THE SMALL I;RAPH,

3040
3041
3042

TYPE
8R
.ASCI!

Ii Ii.,

014274

U35

]0)7

SEQ 00'72

11

014406
014414

032777
001054

000020

lU524

BIT
8NE

ISII4,UWFI
CMPGFlP

,TYPE COMPLETE GRAPH"
,YES lIRANCH
'IP' NOT, TYPE S.,ALL GRAPH

MAINDtC-l1-DZRKI.-D
MACYll 27(U!e6)
It-OCT-76 14126 PAGE 57
DZRKLD.P11
l1-AUG-76 15U5
Tll
SEEK FUNCTION TIMtR
)047
)049
)04q
3050
)051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
30~3

)064
3065
3066
)067
3068
3069
3i1i70
3071
3072
3073
3074
307'5
3076
3077
3078
3fi179
309"
3091
30112
3083
3fi184
)095
3086
3fi187
3088
3089
3090
3091
3092
3093
3094
3fi195
3096
30q7
)099
3~99

3100
3101
3102

014416
014420
IH4426
Itt 44)0
014412

005000
0)2777
001445
104401
0"1213

014414
014416
014440
014444

010046
104405
10Hfill
000401

"""040

164512

SMGRPS
111

MOY
TYPOS
TYPt
BR

014446

n65 ..
014450
014450
014452
014454
014460
014464
014470
014472
014474

iHHi6
014502
014504
014510
014512
fil14516
014520
014524
014526
014532
1"4534
014540
014542

64 ..
010001
006301
016103
004737
0227fi10
003402
005200
000751
1022706
003403
062700
000743
022700
00340)
062700
000735
fil22700
001403
062700
000727
000137

CI.R
BIT
BEQ
TYPE
SCRLF

2ii
0""082
)11

"""U0
"0"005

4"

fil00)12
000fi102
015150

,SKIP REST OF GRAPH?

,YES

f IN THIS GRAPH SEEK TIMES ARE
, PLOTTtD ONLY FOR SEI.ECTED
ICnINDERS (NOT lI.Ll SHOWN BELOW I
,0,1,2,3,4,
6,8,10,12,14,16,18,20,
,25,)0,]5, ••• ,190.195,200,
203
R0.-(SP)
,TYPE THE MARJ(ERS

"TYPE ASCn STRING
1 ,GET OVER THE ASC IZ

.lScn

MOY
ASI.
MOV
JSR
CMP
BLE
INC
BR

1-'26742
014662
fil00004

C~P

BLE
ADD
BR
CMP
BLE
ADD
BR
CMP
BEQ
ADD
BR
JMP

SEQ "'073

R0,Rl
Rt
BUFRUCRl).Rl
PC,PLTPT
",R0

2.

: rORM THE ADRES OF • SEEK TIME'
,GET THE SEEK TIME
,GO PI.OT IT
:PLOTTED UPT0 CYL 4?
IYES

R0

11
#24,R3
U

iPLOTTED UP TO

~£~

2~?

n,R0

11
U10.RIII

:PLOTTED UPTO CYI. 20111?

U
IS.R0
U
.312,R0

5.

:PI.OTTED ALI. CYLS?

'2,R0
IS
TST12

JIF SW 4 IS SET THE COfllPLETE GRAPH IS PRINTED OUT. IT GIVES TIMtS FOR
: S!'!KS fROM CYLINDER 0 TO ALL OTHER CYI.INDERS (0,1,2,3 ••• 202).
014546
014550
014554
014560
014562
fil14564

005000
012701
012702
lfi14401
0fi1121l
000412

014566
014574
014576
014602
014604
014606
014612
014614

032777
001002
0fi101l7
005201
001005
012701
0Ul046
104405

177773
026742

0"0040

164344

CMPGRPI CI.R
MOV
MOY
TYPE
'CPI.F
BR

R0

2'1

ISII5"SilR
.+6
TST12

015150
177773
381

BIT
BNE
JMP
INC
BNE
MOY
MOV
TYPOS

.-5.Rt
'8UfRU,R2

Rl

4.
.-5, Rl
R0,-(SP)

,INITLZE COUNT
,INITLZE COUNT FOR Y"AXIS MARKER
,INITLZE .PTR TO SEEK TIMES

1SKIP REST OF GRAPH?

1TYPE OUT Y-AXIS IIARKER 'CYL . '
: IF REQUIRED
:TYPE ·CYI. . ' ON Y-AXIS
,(IN DECIMAL)

MAINDEC-ll-DZRKL-D
MACYll 27 (1096 1 04-0CT-76 14: 26 PAGE 58
DZRKtD.Pl1
31-AUG-76 15135
T11
SEEK FUNCTION TIMER
3103

1104
3105
3106
3107
31119
3109
3110

014616
014620
014622
014624
014624
014630

000402
104401
002104

481

BR
TYPE
BI.NKS6

S.

TYPE
BR

,65'
64S

SEQ "074

5$1
104401
000401

014612
,,6581
6481

014634

.A5cn

: ,TYPE ASCIZ STRING
: IGET OVER THE ASCIZ

I-I

3111
3112
3113
31 14
31'5
3116
3117
3119
3119
3120
3121
3t22

10114634
014636

012203
004737

014642
014644
014646
014650
014654
014656

104401
001213
1'1052"0
022700
"01344
000131

015150

3tH
3134

(R2)+,Rl
PC:,PUPT

R0

,ALL DO Nt?

U12,R0
21
TST12

014662
014666

162703
002493

014670
014672
014674
1'114676
014702
014704
014706

104401
1'02111
000772
062703
002402
104401
002111

1'100144

014710
0147UI
014714

104401
000401

"14716

lI!00310

PLTPTI

SUB
BU

7,U10,R3

3131
3138
31)9
3140
3141
3142
3143
3144
3145
3146
3141
3149
3149
3150
3151
3152
3153
liS4
31'55
3156
3157
3158

,GET SEEK TIII!E
IGO PLOT THE POINT

:IF NOT, GO BAK

,PUPT
,THE ROUTINE IS ENTtRED WITH R3 CONTAINING HORIZONTAL AXIS
,COORDINATE- SEEK UME
IPLOT THE ACTUAL TIME ON THE GRAPH.
IN KEEPING WITH NORMAL
,CONVENTION A NUMBER LESS THAN HUF THE CELL WIDTH IS
,CONSIDERED AS FULING UNDtR THE PREVIOUS CELl., A NUMBER
,GREATER THAN OR tQUAL TO HUF THE CELL WIDTH FALLS UNDER THE NEXT CEI.L
,EXI IF SEEK TIME IS 11.5 MS. IT'S BETW'N 10 , 12, BUT> 11
,HENCE IT WILL BE PI.OTTED AS 12 IF SEEK TIME IS 10.8 MS,
lIT'S BETW'N 10 , 12. BUT < 11 HENCE IT WILL BE PI.OTTED
,AS te.0 MS

3124
31'25
3126
3121
3129
3129
31]0
1131
31)2

3136

TYPE
ICRLF
INC
CMP
BNE
J!CP

1-'00312

3123

11 )5

MOY
JSR

014662

014720
014720

711

asl
J ,65"
641'

300207

TlPE
BLNKSI
BR
ADD
BU
TYPE
8I.NK51
TyPt
BII

.lScn

RTS

J FIND OUT HOW MANY BLANKS TO
1 INSERT TO PI.OT THE POINT
,NOTE THE FIRST CELl. • 0 MI

PUPT
1144,R3

as

.6!11
641

"TYPE ASCI! STRING
J 1GET OVER THE 15C n

IXI
PC

JTIMSEK
,THIS ROUTINE rINDS OUT THE TIME REQUIRED TO StEK TO THE CYI.INDER
'INDICATED IN RIeDA.
,---CAUTION"- SECTOR COUNTER II USED AS A RElL TIMt CLOCK TO KEEP TIME.
,ENTRII JSR
PC.TIMSEK
J
III1:DA COIlTAINS THE CYLINDtR TO BE SEEK to FROM THE PREStNT POSITION.

MAINDEC-Il-DIRKL-D
MACYIl 27(1086)
l1-AUG-76 15135
DIRKLD.P1t
l159
3160
3161
3162
316)
3164
3165
3166
3167
3168
3169
3170
31H
3172
3173

3174
3175
3176
3177
3178
3179
318O
3181
3182
3183
3184
3185
3186
3187
3189
3189
3190
3191
3192
3193
3194
1195
3196
3197

119B
3199
3290
3201
3202
32eJ
3204
3295
3286
3297
321'18
3209
3210
3211
32U
3213
l2t4

e14722
1114724
11J14726
014732
014734
014740

ue246
e05ee3
013701
011102
032702
001774

014742
014746

032702
001771

1'.114750
014752
e14756
014760
014762
014764
014779

011102
032702
901774
9211"2
901372
032702
0"U67

014772

912777

015090

104421

015092
0U004
01!5010
015012
0U014
0U016
915922
015924
015030

011192
932702
001774
929211
001372
032702
90U125
032792
001764

IH5032
fill 5034
015940
015042
015044
015046
915052
e15954
915069

911102
032792
91n774
029211
001372
932702
091005
0327132
891164

915962
915164

"95203
890746

915066
015072
915074

032792
991901
"9520l

001452
0004"0

114-0CT-76 14126 PAGE 59
UEK rUNCTION !'tMER

Til

R3 CONTAINS THE SEEK TIME IN MILl SECS. SCAL! FACTOR. 0.fIlI

TIMSEKI MOV
CLR
MOV
MOV
Us
BIT
8!Q

RZ,-UP)
R3
RKDS,Rl
'Rl,R2
U00,R2

BIT
8E?

UIT3,R2
1.

MOV
SIT
SEQ
C"IP
8NE
BIT
8NE

flRl, R2
ue0,RZ
2.
.Rl,R2
21
U7,R2
21

MOY

.11 ,'RKCS

0"00U1

211
90940e

009017

909011

164456

000400

009100
900017
411

,WAIT rOR SECTOR H' SO THAT
,U CAN START WAITING rOR
J INDEX, SEC 0
,IIAIT rOR SEC OK

,IIAIT rOR SEC 0, INDEX MARK
,AS SOON AS IT IS SEC' 0, ISSUE
,A UEK " START TIMING
,ISSUE A SEEK, START TIMING
,THE SEC COUNTER
,WAIT rOR CNTRL RDY

MOY
BIT
8EQ
CMP
BPiE
8IT
8NE
BIT
8EQ

.• Rl,R2
1400, R2

U

, INFO CORRECT?
,NO
,IVWIS RDY SET?
,Ir YES, BRANCH
,WAIT rOR SEC CNTR TO MOVE
,rROM 0 TO 1

MOV

,R1,R2
""0,R2

,WAlT FOR SOK

,GET RKDS
,WAIT FOR SOK

]I

R2,fRl

II
t100,R2
SKDON
U7,R2

81T

99U90

SEQ
CMP
8NE
8IT
BNE
ST ..
8NE

R2"Rl
41
U09,RZ
51
U7,R2

INC
811

Rl
31

BIT
8NE
INC

U7,R2
SKDON
R3

5 ••

,IIAIT rOR SOK

J

090490

eeelH7

,Rl IIILL COUNT REVOLUTIONS or
,DISK crROM INDEX MARK TO INDEX MARK)
,40 MIL I SECS rOR EACH REV

11

CON.RDY

III

098917

SEQ 01175

,R!TURNI

41

41

,RIWIS ROY SET, SEEK DONE?
,YES, 8RANCH
J Ir NOT KEEP TRACK or SEC
, COUNTER. INCREMENT R3 AT
,EVERY INDEX MARK, EVERY
~ 40 MILl SECS
, GO BAit, K!l:P TIME
,CHECK, IS IT INDEX MARK -SEC 0
NOT, SKIP
J IF YES, INCREMENT COUNT

r IF

,SEEK DONE, SAVE RKDS-SEC COUNTER.

MAINOEC-l1-0ZRlCL-D
MACYll 27( 11106) 04-0CT-76 14126 PAGE 69
SEEK rUNCTION TIMER
OZRKLD.Pll
31-AUG-76 15135
T11
l21!5
3216
3217
3218
3219
3220
3221
l222
3223
3224
3225
3226
3227
3228
3229
3210
3231
3232
3233
l234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3249
3249
3250
3251
3252
3253
3254
1255
3256
3257
3259
3259

3260
]261
3262
32U

3264
3265
3266
3267
3269
3269
3270

915076
915076
915102
915104
915110
015112
915114
915129

IH2746
810346
804737
912616
812693
,,.2792
969293

015122
915126
915130
915134
015136
915149

812746
1rJ10346
894737
012616
91260l
962703

915144
815146

1rJ126i12
990207

S'OOIiI
900014
929414
177760
899512
928414
000245

MOV
MOV
JSR
MOV
MOV
8IC
ADD

U4,-CSP)
Rl,-CSP)
PC,U,MULT
(5P)+, CSP)
(SP)+,Rl
1177760,R2
R2,Rl

MOV
MOV
JSR
MOV
MOV
ADD

t!512,-CSP)
R3,-CSP)
PC,,,IMULT
(SP)+, (SP)
(SP)+,R3
U45,A]

MOV
RTS

(SP)+,R2
PC

SEQ 0076
"PUT THE MULTIPLER ON THE STACK
"PUT THE MULTIPLICAND ON THE STACK
,CALL THE MULTPLY ROUTIN!
,,0 ISREGARD THE MS8' 5
J ,GET THE LSB'S or THE PRODUCT
,SEEK. TOTAL TIME-(IN DECIMAL)
,tcR3)X12+5EC COUNTER1Xl30X8.ll
, NOT! THERE IS A SCALE tACTOR
, ,PUT THE MULTIPLER ON THE STACK
, ,PUT THE MULTIPLICAND ON THE STACK
"CALL THE MULTPLY ROUTINE
~ ,DISREGARD THE MS8'S
"GET THE LSS'S OF THE PRODUCT
,ASSUMPTION THAT EACH SECTOR
,TAKES 3.1 MILl SECS. Ir THE
~DISK SP!l:D IS VERY MUCH DURNT
,rROM THE SPEC SPEED or
,1599 RPM (49 MS/REv). THEN
,SEC COUNTER WOULD NOT 8E AN
,ACCURATE TIME CLOCK.
,POP R2 8AK
,RETURN
~

...............................................................
" ...............................................................

"

,.TEST 12
END or PROGRAM
,.THIS IS NOT A TEST BUT IS JUST A LINKAGE
,.PROVIDED TO TEIT ALL TH! DRIVES.
015159
015152
015156
015164
815166

909994
105237
12]737
801492
009137

T5T121
001223
991223

991224

BT!OP'

903784

SCOPE
INC8
CMP8
8EQ
JMP

DRVDON
DRVDON, DRIVS
.+6
NXTDRY

...............................................................

.SBTTL

,,

END or PASS ROUTINE

,.INCUMENT THE PASS NUM8ER (lPASS)
,.INDICATE END-Dr-PROGRAM ArTER 1 PASSES THRU THE PROGRAM
,.TYPE "END PAil nIXXX" (WHERE XXXXX IS A DECIMAL NUMBER)
,.IF THERES A MONITOR GO TO IT
,.IF THERE I1N'T JUMP TO S'll
915172
815172
IU5114
"15288
9152114
1'15212
015214
815216
915228
"15222
815224

nOPI
"99094
995837
805237
842737
1195327
8110891
9"3922
012737
890981
015214

8911fJ2
091188
1"9880

"0 II "0

SCOPE
CLR
INC
BIC
DEC
nOPc'TI .WORD
IGT
MOV
IENDCTI .WORD
nopc'!'

USTNM
. . All
1189999,IPASS
(PC)+

,
,
,
,

'ZERO THE TEST NUMBER
, INCREMENT THE PAIS NUMBl:R
,DON'T ALLOW A NEG. NUM8!R
'LOOP?

1
.DOACN
(PC)+,' (PC,) +
1

, ,YES
I ,RESTORE COUNTER

14126 PAGE 61
04-0CT-76
MU NDEC-ll-DZIIKt,-D
MACYll 27(1006)
END OF PASS FIOUTINE
l1-AUG-76 15135
DZIIKLD.PII

1271
3272
3273

3274
3275
3276
3277
3278
3279
3280
3291
3292
3293
3284
3295
3296
3287
3288
3299

015226
015232
015236
015240
015244
015250
015252
015254
015256
015260
015262
015264
015264
015266
015270
015273
015300
015306

104401
913746
104405
1044111
013700
001405
000005
004711!J
000240
000240
000240
000117
003666
377
015
050040
000043

015273
001100
015270
000042

377
042412
051501

000
042116
020123

TYPE
MOV
TYPoS
TYPE
.GET421 MOV
BEQ
RESET
.ENOADI JSR
NOP
NOP
NOP
'DOAGN'
JMP
IFITNADI .WORD
SENULLI .BYTE
IENDMGI .ASCl!

SEQ 00'77
f ,TYPE "END PASS ••
n SA ve: 'PASS FOR TYPEOUT
1,GO TYPE--DECIMAL ASCII WITH SIGN
TYPE A NULL CHARACTER
l ' GET MONITOR ADDRESS
f' BRANCH IF NO MONITOR
, ,CLEAR THE WORLD
"GO TO MONITOR
f ,SAVE ROOM
f ,FOil
f ,ACT11

,UNDMG
SPASS,-CSP)

'J

.*ENULL
U42,R0
.DOAGN
PC, (R0)

1 ,RETURN
@lCPC)+
ST3
-1,-1,0
f ,NULL CHARACTER STRING
<15><12>/END PASS . ,

MAlNDEC-l1-DZRKL-D
MACnl 27C 1006) 04-0CT-76
14126 PAGE 62
DZRKt,D.Pl1
31-AUG-76 15135
END OF PASS ROUTINE
3290
3291
3292
3293
3294
3295
3296
3297
3299
3299
3300
3301
3302
3303
3304
3305
3306
3307
H08
3309
H10

3311
3312
3313
3314
3315
3316
3317
3319
3319
3320
3321
3322
3323
3324
3325
3326
3327
3329

3329
3330

3331
3332
3H3

SEQ 0078

I COMMON SUBROUTINES AND HANDLERS

.S8TTt. ESR 15
:ESR15
: THIll ROUTINE IS USED TO TYPE OUT ERROIl DATA FOR ITEM 15
JOF THE ERROR TABLE.
AT THE lIME OF ENTRY INTO THIS
:ROUTINE R5 CONTlINS THE DISK ADDRESS FROM WHICH THE 12
,HEADERS WERE READ, THE SECTOR "15 WHICH GAVE BAD HEADERS HAVE
,BEEN STORED STARTING AT 'BUFR'.
THE CORRESPONDING BAD HEADERS
1HAVE BEEN STORED STARTING AT 'BUFR1'.
ITHE PRINTOUT LOOKS LIKE:
I SEC'
HDR RECVD
I AA
B88B88
AA-BAD SEC::'
; EXPCTD HDR-XXXXXX

TRYU

8BBBBB-SAD HEADER

Y

ESR151

015310
015310
015312
015314
015320
015324
015326
015330
015331
015332
015334
015336
015340
015342
015344
015346
015350
015352
015356

010146
010246
012701
012702
012146
104403
002
000
104401
002107
012246
104402
104401
002106
104401
001213
022711
001362

015360
015362
IU5364
015366
015372

104401
001716
010546
042716
104402

015374
015176
015400

012602
012601
''''0207

001266
001320
1$,

177777

160037

MOV
MOV
MOV
MOV
MOV
TYPOS
.BYTE
.BYTE
TYPE
Bt.NKSl
MOV
TYPOC
TYPE
BLNKS4
TYPE
.CRL'
CMP
BNE
TYPE
MSG6
MOV
BIC
TYPOC

Rl,-(SP)
R2,-(SP)
nUFR,Rl
IBUFR1,R2
(RtH,-eSP)

I,PUSH Rl ON STACK
J ,PUSH R2 ON STACK
: SEC ., S STORED HERE PREVIOUSLY
,BAD HDRS STORED HERE PRVSLY

2
0

,GO TYPE OUT BAD SEC ,
,ONLY 2 DIGITS
, SUPRES LOG 0' S
,TYPE 3 BLNKS

(R2) +, -( SP)

1 GO TYPE OUT BAD HEADER

1177777, (Rl)

,ALL BAD SEC
J IF NOT GO BAK

it

R!5,-(SP)
1160037, (SP)

.,s

(OCTAL)

TYPO OUT?

ITYPE OUT EXPCTD HEADER rOR
1THAT CYLIND~R

3334
3335
3316
3317
1118
1139
334"
3341
3342
3343
3344
3345

MOV
MOV
RTS

CSP)+, R2
(SP)+,Rl
PC::

IIPOP STACK INTO R2
, IPOP STACK INTO Rl

.SBTTt, ESRll
fESRU
ITHIII ROUTINE IS as ED WITK 'ERllOR 13"' TO TYPEOUT OUT ERROR
IDATA. THE SECTOR ,'S WHICH GAVE BAD K!ADERS HAVE BEEN STORED
,STARTING AT ',urR'.
TKE CORRESPONDING BAD HEADERS HlYE
,BEEN STORED STARTING AT "UrRl'.
R5 CONTlINS THE EXPECTED

MA!'lIlEC'-l1-DZRKL-D
"!ACYlI 27 (1006)
04-0CT-76
DZRKLD,Pll
H-AUG-76 15135
!SIU)

14.~6

PAGE 63
SEQ 0079

3346
3147

I HEADER FOR THAT CYLINDER,

3348

ISEC.
,AA

,

114~

3350
3351
3352
ll53
3354

3355
3356
3357
3358

3359
3360

3361
3362

3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373

015402
015406
015412

004737
104401
000404

015310
015414

ESRU.
,,65'1
6U.

015424
015424
015426
015432
015434
015436

005046
e32705
0e1401
005216
104402

fi15440
015444
015450
015452
015454

104401
013746
005216
104402
e00201

3382
3383

3384
3385
3386
3387

3388
3389
3390
)]91
)]92

3393
3394

3195
3396
3397
3398
3399
3400
3401

Pc,taR15
,65.
6U
,
SUR-'

CLR

-(SP)
120,R5

BEQ
INC
TYPOC

11

TYPE
MOV
INC
TYPOC
RTS

, MSG13
RETRY2, - (SP)
CSP)

8I'T

0e0e20

lU
002053
e01254

015456
015462

004137
004137

e15402
016244

015466
01!1472

104401
0004U

015174

015504
015504
015510
015512
01551)
015514
015520

1'113746
10440]
003
000
104401
000404

001162

015532
015512
015515
015540
015541
015542

ESR20.

34t11J
lttl
3412
341l

3414
3415
3416

TYPE
BII
.lscn

015522
: ,6711
6611

013746
104403
003
000
000207

001164

MOV
TYPOS
.BYTE
.BYTE
TYPE
BR
.ASCll

,65S
648
,
cnA-'
'REG0,-(SP)

3

o

,67,

661
,
CYLSw,

MOV
TYPOS
.BYTE
.BYTE
IITS

0
PC

.S8TTL

ESR25

IREG1,-CSPj

3

14126

3447
3448
3449

OR 111

,GO TYPE OUT SEC . ' S. 8AD HDRS
I GET cn . ' S BETWN IIHICH SEEK
IWAS TRIED
"TYPE
STRING
"GET OVER THE Ascn

AScn

,GO TYPE cn • rROM WHERE
,SEEK BEGAN
,TYPE 3 DIGITS
ISUPRES LOG 0"S
I ,TYPE ASC IZ STRING
"GET OVER THE ASCn
,TYPE cn • TO WHICH SEEK
:IIAS DOI'iE
,TYPE 3 DIGITS
,SUPRES LOG 0'S
,RETURN

FAGE U
SEQ 0080

MOV

P2,R5

, SAVE ADRES or TERMINATOR

001266

MOV

'Burll,R2

001)20
001)52

MOV
MOV

UurRl,R3
.8urIl2, R4

IINITLZE PTI\ TO TABLE STORING
I ADRES or BAD DUA
IINITLZE p'rR TO 'EXPCTD' DATA
,INITLZE PTR TO 'RECVD' DATA

BIT
8NE
TYPE
.CRLr

tSlltl,UIIR
4'

'INHIBIT TYPE OUT?
,YES, EXIT
;TYPE CR,LP'

SUP
ASR
MOV

PBur0, (R2)
(R2)
(R2), -CSP)

,GET WORD. IN BurR (0,1,2, .. )

ESF!251

010205

015546

012102

015552
015556

01270)
012704

015562
015570
015572
015574

032777
001076
104401
001213

02001J11l

015576
015602
015604

161712
O06212
O11246

O01404

015606
015610
015611
01!5612
015614

104403
O04
000
1944lill
002101

TYPOS
.BYTE
.8YTE
TYPE
8LNKSl

012346
104402
l1ilU01
0021 trIJ
012446

MOV
TYPOC
TYPE
8LNKS2
MOV
TYPOC
TYPE
BLHKS2

(Rl)+,-(SP)

IGET EUCTD DATA
IGO TYPE IT

CR4)+,-UP)

,GET RECVD DATA (8AD)
,GO TYPE IT

MOV
CMP
8LT
ADD
CMP
8NE

t41!J0,R0
(R2),R0

,GET THE DISK ADRES P'ROM
IIiHICH THIS (BAD) DATA WAS
,READ

RI!J

163350

11,

,WHICH WAS 8AD. NOT! YOU
ICAN HAVE tHE ACTUAL MEMORY
,ADRES 8Y ADDING 'I08ur0'
,TO THIS
1 GO TYPE WORD • THAT WAS IUD

12 BLANKS

015616
015620
015622
015624
015626
01!563e
01!5632
e15634

104401
e02110

015636
015642
01!5644
015646
015652
815656

012700
021200
0024e!5
062700
022100
001371

015660
01!5662
01!5664

000300
005380
O63700

001450

SWAB
DEC
ADD

015610

0101137

1101110

MOV

R0, 'REGl

815674

.e4137

1116144

JSR

PC,8RKDA

I GO BREAI\ A80vE DISK ADRES
,INTO CYLI, SURt, SEC.

11157110
815704
815706
11157117
1I1!5710
01S?U

IJU746
1044n
0n
1108
104401

001\14

MOV
TYPOS
.BYT!
• BYTE
TYI'!
BLNUl

U!:G!5,-CSP)

,GET THE CYL'
ITYPE IT
10NLY 3 DIGITS
INO LEADING e's

trlJ44~2

00041110

211
e00.00
002401!J

l441
3442
l44l
3444
3445
3446

°

015544

3434
]H5
3436
34]7
3438
3439
3441il

,SUR

PC

3417
3U8
3419
342O
3421
3422
3423
3424
3425
3426
3427
3428
3429
343t
34]1
3432
3433

n

(SP)

JSR
JSR

04-0::T-76
MAINDEC-l1-DZRKL-D
MACYlI 27(1006)
ESR25
3\-AUG-71i 15135
DZRKLD.PtI
3402
3403
3404
3405
341116
341117
3408
3409

"TYPE ASCIZ STRING
, I GET OVER THE ASC

.S8TTL ESR2e
IESR20
,SUBROUTINE TO TYPE OUT ERROR DATA rOR 'ERROR 20'.
AT THE TIME
,or ENTRY, TABLE STARTING AT '8urR' CONTAINS SECTOR ,'S THAT GAVE BAD
,HEADERS.
TABLE AT 'BurRI' CONTAINS BAD HEADERS, R5 CONTlINS EXPECTED
I HEADER rOR THE CYLINDER.
' INADR' AND 'OUTADR' CONTAIN THE CYLINDER
,ADDRESSES BETWEEN WHICH THE IMPLIED SEEK WAS TRIED.

3376
3377
3380
3381

JSR
TYPE
8R

.AScn

THE TYPEOUT LOOKS LIKE

AA-BAD SEC •
888888-8AD HEADER
TRY"
Y
~UR-Z

IEXPCTD HDR-XXXXXX

3374
3375
3378
3379

HDR RCVD
88B888

HI

l8
t400,R0
12480,R0

2e
R0
ADRIS,R0

,R0 CONTAINS THE DISK
I ADRES 'ROM WHICH THE (BAD)
,DATA liAS READ

l4511
H51

US2

un

3454
U55

]Il56
l457

082107

MAINDEC-l1-DZRKL-D
MACYU 27{ 1006) 04-0CT-76
H -AUG-76 15135
ESR2S
DZRKLD. Pll

3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480

SEQ 0081
,GET SUR
: TYPE
J1 DIGIT ONLY

MOV
TYPOS
.BYTE
.BYTE

aREG7,-CSP)

:GET SEC.
I TYPE
,2 DIGITS

005722
"2"2"5

TS'I'
CMP

(R2'+
R2,R5

001306
104401
002053
013746
062716
104403
001

B!/E
TYPE
MSG13
MOV
ADD
TYPOS
.BYTE

11

IINCREMNT PTR
;TYPED OUT ALL BAD DATA
I INFO!
I IF NOT LUP BAK

RETRY2, - (SP)
eSP)

.BHE

0

013746
104403
001
000

015724
015726

104401
002106

1'115730
015734
015736
015737

013746
104403
002
000

015740
015742
015744
015746
015750
015752
015756
015762
015764

0i5i65

000

3482
3493

015766

000207

015770
015776
016000
016004
016012
016020

032777
001012
011637
162737
117637
004737

016024
016030

062716
000002

MOV
TYPOS
.BYTE
.BYTE

""1176

TYPE
BIINKS4
001200

0"1254
000003

n,

"
TRY '1'
I GET RETRY COUNT
IFORM THE RETRY NO.
,TYPE IT OUT

411
RTS
PC
I U' YES, RETURN
I MP:SSAGE HANDLER
ITME MESSAGE HANDLER IS USED FOR TYPING OUT MESSAGES' DATA
fRELATED TO THE MESSAGE. IF SII13 IS SET, THE TYPEOUT IS
:INHI8ITEO. THE CAt.t. ISI
I
MEUGE ,XX
I XXX IS THE MESSAGE NUMBER , PROVIDES AN INDEX TO THE
,'ERROR ITEMS TABLE' WHERE. THAT ME SAGE ITEM
JIS LOCUED.
,THE MtUG! ITEM CONTAINSI
MSI
POINTER TO THE ASCII MESAGE
DHI
POINTER TO THE DATA HEADER
DTI
POINTER TO THE DATA
•
.,
TERMINATOR
I IF 'DT' IS 0 THE DATA IS TO BE PRINTED USING THE SUBROUTINE
: INDICATED IN Pt.ACE OF THE TERMINATOR
020000
001116
000002
000090
017362

163142

MSGEt

001116
001114

000002

lSI

BIT
BNE
MOV
SUB
MOVB
JSR
ADD
RTI

t!SW13,(lSIIR

11
(SP), SERRPC
.2,.ERRPC
,(SPl,nTEMB
PC,UERRTYP

12, esP)

: INHIBIT TYPEOUT?
: IF YES, EXIT
:GET AORES OF 'MEUGE' CALL
:STORE IT
:GET MESAGE • <12>/PC-1
64$1
CSP) ,-CSP)
MOV
12, CSP)
SUB
: GO TYPE PC IN THE MAIN PROGRAM,
TYPOC
, WHERE ERROR OCCURRED
TYPE
,678
fI TYPE ASCII STRING
669
11 GET OVER THE Ascn
BR
,,67$ I
• ASCII I RKCS-I
66$1
MOV
(lRKCS,-CSP)
,GET RKCS
,GO TYPE IT
TYPOC

2S1

7RETURN FROM THIS
,ROUTINE TO THE MAIN

RTI

3737

MAINDEC-11-DZRKL-D
MACYl1 27 (1006)
04-0CT-76 14126 PAGE 78
DZRKLD.Pll
31-~UG·76 15135
CON.RDY - WAlT FOR CONTROL READY
3739
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3769
3769
3770
3771
3772
3773
3774
3775
3776
3777
3179
3779
3780
3781
3782
3793
3794
3785
3796
3787
3788
3799
3790
3791
3792
3793

SEQ 0085

SEQ 0096
:PROGRAM

.SBTTL TST.RWS - WAIT FOR RIWIS ROY
:TST.RWS
:THIS ROUTINE WAITS FOR THE R/W/S READY TO ET AND RETURNS
,TO THE MAIN PROGRAM WHEN IT SETS.
IF IT DOES NOT SET
, WITHIN A CERTAIN TIME AN ERROR IS REPORTED.
:WAITING TIME APPROX. 1040 loiS FOR 11120. 208 loiS FOR 11/45
016642
016646
016654
016656
016662
1'l16664
016672
016674
016700
016704
016706
016712
016714

005031
032777
00t017
005231
001371
032777
0011'l10
104420
104420
8\1646
162716
104402
0001'l11l2

001264
000180

162576

1'l01264
020000

162246

002027
001733
000082

TSTRWSI CLR
1$1
BIT
BNE
INC
BNE
BIT
BNE
TYPMSG
TYPMSG
MOV
SUB
TYPOC
2S1
RTI

TIMER
U00,'RKDS
2$
TIMER
1$
tBIT13, 'SWR

2.

, MSG12
, MSG7
CSP) ,-CSP)
12, CSP)

.SBTTL

TEST ABORT ROUTINE

TYPE
MOVB
TYPOC
RTS

,MSG3
nSTNM,-CSP)

:ABRT
016716
016722
016726
016730

104401
113746
104402
000207

001616
001102

ABRTI

PC

:COMMON SUBROUTINES" HANDLERS
• SBTTL

SCOPE HANDLER ROUTINE

: , ***************************************************************
I*THIS ROUTINe: CONTROLS THE LOOPING OF SUBTESTS. IT WILL INCREMENT
:*AND LOAD THE TEST NU"BERCSTSTNM) INTO THE DISPLAY REG.CDISPLAY<710»
:UND LOAD THE ERROR FLAG ('ERFLG) INTO DISPLltY
:*THE SWITCH OPTIONS PROVIDED BY THIS ROUTINE ARE.
,*SW14-1
LOOP ON TEST
LOOP ON ERROR
, *SW09-1
,*CALL
I*
SCOPE
, ,SCOPE-lOT
016732
016732
016734
016742

184407
032777
001053

016744
016752

032777
001047

016754

080416

SSCOPEI
000400

162176

040800

162166

CKSWR
BIT
BNE

"TEST FOR CHANGE IN SOFT-SHR
,WlS swa USED TO SELECT
I A TEST? Ir YES, SKIP OVER
,THE REST, U ARE LOOPING ON
, , LOOP ON PRESENT TEST?
BIT
UIT14,tsWR
181
BNE
.OVER
" YES Ir SII14-1
: ..... START OF CODE FOR THE XOR TESTER . . . . .
HIr RUNNING ON THE "XOR" 'fESTER CtlANGi:
UTSTRI BR
U
.SW8,'SWR
.OVER

MUNOEe-I1-0ZUL-O
MACYlI :17(1006)
u-oeT-'6
14126 PAGE 71
OIRKLO.Pll
B-AUG-7@, 15.35
SCOPE MANDLER ROUTINE
3794
3795
3796
3797
3798
3799
3880

lBel
38.2
3883
3804
3885
3886
)987
3889
3889
3810
3911
3912
3913

1914
3U5

1916
3817
3819
3U9
3820
3921
3822
3823
3824
3825
3826
3827
3828
3829
1810
3Ul
3832
38ll
38]4
3U5
3816
3837
3838
3639
1840
3841
3842
384l
3844
3845
3846
3847
3848
3849

016756
016762
016770
016774
017000
017002
017084
0170U
017012
017012
1!I17016
1J17820
017026
0170361
0176136
01761461
11117044
017050
11117054
017060
017064
017072
01?l00
017104

013746
012737
005737
012637
000421
022626
012637
000407

000004
017002
177060
000004

105737
801412
012777
081404
813737
000415
t 05037
105237
811637
011637
805037
112737
013771
813716
000002

001U3

068004

8000"~

881080

162112

801110

001106

001103
001102
001106
001110
001204
000001
001102
00111116

001115
162042

"THIS INSTRUCTION TO A "NOp· (NOP a 241!)
, ,SAVE THE CONTENTS OF THE ERROR VECTOR
MOV
UERRVEC, -(SP)
I ,SET FOR TIMEOUT
U.,UEFtRVEC
MOV
.,177068
, ,TIME OUT ON XOR?
TST
(SP)+,UERRVEC
"RESTORE THE ERROR VECTOR
HOV
"GO TO THE NEXT TEST
BR
esVt.AD
(SP)+, (sp)+
"CLEAR THE STACK AFTER A TIME OUT
5..
eMP
MOV
, ,RESTORE THE ERROR VECTOR
(SP)+, UERRVEC
, ,t.OOP ON THE PRESENT TEST
BR
71
6 .. , .. .,.ENO OF CODE FOR THE XOR TESTER .....
"HAS AN ERROR OCCURRED?
IERFt.G
2',
TSTB
esVr.,AO
BEQ
"BR IF NO
t8IT09, .aWR
"t.OOP ON ERROR?
BIT
,,8R IF NO
-8EQ
41
, ,SET LOOP ADDRESS TO t.AST SCOPE
71.
MOV
.t.PERP., 't.PADR
SOVI!:R
8R
, ,ZERO THE ERROR FLAG
U.
CLR8
nRfLG
, ,COUNT TEST NUMBERS
nSTNM
UV:"AD. INCB
(SP),.t.PADR
, ,SA VE SCOPE LOOP ADDRESS
MOV
(SP),SLPI!:RR
I , SAVE ERROR LOOP ADDRESS
MOV
nSCAPE
" CLEAR THE ESCAPE fROM ERROR ADDRESS
CLR
.1, .[RHAX
"ONLY ALLOW ONECO ERROR ON NEXT TEST
MOVB
.OVER.
MOV
STSTNM, 'DISPLAY I ,DISPLAY TEsr NUMBER
, , FUDGE RETURN ADDRESS
.LPADR, (SP)
MOV
RTI
"FIXES PS
I , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

.SBTTL

ERROII HANDLER ROUTINE

,.SII15al
HALT ON ERROR
,.SW11.1
INHIBIT ERROR TYPEOUTS
,.SW10.1
BEt.L ON ERROR
,.SN09al
t.OOP ON ERROR
,.SWI2al
CYCLE ON ERROR TO PREVIOS 'SCOPE' STATf,MENT
,.CO TO EIIRTYP ON ERROR
; .NOT fROM SYSMAC
017106
017118
017114
017116
017124
017132
017134
017140
017144

1114407
105237
001775
011777
032777
801402
104401
005237
011637

017150
017156
017168
017166

032777
001404
.23727
1010'0

000004

161762

001112

000006

017170
017176

162737
117737

000002
161714

001116
IHJll14

001103
001102
002000

162016
162006

001206
001112
~01116

.ERROIII CKSW~
HI
INC8
8EQ
MOV
8IT
BEQ
TYPE
181
INC
MOV

5"

SERFLG

7S

,CHECK FOR SOFTWARE SWITCH IIEGISTER REQUEST
,SET THE ERROR fLAG
,OON'T LET THE nAG GO TO ZERO

nSTNM, 'DISPLAY
lSiU0"SWR

18
,.BELL
StRTTt.
(SP),.ERRPC
tsw2,@lSHR
5::;
SERTTL, t6

BIT
BEO
CMP
8HI

.

SUB
MOVB

t2,URRPC
UERRPC,UTEM8

,DROP THE DRIVE?
,5W NOT SET, SKIP
,MORE THAN 6 ERRORS ON THIS DRIVE?
,YES, DROP THE DR IVE

14126 PAGE 72
04-0CT-76
MACY11 2 7 (1006)
MAINDEC-11-DZRKt.-D
ERROR H~NOt.£R ROUTINE
31-AUG-76 15135
DZRKLD.Pll
3858
3851
3952
3953
3954
3955
3856
3957
3U8
3859
3860
18U
1862
3963
3864
1865
3866
3867
3868
3869
387O
3871
3872
3873
3874
3875
3876
3877
]878
3879
1880
3881
3882

:U83
1884
3885
1886
3887

lUI
3889
lB~8

1891
1892
3893
3894
1995

le96

1897

3898
3899
1918

]981
]982
nll3
3 lie 4

3ge15

017204
017212
(117214
017220
017224
01723O
017232
817234
017236
017244
017246
017252
017260
017262
017266

032777
001004
004737
104401
005777
100002
000000
104407
032777
001402
013716
032777
001402
013716
008002

017270
817274
017300
01730.
017310
017114
017316
017320
017322
017324
11117326
117]]O
017334

013746
162716
042736
104401
013746
000241
006116
006116
11106116
006116
104402
104401
000485

020000

211

010000

161674

001106
801000

161660

H.

001110

411
001226
000002
000377
002064
801230

61.

O17336
1165. ,
6UI

1"735O
817350
IU735.
017356

105]]7
022636
000137

801224

017362
017362
817366
017378
817)72
8t7]76

104401
810046
0051180
153708
11101811

881213

015156

BIT
8NE
JSR
TYPE
TST
BPI.
HAL,\,
CKSWR
BIT
BEO
MOV
BIT
8EO
MOV
RT!

21
PC,,,ERRTYP
"CRLF
(lSWR

It
,CHECK FOR SOFTWARE SWITCH REGISTER REQUEST
UIf12,UWR
,+6
.LPAOR, (SP)
ISW09,tsWR

U
.LPERR, (SP)

MOV
SUB
BIC
TYP\::
MOV
CLC
ROL
ROL
ROL
ROL
TYPOC
TYPE
8R
.ASCI!

DRVPTR,-(SP)
12, (SP)
U77,.(SP)+
,MSG14
ORIVAO,-C8Pl

DECB
CMP
JMP

ORIVS
(SP)+, CSP)+
Bnop

,DECPMNT • Of DRIVS PRESENT
,RESTORE STACK
,EXIT

TYPE
MOV
CLR
BU8
8NE

,ICRL'
R0,-esP)
M
"UTEM8,R8

, "CARRIAGE RETURN" , t.INE fEED"
,SAVE R0
,PICKUP TH! ITEM INDEX

,GET POINTER TO DRIVE •
,CLEAR THE DRIVE PRESENT FLAG
,GET THE DRIVE t

(SP)
(SP)
(SP)
(SP)

,65,
6U
I

,TYPE IT OUT
"TYPE Ascn STRING
J ,CET OVER THE ASCIZ

D~OPPEDI

EPRTYPI

0n41110

ml7n

017484
0174196
017418
017413
017416
017428
017422
11117424
017426
I,,7U0

184482
1fI4481
8U713
1111)746
104402
8011448
805108
801illllEl
806UJII
086380
062780

in '1432

161726

017362
001213
161710

SEQ 0088

UWll,(tSHR

8011 14

MOV

881116

881116

1"

TYPOC
TYPE
MSG7
MOV
TYPOC
BII
DEC
ASL
ut.

ASL

O02122

ADD

11
URRPC,-(SP)

, I f ITEM NUMBER IS ZERO, JUST
,TYPE THE PC OF THI!: ERROR
,SAVE nRRPC FOR TYPEOUT
,ERROR ADDRUS
IGO TYPE--DCTAL UCII(12)1

PC

J'TYPE ASCIZ STRING
,'GET OVER THE ASCIZ
RKER
RKDS
RKes

RKWC

I\IC8A

HAINDEC-I1-DZRKL-D
MACY11 27(1006)
04-0CT-76 14126 PAGE 74
ERROR HUDLER ROUTtNE
OZRKLD.Pll
B-lUG-" 15:35
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3990
3981
3982
3983
3994
3985
)986
3987
3988
1989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
40e6
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017

017706
017712
017714
017720
017722
017726
017730
017732
017736
017742
017744
017746

913746
104402
104401
010046
012700
013046
104402
104401
020027
003771
012600
000207

001116
002110
001452

u;

002110
001466

MOV
TYPOC
TYPE
MOV
MOV
MOV
TYPOC
TYPE
CMP
8t.E
MOV
RTS

,BLNKS2
Re,-csP)
.RKDS,R0
IHR0)+,-(SP)
,8LNKS2
R0. tRKDB

U
(SP)+,R0
PC

CONVERT BINARY TO DECIMAL AND TYPE ROUTINE

,,

,.THIS ROUTlNf, IS USED TO CHANGE A 16-8IT STNARY NUMBER TO AS-DIGIT
:.SIGNED DECIMAL (ASCII) NUMBER AND TYPE IT. DEPENDING ON WHETHER THE
,.NUMBER IS POSITtVE OR NEGATIVE A SPACE OR A MINUS SIGN WILL BE: TYPED
,.BEFORE THE FIRST DIGIT OF THE NUMBER. LEADING ZEROS WILL ALWAYS BE
,.REPLACED WITH SPACES.
'·CALLI
NUM,-eSP)
: ,PUT THE BINARY NUMSER ON THE STACK
MOV
, ,GO TO THE ROUTINE
UPDS

,.,.
017750
017750
017752
017754
017756
017760
017762
017766
017772
017774
017776
e20004
029006
020e12
020016
02002e
020024
020026
020030
020032
020034
820036
82eU0
02e042
020044
02e046
020050

nYPDSI
010046
010146
010246
010346
010546
012746
016605
100004
005405
112766
005000
012703
112723
0050e2
016001
16e105
0e2402
005202
""0774
060105
005702
e01002
105716
10e4e7
106316
10300)

020200
000020
000055

000001
lSI

029164
000040
020154

2'1

lIZ

411

!UI

MOV
MOV
MOV
MOV
MOV
MOV
MOV
BPL
NEG
Mova
CLR
MOV
MOVB
CLR
MOV
SUB
BU
INC
BR
ADD
TST
SNE
TSTB
BMI
ASLB
BCC

R0,-(S.)
Rl,-CSP)
R2,-(SP)
FIl,-CSP)
R5,-UP)
.2020i,-CSP)
20(SP),R5

U
R5
,'-, HIP)
R0
UDSLK,R3
," '(Rl)+

R2
.DTBLCR0),Rl
Rl,R5

U
R2

, ,PUSH R0 ON STACK
J ,PUSH R1 ON STACK
"PUSH R2 ON STACK
: ,PUSH R3 ON STACK
" PUSH R5 ON STACK
, ,SET 8LANK SWITCH AND SIGN
, , GET THE INPUT NUMBER
JlBR IF INPUT IS POS.
"MAKE THE: BINARY NUMBER POS.
, ,MAKE THE ASCII NUMBER NEG.
, ,ZERO THE CONSTANTS INDEX
J ,SETUP THE OUTPUT POINTER
J , SET THE FIRST CHARACTER TO A SLANK
J ,CLEAR THE BCD NUMBER
, ,GET THE CONSTlNT
, ,FORM THIS BCO DIGIT
, ,SR IF DONE
"INCREASE THE BCD DIGIT BY 1

]I

Rl,R5
R2

51
UP)

11
(SP)

61

P.KOB/<

SEQ 0090

URRPC,-(SP)

.........••....................................................

.SBTTL

RI
    51 (SP)+ , ,POP EQUIV "TYPE A CII AND LV 'CHARCNT , , CLEAR CHAIIACTER COUNT , J GET NEXT CHARACTER , , GO 'rIPE THIS CHARACTER "IS IT TIME FOR P'ILLER CHARS.1 "IP' NO GO GET NEXT CHAR. "GET. OF FILLER CHARS. NEEDED AND THE NULL CHAR. J , DOES A NULL NEED TO BE TIPED? "BR IP' NO--GO POP THE NULL orr OF STACK , , GO TYPE A NULL J ,DO NOT COUNT AS A COUNT , 'LOOP 2. PC"UIPEC 'FILLC. (ap)+ at INULL, ·CSP) 1 (SP) 61 PC,UIPEC .CflAilCIfT 71 J' ,HORIZONTAL TAB PROCESSOR 020320 02,324 028338 0213)6 028340 020342 028344 020350 028352 020U0 828366 82037' 82'374 820176 021484 021416 828410 128412 112716 804H7 132737 801372 1I1l15726 88.724 U5777 10e:J7!l 116677 122766 800840 820344 88888' III 91. 820UIlI 160680 1180012 .00015 168572 000802 .8ten 185037 '88486 122766 0.1402 185227 1I1l110.0 88U'" 820410 000012 0.0802 MOV8 "SR BITB 8NE TST 8R nIPECI TaTB BPI. MOVB CMP8 BNE CLRB BR lit CMPB BEQ INCB .CHARCIIT •• WORD nutXl RTI .IBTTL t' , (ap) Pc,unEC U,.CHUCNT it (lP)+ 21 'UPS nIPEC 2(8P),UTP8 'CR,2CSP) 11 'CHAIICNT nyPEX 'LF,2(,,) UIPEX (PC)+ o , ,REPLACE TAB WITH SPACE , ,TYPE A SPACE "BRANCH IP' NOT AT "TAB STOP nPop SPACE oP'r STACK , , GET NEXT CHARACTER "IIAIT UN~IL PRINTER IS READY , ,LOAD CHAR TO BE TYPED INTO DATA REG. " IS CHARACTER A CARRIAGE RETURN? "BRANCK IF NO J JYES"·CL&:AR CHARACTER COUNT "EXIT J' IS CHARACTER A LINE FEED! , ,BRlMCH IF YES , ,COUNT THE CHARACTER , ,CHARACTER COUNT STORAGE PC INTEGn MULTIPLY ROUTINE , , ••••••••••••••••••••••••••••••••••••••••••••••••••••••• *••••••• ,.,. ,·CALL ,. ,.,.,. J. MOV MOV JSR RETURN MUUIPLER, - (SP) MULTIPLICAIfD, -(SP) STACIC PRODUCT PC:" .. IMULT "PRODUCT IS ON THE STACie MAINOEC-l1-DZRKL-O MACUl 27 (1006) 04-0CT-76 14126 PAGE 77 DlRKLD.Pl1 11-AUG-76 15tl5 INTEGER MULTIPLY ROUTINE 4130 1* 1* 4131 SEQ 0093 TOP +2 LSB"S MSB"S MOV MOV MOV CLR MeV BPI. INC NEG MOV BPI. DEC NEG MOV CLR BCC ADD ROR ROR DEC R0,-CSP) Rl,-eSp) R2,-eSp) -CSP) IHSP) ,Ri U (SP) Rl 14(SP) ,R2 2S esP) R2 U7.,-(SPl R0 4S R2,R0 Rill Rl esP) II PUSH R0 ON STACK I I PUSH Rl ON STACK II PUSH R2 ON STACK II CLEAR THE SIGN KEY I I GET THE MULTIPI.ICAND "BR IF PLUS II SET THE SIGN KEY " MAKE THE MULTIPLICAND POSTIVE " GET THE MULTIPLIER J IBR IF PLUS " UPDATE THE SIGN KEY "MAKE THE MULTIPLIER POSTIVE " SET THE LOOP COUNT I,SETUP FOR THE MULTIPLY LOOP IIDON"T ADD IF MULTIPLICAND. 0 4112 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 41114 4185 020414 020414 020416 020420 920422 020424 020430 020432 020434 029436 020442 020444 020446 020450 020454 020456 020460 020462 020464 020466 020470 020472 020474 020476 0205(1.10 020502 020504 020506 020512 020516 020520 02i'1522 020524 SMULTI 010046 010146 010246 (1.105046 016601 100002 005216 005401 016602 100002 (1.105316 (1.105402 012746 005000 103001 (1.160200 006000 006001 005316 000012 000014 1$1 000021 2$1 HI 4.: 0013i2 BNI 1: : :BR IF NO 022616 001403 005400 005401 005600 005726 010066 010166 012602 012601 012600 000207 CMP BEQ NEG NEG SBC TST MOV MOV MOV MOV MOV RTS (SPl+, esP) 58 R0 RI R0 (SPl+ R0,12(SP) Rl,10(SP) eSP)+,R2 (SP)+,Rl· (SP)+,R0 PC IISHOULD PRODUCT BE NEGATIVE? IIGO TO EXIT IF NO IIYES--SO MAKE IT SO 58 : 000012 000010 • SSTTL 020526 020530 020532 020534 I,CLEAR SIGN INFO. orF OF STACK "PUT THE PRODUCT ON THE STACK (MSS"S) :ILSS"S J: POP STACK INTO R2 : ,POP STACK INTO R1 : I POP STACK INTO R0 TTY INPUT ROUTINE , 1*************************************************************** .ENASL LSB : INUMBER OF ITEMS IN QUEUE 0 STKCNT J • WORD :, INPUT POtNTER STKQINJ .WORO 0 I I OUTPUT POINTER STKQOUT: .WORD 0 , I TTY KEYBOARD QUEUE STKQSRT: .BLKB 1 STKQENO-. .EVEN 000000 000000 000000 000001 020535 020536 :*TK INITIALIZE ROUTINE ,*THIS ROUTINE WILL INITIALIZE THE TTY KEYBOARD INPUT QUEUE : *SETUP THE INTERRUPT VECTOR AND TURN ON THE KEYBOARD INTERRUPT , :*CALLI '* JSR 1* RETURN PC, STKINT 04-0CT-76 14126 MACY11 27 (1006) MAlNDEC-I1-0ZRKL-0 TTY INPUT ROUTINE 31-AUG-76 15 J 35 DZRKLO.Pl1 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 422e1 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 II POSITION THE PARITIAL PRODUCT AND nTHE MULTIPLICAND II HAS ALL BITS OF THE MULTIPLICAND BEEN DONE? 020536 020542 020550 020556 020564 020572 020576 02e1604 005037 012737 013737 012737 012737 005777 012777 000207 020526 020534 020530 020606 000200 160350 000100 020530 020532 000060 000062 160340 ITKINTI CLR MOV MOV MOV MOV TST MOV RTS PAGE 78 STKCNT ISTKQSRT, STKQIN STKQIN, STKQOUT UTKSRV, UTKVEC .200, UTKVEC+2 UTKS U00,llSTKS PC SEQ 0094 ',CLEAR COUNT OF ITEMS IN QUEUE " MOVE THE STARTING ADDRESS OF THE nQUEUE INTO THE INPUT .. OUTPUT POINTERS. : I INITIALIZE THE KEYSOARD VECTOR : I"BR" LEVEL 4 : J CLEAR DONE FLAG I I ENABLE TTY KEYBOARD INTERRUPT nRETURN TO CALLER I *TK SERVICE ROUTINE : *THIS ROUTINE WILL SERVICE THE TTY KEYBOARD INTERRUPT : *BY READING THE CHARACTER FROM THE INPUT BUFFER AND PUTTING ,*IT IN THE QUEUE. el20606 020612 el20616 020622 020624 020632 117746 042716 021627 001004 022737 001500 020634 020634 020642 020644 020650 el2e652 020654 el20660 02e1662 020666 020670 020674 020676 020702 020706 020712 020714 020722 el20724 020130 el20734 el21'1736 020142 020744 e2075e1 i'l2e1754 020760 021'1766 02e1770 02e17'76 022737 001004 104401 005726 000451 021627 001021 005077 005726 105777 100375 117746 042716 022627 001366 012777 000002 ele5237 021627 0e124e5 el21627 003002 042116 112677 ele5237 023727 00101'13 1'112737 000002 160334 177600 000e107 000176 001140 000001 020526 STKSRV: MOVS SIC CMP 1&1 BNE CMP SEQ UTKB,-(SP) '-C177,(SPl (SP)," 2S UWRECO,SWR 6S II PICKUP THE CHARACTER : J STRIP THE JUNK II IS IT A CONTROL G? " BRANCH IF NO " IS sorr-SWR SELECTED? , I GO TO SWR CHANGE 2S1 001206 lS: 000023 160256 160250 31S1 16e1244 177600 0e10021 000100 160222 020526 000140 32U 01'10175 0e0e140 177554 020530 020530 020535 020534 020530 411 5S1 CMP SNE TYPE TST BR CMP BNE CLR TST TSTS BPL MOVB SIC CMP BNE MOV RTI INC CMP SLT CMP BCOT SIC MOVB INC CMP SNE MOV RT! I1,STKCHT " IS THE QUEUE FULL? , I BRANCH IF NO "RING THE TTY BELL "CLEAN CHARACTER OFF OF STACK , IEXIT , I IS IT A CONTROL-!? I I SRANCH IF NO "DISABLE TTY KEYBOARD INTERRUPTS : ICLEAN CHAR OFF STACK IIWAIT FOR A CHAR " LOOP UNTIL ITS THERE , I GET THE CHARACTER IIMAKE IT 7-BIT ASClt II IS IT A CONTROL-Q? nBRANCH IF' NO : I REENABLE TTY KEYSOARD INTERRUPTS : IRETURN .TKCNT "COUNT THis CHARACTER (SP),U41'1 J I IS IT UPPER CASE? J ISRANCH IF YES U eSP),tt75 " IS IT A SPECIAL CHAR? I,BRANCH IF YES U 140. CSP) , I MAKE IT UPPER CASE (SP)+, . . TKQIN II AND PUT IT IN QUEUE STKOIN " UPDATE THE POINTER STKQIN, UTKQEND " GO orr THE END? 5S " BRANCH IF NO UTKQSRT, UKQIN IIRESET THE POINTER I ,RETURN 3, ,SBELL (SPl+ 5S CSP),123 32. "TKS (SP)+ UTKS 31t 1118TKB,-CSPl '-Ct17,(sP) (SP) +, .21 311 1100,III8TKS II *******************************-****************************** ,*SOF'TWARE SWITCH REGISTER CHANGE ROUTINE. I *ROUTINE IS ENTERED FROM THE TRAP HANDLER, AND WILL :*SERVICE THE TEST FOR CHANGE IN SOFTWARE SWITCH REGISTER TRAP MUIIOEC-l1-0ZRKLO"O IIACYll 'H 10061 04·0C"·76 14126 TTY INPUT MUTINE DZRKLO,Pll l1-AUG-76 15135 42'2 4241 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 42U 4263 4264 4265 4266 4267 4268 4269 4270 42'11 4272 1121008 021006 021010 021014 021016 021022 021026 021032 11122737 001104 105'177 100101 117746 042716 021627 011l13011l 1111111111'16 081140 160130 160124 177600 000007 011l11]4 0e0001 1112111536 16111066 000001 001135 021034 021042 02U44 021046 02111152 021056 123727 001674 005726 004737 005111'17 112737 021064 "211117111 021074 02111110 021102 02111116 02111111 021112 "21116 104401 104401 11113746 104402 te441111 11105046 01115046 105777 100375 021643 (';21650 000176 "21120 021124 117746 042716 160022 177600 021130 021134 021136 021142 021146 021627 001005 104401 062706 000757 021150 021154 021156 021162 021164 021172 021176 021202 021210 021212 021220 021222 021627 11101022 005766 001403 016677 062706 104401 12)727 001003 11112717 000002 004737 160026 15' 15' , '*************************************************************** I*CONTIIOL IS PASStD TO THIS POtHT FROM tITHEII THE TTY INTtIlIlUPT SERVICE ,*ROUT,INE OR FROM THE SOfTWARE SWITCH REGISTER TRAP CALL, AS A II!:SUlIT OF A ,*CONTROL~ BEING TYPED. AND THE sorT WARE SWITCH REGISTEII BEING SELECTED, UUTOB,U J' ARE WE IIUNNING IN AUTO-MODI:? 611 CMPS BEQ , I SIIANCH IF YES 21 (SP)+ , ,CLUII CONTROL-G OFF STACK TST Pc,nKINT • 'fLUSH THE TTY INPUT QUEUE JSR J'DIUSL! TTY KEYBOARD INTERRUPTS CLR ,,"KS "SET IN1ERRUPT MODE INDICATOR MOV8 ",UNTAG 4273 4274 4275 42'16 SEQ "095 ,*CALL WHEN OPERATING IN TTY INTERRUPT MODE, , ,IS THE sorr-SHR SELECTED ISWR!G,SWR ICKSWR I CMP , , u n IF NOT SN! ,,18 A CHAR WAITING? TSTS UTKS BPL " I r NOT, EXIT Mova "TKB,·(SP) "YES '·Cl77'(SP) SIC "MAKE IT 7-SIT ASCII (SP) , n eMP "IS IT A CONTROL·G? I,IF NOT, PUT IT IN THE TTY QUEUE 8NI: 2' , ,AND EXIT ,. , ,ECHO THE CONTROL·G (·10) , ,TYPE CURRENT CONTENTS , ,SAVE SWREG FOR TYPEOUT ,,100 TYPE·-OCTAL ASCIHALL DIGITS) J , PROMPT rOR NEil SIIR 1 'CLEAR COUNTER , , THE NEW SIIR , , CHAR THERE? J , IF HOT TRY ~GAIN MOVB BIC UTK8,-CSP) ,·C177,(8P) , I PICK UP CHAR nMlIKE IT 7-SIT ASCII CMP SNE TYPE ADD BR U, I' IS IT A CONTROL·U? ; I SRANCH IF NOT "YES, ECHO CONTROL-U C·U) "IGNORE PREVIOUS INPUT "LET'S TRY IT AGAIN CMP SNE TST SEQ MOV ADD TYPE CMPB SNE MOV RTI JSR (SP), tl5 161 4(SP) 118 2(SP)'UWR u,SP ,.CRLF UNTAG,U 15' 11"0,U1K5 TYPE IeTSWRI TYPE MOV TYPOC TYPE 19 .. CLR CLR 781 TSTB BPI. 021661 PAGE 79 ,'CNT~G ,IM8I1R SWREG,-(SP) "MNEII ·CSP) ·(SP) "TKS 4277 4278 4279 4280 4281 4282 4283 4284 4295 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 911 800025 021636 000006 2011 000015 10'1 000004 157746 000002 000006 01iJ12D 001135 060001 000UIiJ 157724 lUI 1411 1511 020344 1681 CSp),t25 ,.CNTLU U,SP 19' PC,UYPEC MACYl I 2Hl11l06l 04-0CT-76 14126 MAINDEC·l1-DZRKt,·D TTY HIPUT ROUTINE 1'l7.IU(LD.Pt t ll·AUG-76 15135 4298 4299 4U0 43111 4],,2 431iJ3 4384 4),,5 4386 B87 4388 4389 4HIl 4311 4312 Ull 4114 4115 4316 4317 4318 4319 4320 4321 4322 4323 4324 4125 4126 4127 4328 4129 4330 4331 4112 4lll 43]4 4335 4336 43]7 4]]8 4119 U41l 4141 4342 4141 4144 4]45 4]46 4347 4348 4149 U5111 4351 4352 4~!I ~ 021226 021212 021234 021240 021242 021246 021252 021254 e21256 821268 021262 021266 1121H2 821274 02U00 021627 11102420 .21627 00]015 '42726 885766 001403 806316 "06316 106316 805266 056616 110111787 18U01 888720 000060 0011l06'7 000060 000082 1100082 177776 17', 01H212 18 .. ,DSABL CMP SLT CMP BlOT BIC TST BEQ ASL ASt. ASL INC BIS BR TYPE BR LSB , , IS IT A AND , ,RE-ENABLE TTY KBD INTERRUPTS? , ,BRANCH IF NOT I' RE-ENABLE TTY KSD INTERRUPTS ; ,RETURN , 'ECHO CHAR PAGE 80 SEQ 0096 CSP),160 181 (SP),U7 18. '60'(SP)+ 2(8P) 171 UP) (SP) (SP) 2(SP) -2(SP),(SP) ,. "QUES 28t "CHAR < 1111 , ,BRANCH I f YES , 'CHAR> 7? I,SRANCH Ir YE8 , ,STRIP-OFF ASCII "IS THIS THE rIRST CHAR I , BRANCH IF YES uNO, SHIrt PRESENT CHAR OV!:R TO MAKE II ROOM rOR NEW ONE. J ,KEEP COUNT OF CHAR "SET IN NEil CHAR I I GET THE HEXT ONE " TYPE ? I,SIMULATE CONTROL·U " J , * ** ** ******* * ***************** **************** **************** * ;*THIS ROUTINE lULL INPUT A SINGLE CHARACTER FROM THE TTY ,*CALLI RDCHR IIGET A CHARACTER FROM THE QUEUE '* RETURN HERE "CHARACTER IS ON THE STACK I' "WITH PARITY BIT STRIPPED OFF ,,. 021302 1121304 821312 1121316 821320 021324 021326 021326 021332 821334 821:148 .21346 021352 021360 '321362 021370 811646 016666 11105066 "1115046 812746 1180082 8213'12 821)74 82U76 821482 1121406 1l21UII UUU IlIlUU 812'113 822713 181456 trIIUU 0:HU' ! 12611 1l0!1737 801775 805337 117766 005217 '23727 81111003 812737 11118"02 0000114 000111114 000002 021326 02111526 828526 1'17166 "205]2 82111512 8205]4 021626 021636 8118004 020!535 1120532 (SP),·UP) IRDCHRJ MOV ,'PUSH DOliN THE PC AND 4(SP),2 (SP) MOV liTHE PS 4(SP) , ,GET RE~DY FOR A CHARACTER CLR -(SP) CLR "PUT NEW PS ON STACK uu,·(SP) MOV "PUT NEW PC ON STACK RTI II POP NEil PC AND PS 6U. TST UKCNT II. " WAIT ON A CHARIlCTEII BEQ it , ,DECREMENT THE COUNTER UKCHT DEC , ,GET O!iE CHARACTER MOVB UTKOOUT,4CSP) I,UPDATE THE POINTER INC nKOOUT UKQOUT,UTKQENO "DID IT GO orF OF THE END? CMP 8NE 2. ,'SRANCH If NO UTKQSRT,nKQOUT "RESET THE POINTER MOV , ,IIIETURH 2 .. RTI ,,****.****iI***************************************************** ,ITHII ROUTINE WILL INPUT A IITRlIIG FROM THE TTY IICALLI RDliIN " INPUT A STRING rROM THE TTY J* "ADORESS or rIRST CHARACTER WILL BE ON THE STACK RETURN HERE ,* "TERMINATOR IIILL BE A BYTE OF ALL ". S '* IRO!..IIII MOV CLII MOV 18. CMP 211 BL08 ROCHR Io\OV~ u,.csP) -(SP) UTTYIH,Pl lIUTYIN+8., Rl .. (~p,... rJ:l3' "SAY! I'll , 'CLEAR THE RUBOUT KEY , ,en ADDRESS I ,BUFnR rULL? "BR IF YES II GO READ ONE CHARACTER FROM THE TTY I leu C!llIllACTtl< 14126 04-0CT-76 MAINDEC·II-DZRKL-D M1CYll 27(U06) TTY INPUT ROUTINE 31-lUG-76 15135 DZRKLD.Pll 4354 4355 4356 4357 4358 4359 436" 4361 4162 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 437l 4374 4375 4376 4377 4378 4379 4380 43111 4382 43g3 4394 4395 4396 4387 43S8 4399 4390 4391 4392 4393 4394 4195 4396 4397 4198 4399 4400 4401 4402 449] 4404 4405 4406 4497 44158 H09 021414 021420 021422 021424 921426 021434 921440 921444 921446 921452 021454 021460 921464 921466 021479 021472 921500 921504 021596 021512 921514 021529 021522 921526 021539 921532 021536 021542 921544 021559 021552 021556 021562 021566 021570 021574 021600 021602 021694 021606 021614 021622 021624 021625 021626 1621636 021643 021650 021656 021661 021666 122713 001022 ,,05716 001007 112737 194401 012716 005303 020327 103434 111 337 104401 000746 095716 001406 112737 104491 995016 122713 901003 104491 900726 122713 091911 105913 104491 104401 000717 104491 000712 l1tH7 104401 122723 001305 105063 104401 005726 012603 011646 016666 012766 000002 000 900 000010 052536 136 005015 020075 040 03644eJ tell 000 000012 020122 CMPB BNE TST SNE MOVS TYPE MOV 61, DEC CMP BLO MOVB TYPE BR TST 511 BEQ MOVB TYPE CLR CMPB 7$: BNE TYPE BR 8$1 CMPB 8NE CLIIB TYPE TYPE BR 4$1 TYPE BR MOVB 3S1 TYPE CMPB BNE CLRB TYPE TST MOV MOV MOV MOV RTI 911 .8YTE .BYTE UTYINJ .BLKB SCNTLUI .lIScn SCNTLGJ .ASCn ,MSWRI .ASCn 053505 SMNEWt 0""1 '77 900134 021624 177777 021624 021626 921624 021624 090134 921624 021624 900025 921636 900922 001213 021626 001212 021624 021624 000015 177777 001214 090904 021626 005015 096507 053523 099 047040 990040 000002 900004 SEQ 0097 1177'(113) 5. (SP) " IS IT A RUBOUT "BR IF NO IIUBOUT? " IS THIS THE FIRST : :BR IF NO "TYPE A SACK SLASH 6e '"',91 ,9. '-1, (SP) 113 113,UTTYIN r ,SET THE RUBOUT KEY "BAC:KUP BY ONE r, STACK EMPTY? "BR IF YES , ,SETUP TO TYPEOUT THE DELETED CHAR. "GO TYPE "GO READ ANOTHER CHAR. "RUBOUT KEY SET? "BR IF NO , ,TYPE A BACK SLASH U (Rl),91 ,9S 2. (SP) ,..",,98 ,9S CSP) 125,(R3) , 'CLEAR THE IIUBOUT KEY r I IS CHARACTER A CTRL U? "BR IF NO , I TYPE A CONTROL aU· "GO START OVER "IS CHARACTER A ··R"? "BRANCH IF NO "CLEAI'! THE CHARACTER "TYPE A ·CR" , "LF" I,TYPE THE INPUT STRING , ,GO PICKUP ANOTHER CHACTEI'! "TYPE A '1' , ,CLEAR THE BUrFER AND LOOP "ECHO THE CHARACTER as ,.CNTLU 11 '22, (Rl) 3S (R3) ,SCRLF ,nTYIN 2. ,.QUES 11 (R3) ,91 ,9' US, (R3)+ 2. , , CHECK FOR I'!ETURN " LOOP IF NOT RETURN : 'CLEAR RETURN CTHE 15) : ,TYPE A LINE rEED I,CLEAN RUBOUT KEY FROM THE STACK " RESTORE R3 "ADJUST THE STACK AND PUT ADDRESS or THE FIRST ASCII CHARACTER ON It If -UR) ,.Lr (SP)+ (SP)+,Rl CSP),-(SP) 4(SP),2CSP) UfTYIN,4(SP) : ,RETUI'!N "STORAGE FOR ASCII CHAR. TO TYPE , ,TERMINATOR "RESERVE 8 8YTES FOR TTY INPUT JI CONTROL ·U8 "CONTROL 8G" 0 0 8. I-U/<15><12> I·G/<1S><12> <15><12>/SWI< " NEW • .ASCn I I ............................................................... .SBTTL : PAGE 81 READ AN OCtAL NUMBER FROM THE TTY , ,.THIS ROUTtNE WILL RElla AN OCTAL (ASClf) NUNBEI'! FROM THE TTY AND MAINOEC-l1-DZRKL.D MACYIl 27 (1006) 04-0CT-76 14t 26 PAGE 82 DZRKLD.PII )1-AUG-76 15!35 I'!EAD AN OCTAL NUMBER FROM THE TTY 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4412 4433 4414 4435 4436 4437 4438 44)9 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 ,.CHANGE IT TO BINARY. ,·CALLI RDOCT RETURN HERE ,.,. ,. 021672 021674 921702 "'21794 021706 921710 021712 021714 021716 021720 021722 021724 921726 021730 021732 021734 02173& 021740 021744 021746 021759 021752 021756 021762 021764 021766 021770 021772 011646 016666 010046 010146 010246 104411 012609 005001 905002 112946 001412 006301 906102 006301 096102 006301 006102 042716 062601 090764 005726 010166 010237 012692 012601 012600 090092 000909 900004 000092 SMOCTI MOV MOV MOV MOV MOV lSI RDLIN MOV CLR CLR MOVB 2S1 BEQ 1St 177770 000012 021772 ROL ASL ROL ASL ROL BIC ADD BR TST 3S1 MOV MOV MOV MOV MOV RTI ,HIOCTI .il/ORD (SP), ·(·SP) 4(SP),2(SP) R0,-(SP) Rl,"CSP) 1'!2,-(SP) (SPH,R0 fl1 112 CR0) +, - (SP) 31 Rl I'! 2 Rl R2 R1 R2 '-C7'(SP) (SP)+,R1 28 CSP)+ RI,12CSP) R2,8HIOCT (SP)+,1I2 (SP)+,Rl (SPH,R0 " READ AN OCTAL NUMBER :, LOW ORDER BITS ARE ON TOP or THE STACK "HIGH ORDER 8ITS ARE IN SHIOCT , I PROVIDE SPACE FOR THE , ,INPUT NUMBER "PUSH R0 ON STACK "PUSH Rl ON STACK : ,PUSH R2 ON STACK nREAD AN ASCIZ LINE : IGET ADDRESS OF 1ST CHARACTER "CLEAR DATA WORD "PICKUP THIS CHARACTER ZERO GET OUT U·2 :r IF ".4 ".8 : I STRIP THE ASCII JUNK "ADO IN THIS DIGIT "LOOP : • CLEAN TERMINATOR FROM STACK : ISAVE THE RESULT nPOP STACK INTO 1'!2 "POP STACK INTO Rl :sPOP STACK INTO R0 , ,I'!ETURN , ,HIGH ORDER BITS GO HERE ........•....................•.............................•... .S8TTL ,, BINARY TO OCTAL CASCII) AND TYPE ,UHIS ROUTINE IS USED TO CHANGE A 16-BIT SINARY NUM8ER TO A 6-DIGIT ,.OCTAL (lSCn) NUMBER AND TYPE IT. ,.UYPOS-·-ENTER HERE TO SETUP SUPPRESS ZEROS AND NUMBER OF DIGITS TO TYPE ,·CALLI , , NUMBER TO 8E TYPED MOV "UM,-(SP) TYPOS "CALL FOR TYPEOUT I( Ull-l TO 6 FOR NUMBER OF DIGITS TO TYPE .8YTE N nM-l OR 0 .BYTE "I-TYPE LEADING ZEROS I,0-SUPPRESS LEADING ZEROS ,.,.,. ,.,. ,. ,. ' •• TYPON····ENTER HERE TO TYPE OUT WITH THE SAME PARAMETERS AS THE LAST I.ITYPOS OR nyPOC ,·CALLI , ,NUMBER TO BE TYPED NOV "UM,-(SP) TYPON "CALL FOR TYPEOUT ,.,.,. ,.UYPOC-·-E"TER HER! FOR TYPEOUT OF A 16 BIT NUMBER SEQ 0098 04-0CT-76 14126 PAGE 8l MACYll 27 (1996) MAINDEC-I1-DZRXL-D 31-AUG-76 15135 BIliARY TO OCTAL (UCII) AND TYPE OZRICLD.PII ~ 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 44&4 4485 4486 4487 4498 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 450l 45e4 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 45t5 4516 4517 4518 4519 4520 4521 ,.,. SEQ 9099 ,·CALLI 021774 022000 022006 022012 e22016 022020 022026 022034 022042 022044 022046 022050 022854 022056 022062 022866 022072 022076 022100 022102 022104 022106 022110 022112 022114 022116 022122 022124 022130 022132 022134 e22136 022140 022144 022150 e22154 022160 022164 022166 022170 022172 02%1'14 022176 022200 022202 022210 022212 022214 022215 022216 022217 022220 017646 116637 112637 062716 e00406 112737 112737 112737 010346 010446 010546 113704 005404 062704 1 te437 113704 016605 005003 006105 000404 006105 006105 e06105 010503 006103 105337 100e16 042703 001e02 005704 00141!l3 005204 052703 052703 110337 104401 105337 003347 002402 005204 000744 012605 012604 012601 016666 012616 000002 e00 800 000 000 000000 000000 009001 022221 000002 000eel e00006 000005 022217 e22217 022221 022216 022221 080006 022220 022217 000012 022220 177770 000060 000040 022214 022214 022216 000002 000004 MOV TYPOC UYPOSI MOV MOVB MOVB ADD BR UYPOCI MOVB MOVB STYPONI MOVB MOV MOV MOV MOVB NEG ADD MOVB MOVB MOV CLR ROL UI BR ROL 2" ROL ROI. MOV 311 ROt. DECB BPt. BIC BNE TST BEQ 411 INC BIS 8IS 581 MOVB TYPE 781 DEC8 8GT BLT INC BR MOV 611 MOV MOV NOV MOV RTI 811 .BYTE .BYTE 10CNTI .8YTE UFIt.t.1 .BYTE .OMODEI .WORD NUM,-CSP) , ,NUMBER TO BE TYPED "CALL rOR TYPEOUT I(SP), -(8P) 1 (SP), UFIt.t. (SP)+,IOMOOE+l n,csP) UYPON 11,.0FIt.t. t6, I OMODE+ 1 .5,IOCNT U,-CSP) R4,-(SP) R5,-(SP) 10MODE+1, R4 R4 "PICKUP THE MODE "t.OAD ZERO Flt.t. SWITCH , ,NUMBER OF DIGITS TO TYPE , ,ADJUST RETURN ADDRESS f6,M R4,.OMODE 80rUL,R4 U(SP), R5 R3 R5 JI R5 RS R5 R5,R3 R3 .OMODE 7. .177770. R3 U R4 51 R4 .. 0.Rl t' ,Rl Rl,BI ,BI .OCNT 2. U 2. R4 (SP)+.R5 (8P)+,R4 (SP)+.R3 2(aP),4(SP) (8P)+. (SP) nSET THE "SET rOR "SET THE "SAVE R3 "SAVE R4 "SAVE R5 "GET THE ZERO FIt.t. SWITCH SIX(6) DIGITS ITERATION COUNT NUMBER OF DIGITS TO TYPE "SUBTRACT IT FOR MAX. ALLOWED "SAVE IT FOR USE "GET THE ZERO rlt.t. SWITCH "PICICUP THE, INPUT NUMBER "CLEAR THE OUTPUT WORD "ROTATE MSB INTO ·C" "GO DO MSB "rORM THIS DIGIT "GET LSB OF THIS DIGIT "TYPE THIS DIGIT? ,'BR IF NO , ,GET RID OF JUNK "TEST rOR 0 , ,SUPPRESS THIS 0? nBR Ir YES "DON'T 8UPPRESS ANYMORE 0'S nMAICE THIS DIGIT ASCU J ,MAKE ASCII Ir NOT ALREADY ,ISAVE FOR TYPING JJ GO TYPE THIS DIGIT "COUNT BY 1 : J BR IF MORE TO DO "BR IF DONE :, INSURE LAST DIGIT ISN'T A BLANK "GO DO THE LAST DIGIT J ,RESTORE R5 , ,RESTORE R4 "RESTORE Rl : ,SET THE STACK FOR RETURNING J ,RETURN 0 0 0 0 0 "STORAGE rOR ASCII DIGIT J ,TERMINATOR rOR TYPE ROUTINE I,DCTAt. DIGIT COUNTER "ZERO FILL SWITCH I J NUMBER OF DIGITS TO TYPE MAINDEC-l1-DZRKL-O MACYlI 27(1006) 04-0CT-76 14126 PAGE 84 DZRKt.D.Pl1 31-AUG-76 15135 8INARY TO OCTAt. (A8CII) AND TYPE 4522 4523 4524 4525 4526 4527 4528 4529 45)0 4531 4512 45]3 4534 4515 45)6 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 .SBTTL TYPDSS - TYPE DECIMAL. t.EADING ZEROES SUPPRESSED :TYPDSS ,IIOUTIN!: rOR TYPING OUT DECIMAL NUMBERS, t.EADING 0'S ARE SUPPRESSED ,THE NUMBER IS LEFT JUSTIFIED. NOTE THE 16 BIT BINARY NUMBER SHOULD ,Bt POSITIVE (BIT 15- 0). ICALLI MOV NUMBER.-(SP) ,pur BINARY NUMBER ON STACK ,TYPDSS ,GO TYPE DECIMAL 022222 (222)0 022234 016637 012746 004H7 000004 e22262 e22422 022240 004737 022266 022244 022252 022256 022260 016666 1666 005726 000002 I" 0e0002 000002 022262 000000 000e00 4(8P),1I Ill, -(SP) PC,,,.DB2D 022262 TYPDES. MOV MOV JSR ,GET THE NUMBER ,PUT PTR ON THE snc:IC ,GO CONVERT BINARY NO. TO , ASCII STRING ,GO TYPE OUT DECIMAl. STRING ,SUPRESING LEADING 0'S ,ADJUST RETURN ,ADJUST RETURN ADRES ,POP STACK ,RETURN JSR PC"USUPRS 000004 MOV MOV TST I\TI 2(8P),4(8P) (SP),2(8P) (SP)+ 111 .NORD 0,0 • 88TTt. TYPE NUMERICAt. Ascn STRING SUPPRESS LEADING ZEROS , , ••••••••••*••* •••••••••*•••*••••••••••••••••••••• *••••••••••••• ,.THIS ROUTINE IS USED TO TYPE AN ASCII NUMBER SUPPRESSING THI!: ,.LEADING NUM8ERS. ,.CALL I. MOV INUMADR,-(SP) "rIRST ADDRESS Dr ASCI! STRING ,. JSR PC, lU UUPRS 455) 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 04564 4565 4566 4567 40568 4569 SEQ 010" 022266 022270 022274 022276 022300 1Il223e4 022306 1!l22310 1!l22314 IIl2U16 1il22320 022322 022324 0101146 11116600 1I!l5710 001403 1227211l 001773 111053'0 010037 llll440l ""III III III III 1Il12600 012616 oIII ezlll 7 000004 UUPRSI MOV MOV TST8 81!:Q CMPB BEQ 281 DEC MDV TYPE lSI .NORD MOV MOV 111 000060 022316 RTS R0, -UP) 4UP),R0 (Rt) 2' 1'0, (RIII)+ 11 "0 RI,lI o (SP)+,R0 (SP)+, (SP) PC "SAVE R0 "PICKUP THE POINTER , I TERMINl TEORl ,,8R IF YES ,JIS THIS AN ASCII "0" I,BR Ir YES , ,BACKUP BY "1· I,IAVE FOR TYPING "GO TYPE , ,Ascn POINTER GOES HERE "RE5'l'ORE R0 , ,RESTORE THE STACK , ,RETURN 457/1 .S8TTI. 4571 4572 4573 " ••*.* •••••••••••••••••••••••••••••••••••• *.** ••••••• *••• *•• **.* 4574 4575 4576 4577 SAVE AND RESTORE R0-RS ROUTINES , *lA VI: R"-R5 ,·CALLI ,. SAVREG ,.UPON RETURN FROM UAVREG THE STACK WIt.L LOOK LIKEt ,. MAINDEC·I1-DZRKL-0 MACYll 27(1006) 04-0CI1'-76 14126 PAGE 85 SAVE AND RESTORE RiZ-R5 ROUTINES 11-AUG-76 15135 OZRKLD.Pll 4578 4579 4580 4581 4582 4583 4584 4595 4586 4587 4588 4589 4590 4591 4592 4593 4594 .595 4596 4597 4599 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 46t3 4614 4615 46t6 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 SEQ 0101 ,.TOP·--(+16) ,. +2---(+18) , . +4-·-R5 , . +6---R4 , . +8-·-R3 ,.+10--·R2 ,.+12··-Rl ,.+14·--R0 022326 022326 022330 022332 022334 022336 022340 022342 022346 1122352 022356 022362 022364 022364 022370 022)74 022400 022404 022406 022410 022412 022414 022416 822420 UAVREGI 010046 IiH iii 146 010246 010346 IH0446 010546 016646 1iH6646 016646 016646 000.02 012666 012666 012666 012666 012605 012684 812683 .12602 012601 012600 "0"'02 MOV MOV MOV. MOV MOV MOV MOV MOV MOV MOV RTI 000022 00"22 008022 00.022 ,.RESTORE R0-R5 ,·C1LLI RE8REG I· 'RESREGI MOV MOV MOV MOV MOV MOV MOV 000022 000022 000022 000022 MO~ MOV MOV RTI .S8TTL R0,-(SP) Rl,-(IIP) R2,-(SP) R],·(SP) R4,·(8P) R5,-(SP) 22(8P),-(5P) 22(SP),-(8P) 22(SP),·(5P) 22(SP) ,·UP) , ,PUIIH , ,PUSH , ,PUSH , ,PUSH , ,PUSH , ,PU8H "SAVE I ,SAVE: "SAVE ,,8AVE (SP)+,22(SP) (IIP)+,22(IIP) (IIP)+,22(IP) (IP)+,22(IIP) (IIP)+,R5 (SP)+,R4 (SP)+,R3 UP)+, R2 (SP)+,Rl (SP)+,R0 , ,RESTORE PC OF CALL , ,RESTORE PS or CALL , ,RESTORE PC or MAIN FLOW , ,RESTORE PS or MAIN FLOW "POP STACK INTO R5 "POP STACK INTO R4 "POP STACK INTO R3 "POP ITACK INTO R2 J IPOP STACK INTO Rl , ,POP STACK INTO R0 R0 Rl R2 R3 R4 R5 PI PC PS PC ON ON ON ON ON ON OF OF OF or STACK STACK STACK STACK STACK STACK MUN FLOW MAIN nOW CALL CALL DOUBLE LENGTH BINARY TO DECIMAL ASCII CONVERT ROUTINE , , •••••••*****.******************************* •• *****.******.*.** ,.THIS ROUTtNE WILL CONVERT A 32-8IT BINARY NUM8ER TO AN UNSIGNED ,*DECIMId.. (ASCII) NUM8ER. THE SIGN OF THE BINARY NUMBER MUST BE ,*POSITIVE. ,*CALL MOV 'PNTR,-(SP) I ,POINTER TO 1.01'1 I'IORD OF BINARY NUMBER ,* JSR ,* PC,"'DB2D RETURN J ,THE FIRST ADDRESS OF Ascn ,* "IS ON THE STACK 022422 022424 022430 022434 "22440 104413 016602 812700 010066 012201 .OB2DI 008002 022602 000002 SAVIIEG MOV MOV MOV MOV 2(SP),R2 UDECYL,1I0 R0,2(SP) (R2)+,!U nSAVE REGISTERS "PICKUP THE DATA POINTER "GET ADDRESS OF ·'DECVL" STRING J ,PUT ADDRESS OF' ASCIZ STRING ON STACK : ,PICKUP THE BINARY NUMBER MAINDEC-I1-0ZIlKL-0 "ACYl 1 27(1006) 04-0CT-76 14126 PAG! 86 OOUBL! LENGTH BINARY TO DECIMAL ASCII CONVERT ROUTINE :U-AUG-76 15135 O!RKr.,O.Pll 4634 4635 4636 4637 4638 46]9 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665' 4666 4667 4668 4669 467O 4671 4672 4673 4674 4675 4676 4677 4678 4679 4688 4681 4682 4683 4684 4685 4686 4687 4688 4689 022442 022444 022452 022456 822462 022464 O22466 O22478 822472 022474 022476 822508 822502 022504 822506 822518 O22514 022516 022520 822522 022524 822526 022538 022532 022534 022536 .22540 822542 O22544 022546 022550 022552 022554 022556 O22560 022562 822564 822566 822570 022572 922514 822576 9226es 022602 012202 012737 012704 012705 005003 t61401 805602 161502 002482 005203 080772 862401 005582 862482 022525 052783 111'120 085127 000000 001357 105020 104414 008287 145008 035632 160400 002765 113208 000230 041100 '00017 103240 0000811 O23420 0.0000 "01750 008800 000144 0800.0 000012 00e8e8 90e801 .09000 800814 0il08t2 022532 022534 080068 022520 MOV MOV MOV MOV UI CLR SUB 2'a SBC SU8 8LT INC 811 ADO 3$1 ADC ADO CMP 815 MOV8 DEC .WORD UI BNE CLRB REaREG RTS UNPI'IRa 145000 35632 160400 2765 113200 230 041100 (R2)+,R2 U0.,U UTHPWR,1I4 UTNPIIR+2,R5 R3 (114), Rl 112 (R5"R2 U R3 2' (1I4)+,Rl R2 (R4)+,R2 (115)+, eR5)+ '"0,R3 Ill, (R0)+ (PC)+ 0 18 (R0)+ PC : 'SET UP TO 00 10 CONVERSIONS , , ADDIIESS OF TEN POWER "CLEAR PARTIAL , ,SUBTRACT TEN POWER , ,BII IF TEN POIiER TO LARGE "ADO 1 TO PARTIAL , ,LOOP , ,IIESTORE SUB1'RACTED VALUE , ,MOVE TO NEXT TEN POWER "CHANGE PARTIAL TO ASCII nSAVE IT : ,DONE? "BR IF NO , , TERMINATOR " RESTORE REGISTERS , ,RETURN , ,1.0E09 ,,1.0E08 ,,1.0!07 1,1.0E06 17 : ,1. 0E05 103248 1 23420 0 1750 0 144 0 1,1.0E04 nl.0E03 "l.0E02 12 111.0£01 0 1 8 1,1.0E08 12. .DECVLI .BL~B .SBTTL TRAP DECODER , 'RESERVE STORAGE FOR ASCl! STRING , ,*******.**.***.************************************************ ,*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE "TRAp· INSTRUCTION I*AND USE IT TO IIID!X THROUGH THE TRAP TABLE FOR THE SURTlNG ADDRESS ,*or THE DESIRED ROUTINE. THEN USING THE lDDRESS OBTAINED IT WILL ,*GO TO THAT ROU!!NE. O22616 III 0046 trRAP' MOV R0,_(5P) "SAVE ~0 SEQ 0102 '4A!NDI:C-1l-0UKl,,-0 DZ~KLD,Pl1 4690 4691 4692 4693 4694 4695 ~1-AUG-76 022620 922624 022626 0226)0 022632 022636 016U0 005740 111000 006300 0\600£ 000200 022640 022642 0:12650 011646 2116666 2100002 "ACYU 27 (1016) 15,]5 04-0CT-"6 14126 TIIAP D£t'OOER MOV TST MOva ASt.. 922652 MOV PTS PAGE 87 2CSP),1I0 -CIl0) (R0),R0 R0 ITII?AD (110) ,110 11£ , ,GET T~AP ADDRESS , 'BACKUP 8Y 2 , ,GET RIGHT BYTE OF TRAP "POSITION FOR INDEXING , ,INDEX TO TABLE "GO TO ROUTINE 4696 4697 4699 471/10 47fl1 471/12 471n 471/14 47115 4706 090004 000002 STRAP2, MOV MOV IITI ,SBTTL (SP) ,-CSP) 4(SP),2(SP) , ,MOVE THE PC DOWN ~ 'MOVE THE PSw DOWN , ,RESTORE, THE PSW TPAP TABLE ,.THIS TABLE CONTUNS THE STAIITI~G ADOIlESSES OF THE ROUTINES CALLED THE "TIIAP" INllTRUCTION. ,.BY 4707 nee 4709 ,, 47tll 471l IS USE TO HANDLE THE "GETPPI" MACRO I,THIS 4698 IIOUTINE STRAP2 , I CALL-TYPE , ,CALLsTYPOC , ,CALL-TYPOS , ,C ALL_TYPON I ' CALL-TYPOS 4716 022640 1'12El74 022020 021774 0221134 1''''77516 4717 4718 4719 472e 4721 4722 4723 4724 4725 022666 021070 fGTSNR 022670 022672 022674 022676 022700 022702 021000 0213112 02 t 372 021672 022326 022364 .CKSWR .RDCHR .ROLIN .IIDOCT .,sAYREG .RE5REG 4726 4727 022704 016526 CN.RST J JCALLsCON.RESF.T TRAP+15(10441S) CONTROL RESET ROUTINE 4728 4729 022706 916414 DR,RST "CALL-OIIV,RESET TRAP+16(104416) DRIVE RESEl ROUTINE 4712 4713 4714 4715 eTRPADI ,WORD .TYPE eTYPOC HYPOS STYPCiN UYP[)S 022652 022654 e22656 022660 022662 11122664 " CALL=CKSWR I ' CALL-RDCHR "CALL-ROLIN I,CALL-ROOCT I ' CALL-SAVREG , ,C ALL-IIESIIEG TRAP+3( 104403) TRAP+4(104404) TRAP+5(t04405) TTY TYP!:OUT ROUTINE TYPE OCTAT, NUMaER (WITH LEADING ZEROS) TYPE OCTAL NUMBER (NO LEADING ZEROS) TYPE OCTAL NUMBER (AS PER LAST CALL' TYPE DECIMAL NUMBER (WITH SIGN) TRAP+6 (104406) GET SOfT-SWR SETTING TRAP+7( 1044(7) TRAP+10( 104410) TRAP+ 11( 184411) TRAP+12(104412) TRAP+ll(104413) TIIAP+14(104414) TEST fOR CHANGE IN SOFT-SWR TTY TYPEIN CHARACTER ROUTINE TTY TYPEIN STRING ROUTINE READ AN OCTAL NUMBER FROio! TTY SAVE R0-R5 ROUt'INE RESTORE R0-RS ROUT INE TRAP+ 1 C104i01l TRAP~2(104402) 4730 4731 022710 015779 MSGI': "CALL-MESAGE ':'RAP+17 (194417> MESSAGE HANDLER 47)2 4733 0227 t 2 0160H TY.MSG J 'CALL-TYPMSG TRAP+20( 104420) MESSAGE TYPEOUT ROUTINE 022714 016544 4734 4735 47}6 4737 4738 4719 4740 4741 4742 TEST RIWIS ROY SET 022716 916642 TSTRWS II CALLIITST. RWS TRAP+22 (104422) 022720 1'116449 RES.DO ::CALLIIRESOON TIIAP+2HI04423) ORIVE RESET DOfolE? 0227:12 922222 TYPOES J 'CALL-TYPDSS TRAP+24 (104424) TYPE DENMAL, SUPRES LOG 1'1' S 4741 4744 .S8TTL POWEP DOWN AND UP ROUTINES 4145 ~AINDEe-ll·DZPKL-O Di!RI(LD,pll 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 47'59 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 477111 4171 4772 4771 4774 4175 4176 4177 4778 4179 4780 4781 4782 4783 4184 4185 4786 4187 4788 4789 4790 MACYlI 27 Ct 906) 3! -AUG-'" 15;35 14126 04-0CT-76 PAGE 88 POWER DOWN AND UP ROUTINES , I •••• 022724 022732 022740 022742 022744 022746 022750 022752 022754 022760 022764 022772 022774 012737 912737 010046 011H46 91024b 01034b 910446 ['110546 017746 "10637 IH2737 000000 000776 023070 90034'" 000024 900026 15616il 023974 02'776 "o0024 022776 023004 023010 023014 023020 023022 02302& 91230]0 023032 023034 023036 023040 02311142 023"'50 023056 023060 "23062 023064 "23066 0:13070 023072 FJ23074 023076 023104 012731 013706 005037 0052]7 001375 O12677 0126"'5 012604 012U) 012607 012601 01260O 012737 012737 104401 O23076 O12716 004170 0OO002 000000 1'100776 1'1000FJ0 005915 1'100122 023070 023074 023074 023074 ,POWER DOWN ROUTINE IPWRONI MOV UILLUP,IUPWRVEC ,rSET fOR FAST UP !'IOV t340dl'PWRVEC+2 nPRIon MOV Re,-(SP) ,:PIISH R0 ON STACK Rl, -(SP) MOV : i PUSH Rt ON STACK MOV 112,-(SP) llPUSH R:i' ON STACK P3,-(SP) MOV l ' PUSH R3 ON STACK R4,-(SP) MOV llPUSH R4 ON STACK R5, -(SP) MOV /,PUSH RlS ON STAt:'K IlSWR,-(SP) MOV "PUSH nWR ON STACK MOV SP,SSAV-R6 "SAVE SP MOV UPWRUP,;lIPWRVEC IISET UP VECTOR HALT BII • -2 11HANG UP ** ••••••••••••••• 000024 156112 022724 000340 000024 00002b 047520 042527 SEJ 9194 ***** *. * .*** •••• ** •• *.* •• * **.* •• ******* •••••••••• *••••••••• *.................... *••••• *. :I «I • • • • • • • • • • • • • • • • ,Pow!::1I UP !lOUTI Nt: UILLUP,IIIPlIiRVEC "SET FOR FAST DOWN 'Plr/RUP I MOV MOV .SAVR6,SP "GET SP UAVR6 "WAIT LOOP FOR THE TTY CLR 1$1 INC UAVR& 'liiAIT FOR THE INC WORD BNE U nOF (SP)+,fSWII MOV "POP STACK INTI) (!ISwR (SP)+,R5 MOV "POP STACK INTO 115 (SP)+,R{ MOV ,,'POP STACK INTO R4 (SP) +, A3 MOV " POP STACK INTO Rl (SP)+,R2 MOV J ,POP STACK INTO 112 (SP)+,Rl MY "POP STACK INTO Al (SP)+,R0 , ,POP STACK INTO R0 MOY MOV "PWRDN, UPWRVe:C "SET UP THe: POWER DOWN VECTOR MOV 1340,UPWRVEC+2 "PRIOI7 ,REPOIIT THE POWER FAILUI. FURTHER QUESTIONS eRKBA? , RKDA? , :twORDS? ) IIlILL BE UK!D. TYPE IN THE BUS ADDRESS (OCTAL), OI5K ADDRESS , (OCTAL), AND NUMBER OF 1I0RDS TO BE TRANSFERRED (OCTAL). IF A NON-EXISTENT ,CYLINDER OR A NON-EXISTtNT SECTOR IS TYPED IN, THE QUESTION (RKDU) WILL ,BE ASKED AGAIN. 4794 I 479S 4196 4197 "99 4799 49016 4901 4902 491'] 4804 4B0S 4806 4907 4US HN CAE-E OF SEEK FUNCTION, SEEK IS DONE BETWEEN A SET OF CYLltlDERS GIVEN IBY THE USER (CYL1?, CYL2?) ~ IN REPLY TO (CYL1?, C:YL??) TYPE IN THE OCTAL ICYLINDEII NUMBERS BETWEEN WHICH 'tHE S!:EK IS TO B! DON!:. SET SWITCH ,!lEGISTER BITS <15-13> TO THE DRIVE • ON WHICH SEEK IS TO BE DONE. 4BU9 48116 4911 4812 48tl ,IN CASE OF A WRITE FUNCTION If' SW 16 IS SET TO 1 THE PROGRAM WILL ASK ,THE USEfI FO~ THE PATTERN TO RE WRITTEN 1 , PATRN?l25252 ITHE USER SHOULD TYPE IN THE (OCTAL) PATTERN HE W.~NTS TO WRITE. JNOTE THAT THE NU!o'IBER OF WORDS TRANSFERRED SHOULD BE WITHIN THE I BOUNDS OF THE SYSTEM. U14 4915 4916 48 t 7 4918 49t 9 48216 4821 1 IN CASE OF A WRITE CHECK FUNCTION IF SIII0 15 SET TO I THE PROGRAM 1WILL ASK THE US~R FOR TilE PATTERII TO BE WRITE CHECKED 1 1 PATRN?12!:1252 :THE USER SHOULD TYPE IN THE (OCTAL) PATTERN TO BE: WRITE CHECKED. 4922 4823 4824 4825 4926 ,LOCATIONS "108UF0" ONWARDS ARE RESERVED FOR DATA BUFFERS. YOU CAN USE ,THESE LOCATIONS FOR DOING DATA TRANSFERS IN THIS PROGRAM (0;< YOU CAN : USE ANY OTHER BUFFER P'OR DA'!'A TRANSIO"ER AS LONG AS IT DOES NCT OVERLAY 1 THE PROGRAM). 4&27 4829 4829 '8316 4811 JTKE SAME FUNCTION IS PERFORMED AGAIN AND AGAIN, THUS PROVIOING :A VERY GOOD SCOPE LOOP. IF YOu WANT TO GIVE: A NEW FUNCTION PUT SW 3 UP. :THE QUESTION (FUNCTION?) IIlILL BE ASKED AND YOU CAN START ALL OVER AGAIII. I iF ON EXECUTING A FUNCTION AN ERROR OCC:UIIS, IT IS IIEPOTRED , WITH I RELEVANT REGISTER CONTENTS GIVEN. 4932 4833 48]4 4835 4836 4837 4836 4839 484" 4841 4842 4a43 4844 4845 4946 ~R2 CONTAINS RKCS CONTENTS CONTAINS RKOA CONTENTS 11'14,1'15 CONTAIN THE CYLINDER .5 BETWEEN PIHICH SEEK IS TO !:IE DONE. nn 0231166 023106 1'123112 FUNBEG: 1044"'1 0"0407 1623114 : :65$: 64S1 023132 ~2~1 32 TYPE BR ,ASCJZ ,658 : ,TYPE Ascn STRING bU :, GET OVER THE ASC lZ <15><12>/FUNCTION? / HH4! ! PAGE 90 04-0CT-76 14:26 MA I ~DEC-ll-DZRKL-O ~ACYll 27(11606) 31-AUG-76 15:35 FUNCTION SELECTION PIIOGRAM DZRKLD.PII 4847 4848 4849 4951!' 4851 4952 4853 4854 480;5 48'56 4857 4!159 48'59 496'" 4861 41362 486) 4864 4865 4R6b 023134 02313b 023140 023144 023152 1623154 023161il 023164 01261616 1120"1 1216127 001026 1211'127 1'131"10 B04737 161271'12 16160536 023166 023172 1123174 02321616 16232162 1623206 1623212 1612702 1'10"521 121"27 01'11342 004737 1'1127"2 161'10523 1623214 023220 16127162 00B5"b 1'116161607 023222 023226 023230 1623234 1623236 1'123242 1623244 1623251'1 023252 1623256 120127 16011'114 121027 16011'103 1612702 1'100475 121027 1'1"1316 0127162 1'100501 16016122 1623261'1 1'123264 1'123266 1623272 023274 162])01'1 1216127 01610166 121027 0161305 01271'12 1'11'10470 1'101'111'14 162331'12 1623306 1'123310 1623314 023316 1623322 120127 001006 121027 001274 012702 1600533 000U13 1623324 023330 023332 023336 1623340 120127 001266 121027 001263 012702 0161'1123 023344 1623344 02]350 104401 00041'14 ~23146 MOV MOVB CMPf\ BilE CMPB BNE JSR I'OV 001'1127 ~"16122 02401616 16164003 e~"0e3 9$1 0161'1103 lSI 0241'101/1 1'10401'17 SEQ 1'11166 (SP)+,R0 (1'10)+,1'11 Rl,' 'w 2$ eR (R0),. "1'1 1$ PC,CHKSW16 H0iH,R2 NXTDA MOV BR CMPB BNE JSR MOV BR 0,1'12 NXTBA (R0),. 'c P'UNBEG P::',CHKSW0 141'107, R2 NXTDl MOV 811 ,7, R2 NXTBA CMPB BI>.IE C"'IPB SNE: MOV BR CMPS BNE MOV BR RI,' "R 3S (Re),. "0 8$ .5,1'12 NXTBA (R0),I"C FUNBEG 113, Fl2 NXTDA CMPB BNE I'll,. "0 :CHECK SW 16 SET? : CHECK SW 16 SET? 4a67 4868 4869 4870 4871 4872 4873 4974 4875 4876 4817 4878 4879 4880 4881 4882 4881 4884 4885 4886 4897 4888 4889 48916 4991 4892 4993 4894 4895 4896 4897 4898 4899 49016 4901 4902 2$: 01616104 1'116160165 1'1161'1103 8$1 001'1013 311 001'1122 CM~B 161'101615 BtlF MOV BR 48: 001'1122 01'1161'101 5S1 000113 1'101'1011 lIIiUI Rl,. 'c CMPB BNE CMPB BNE MOV BF! (R16)" 'R P'UNBEG '1, R2 EXEC CMPB BNE CMP8 BNE NOV FUNBEG (R0),,'[( FUN BEG .11, R2 TyPE BII ,AIICn: IiU ICYL1 '1 6'1 023352 4S (R0), I"R FUHBEG U5,1I2 NlCTI)A S. I'll,' "s ,67. "TYPE ABC IZ STIIING "GET OVER THE JlSCIZ MAIHDEC-l1-DZRKL-D /IIACYll 27(1886) "'-OCT-76 14126 PAGE 91 31-AUG-76 15135 FUNCTION IEUCnON PROGRAM DIRKLD.Pll 4903 4984 4985 4906 4987 4988 4909 4910 4911 4912 49tl 4914 4915 4916 49\ 7 4918 4919 4928 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 49]3 49)4 4935 49)6 49]7 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 1!f847]7 800766 I!fll!f004 023746 82))72 823372 02))76 1044O1 8"8484 823488 'II nUll JSII SII MOV PC,INPT U R",II4 TyPE 811 .lScn 681 ICYL2t I 6811 023411!f 023418 "23414 023416 023420 023424 £123438 "23432 823434 004737 1!f00766 81''005 017100 042780 ,50004 05"0"5 008466 155514 017171 0234]6 023436 "23442 184401 881!f404 023444 O23454 023454 "23456 104412 012637 023462 023462 O23466 SEQ 0107 6611 023362 1!f23362 023366 823]70 023746 Jill 811 MOV MOV &IC 8IS 8IS ,U' , ,Tyn ucn STIIING 7,GET OVltll THE ASCn ,. PC,INPT BR 110,115 UWR,II0 117771, R0 R",II4 110,115 EXEC TYPE BII .AScn ,65. 641 IIII(8U I IIDOCT /IIOV CIP)+,INDX2 ,GET DIIIVE • rllOM sw IIEG<1!j-13) ,CLII UNWANTED 8ITS ,SET DIIIV! • IN DSK ADRES NUBAI ,,6511 6U, 001476 nTYPE AScn STRING "GET OVEII THE lIcn NXTDlI 184401 8"0404 TYPE 92347" ,,6511 BR .AICI! ,65. 6U IRKDU ,'TYPE AICII STRING "GET OVEII THE AScn 6411 823588 823588 023582 023504 023506 023510 "23512 023514 "23516 023520 023524 02353O 023532 023534 "2354" "23544 023546 02355O 023554 184412 1112600 1!f10081 006201 8"6201 006281 8''6201 006201 042701 020127 00U54 111"""1 042701 82"127 ""3346 "1001113 822702 "01416 023556 023556 ":23562 U44IH 0"0405 177480 000312 17'7760 000"13 8"8015 RDOCT MOV /110 V ASII All II ASII ASR ASII BIC CMP BGT MOV !HC CMP BGT /IIOV C/IIP BEQ 111 111 111 1177400,Rl Rl,1312 NUDA R0,IU 117;760,1<1 TYPE BR ,65, 6U NXTIIC' "23564 (IP)+,1I8 II0,RI 111 IH 111,.13 HUDA R",R3 U!hR2 !lEC ,'TYPE AICII STRING , ,GET OVEII THE ucn MACYlI 27 Ct806) 84-0CT-76 14.26 PAGE 92 MAINOEC-U-DIRKL-D 31-AUO-76 15135 FUNCTION SELECTION PROGRAM DIRlCtD.Pll 4959 4960 4961 4962 4961 4964 4965 4966 4967 4968 4969 497O 4971 4972 4913 4974 4975 4976 4977 4978 4979 498O 4981 4982 498] 4984 4985 4986 4987 4988 4999 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 500O 5001 5"82 5"83 5"84 5"85 5016 5017 5111118 5019 !l0t" 5811 5"12 5"13 5014 , ,65'1 6411 O23576 021576 "21600 "2]682 823606 104412 "05416 "12637 80"401 023610 "23612 "23616 023620 021622 023624 021626 1!123630 023632 O23640 023644 "23652 023656 023662 "2]664 O23678 "23672 104415 022782 ""1005 0204111] 001402 "10403 11""'401 010503 '13777 '10377 "13777 "1"277 185777 100375 822702 001401 104423 023674 023702 823704 823712 023114 "32777 '111111106 1!132777 001"/37 ""8U7 02372" "23726 023734 1!123740 823742 823744 1!112737 "12"/37 '''4737 10403'' 184415 1!10"'57 023746 02375" 023752 "23756 023760 023762 "23164 023766 82377111 11123772 823776 1"4412 812680 02111827 11181"87 88638111 8"618" 1!106308 11106388 "863"0 862716 01110287 111241110111 1248'6 832777 881416 82401" .24814 104481 '88414 "81582 EXEC11 EXECI "88011 881476 155620 0"15"2 155600 155574 155622 lI' 2 .. 155606 U, 008001 .ASCII ' ...ORDI1 ROOCT NEG NOV 8R (SP) (SP)+,IHOX4 EXEC . ,Ir IT*S CON RESET FUNCTION ,DONT .wAIT FOR R/Ii/S RDY ,R/Ii/S ROY? 8IT BNE 8IT 8EQ JMP 114000",'RKCI rUNERR .SII3"IIIR EXEC FUN BEG ,tRROR! ,YES ,TERNINATE THIS FUNCTION OR REPEAT? ,REPEAT ,TERMINATE 148080 155554 U, 155226 CHillI 8"1110 081106 FUNERIII MOV • EXEC 1 , ILPERR MOV IEXEC1, ILPADR JaR PC,OT4RG ERROll n CON.RESET 8R CHIli "236te "236te 016186 INPTI NOV CM' BG'l' 11188312 lISL lISL lISL "11811182 111 088081 1112411116 155132 ,CLR EROR, CONTROL RESET ,SEEK FUNCTION? ,NO ,IF SEEK, INSERT THE RIGHT ,CYLINDER ADDRESS CON.RESET CMP '11 ,R2 2. 8NE R4,1I] CMP 8EQ U R4,Rl MOV 8R 2f R5,Rl MOV MOV INDX2,'RI!:8A R],tllKDA MOV MOV INDX4,tRKWC MOV R2"RKCI TSTB 'RICCI BPI. It CMP '1, R2 BEQ REIIDON I!llIIeeUJ 823U16 SEQ 1!l09 lSI. lSI. ADD R1'S CHUII8, BIT SEQ TYPE IIR ;II~IT rOR CNTROL RDY ,lET UP FOR LUPING ,REPORT ERROR ,CLII ERROR IIDOCT (IP)+,R0 II8,U12 11 R8 R0 R8 RII 118 12, (SP) PC UII',UIIR ,IIRITE A PATTEIIN GIVEN BY USER? 11 ,110 ,65' 6U ,YEI, UlC rOR PATTERN "TYPE ASCI! STRING nGET OVER THE ucn 04-0CT-76 14126 PAGE 93 MACHI "(1006) MAINDEC-l1-0ZRKL-O 'UNCTION SEt,tCflON PIIOGR1M 31-AUG-76 15135 DZRKLD.Pll 5015 5016 5017 501 B 501 9 5020 5021 5022 5023 5024 5025 5~26 5027 5028 5029 50316 5011 5032 50]3 50]4 5~n5 5016 5037 5918 5939 5940 51')41 5042 5043 51'144 5045 5046 5047 5048 50~9 5050 5051 5952 5053 5054 5055 5056 5"57 5058 5959 5961:1 5061 5062 5963 5064 5065 5066 511167 5069 5069 5"711l 024026 024026 024030 024034 024042 024044 024050 116!!i SI 64$1 104H2 012637 012737 000207 062716 000207 02414~ 104416 104415 013737 032737 001404 042737 00'H0:' 0527 ,~ 013771 012777 104421 013777 1164421 032777 02414b 024150 024152 024161:1 1'124162 024164 "24170 024174 1624176 "2421'19 024204 1:124296 924:l12 024214 024220 024226 024231:l 924232 024240 1624244 024246 005725 01J737 1044! 6 099205 0051'137 012709 105710 901413 105760 091410 004537 009495 952710 052760 905729 005729 062737 022709 0163353 000297 024052 !324054 024356 024064 024072 024074 024102 024104 024.12 024120 e24126 024130 024136 031362 031362 001476 UI 00111006 001230 020000 002120 001230 020000 001230 020000 001230 000011 001230 155.344 1!!i5H0 002120 155326 090100 155304 002120 091231'1 00i0~i 001230 001232 009002 024052 00e002 000092 040000 091251 0e0002 091230 .Asen IPlTRN?/ ROCCT MOV MOV FITS ADD FITS (SP)+.lOBUF'1 ·loaUP'l.INDX2 PC 86. (SP) PC FCHECKI ORV. FIESET CON.RESET MOV ORIVAD.ORHOLO BIT 120000.DRIV)'0 BEQ 18 BtC 120000.01:tIVAO BR 2S .20009,ORIVAO BIS UI !oIOV DRIVAO, ,RKOA 2S1 MeV Hl,'RKCS CON. ROY !oIOV ORHOLO. ~RKDA CON.ROY .109,~RKOS B!T SiIi£: 3i (1'15)+ TST MOV ORHOLD, DRIV AD lSI DRV.RESET RS RTS CLR ORIVAO SIZE'I .OR1V0,R0 HOV (1'19) TSTS 481 SEQ 2S 2( 110) TSTB BEQ 26 JSR 115. FCHECK SR 2S _2, (1'11'1) BIS U,2CR0) BIS 2$: TST (11.,,'+ (R0)+ TST ADO H000e,DRIVAD C",P 'ORIV7+1,R0 BGT 4S RTS PC SEQ iliil9 rSAVE THE PATTERN ISKIP WXT 2 INn ON FlETURN ,SAVE DRIVE AORR 1St!: I' 000 /MAKE EVEN IMAK! 000 : ORI'IE 11001'1 ,DRIVE: SEEK ,OTHER DRIVE ,HEAEOS IN MOTIONN? ; NO SO rue.0§'; ,YES RK-05f' ,RESTO!t~ lDDR ,START lIT 011.0 ,TABLE Of' AVAIL DRIVES ,THIS DRIVE HEliE? INO 'COMPLEMENT HERE? INO I s n IP' f' MODEL ,J MODEL :SET SIGN '01'1 , ,BOTH DRIVES , NEU FAIR OF DRIVES I NEXT ACTllL AODR 'CHECKED ALL1 ,NOT n:T ,ERROR MESSAGES 924250 924256 024264 024272 024309 924306 1'147103 042122 041104 052105 020122 000 051124 021!l1H 052047 040440 04'523 020111t 044504 051440 052196 1645505 EMil .ASCn ICNTRL ROY DION"T SET AP'TR SEEKI tlI24307 123 0411! 1 04744" E~2! .AsCn ISIN ON SEEKI 14126 PAGE 94 MAI"lOEC-I1-0ZRKL-O MAC't11 27( 1006) 94-0CT-76 FUNCTION SELECTION PROGRAM 31-AUG-76 15135 OZRKLD .l?11 5011 5072 5973 5074 5"75 5976 5",77 5078 5979 5080 5091 5082 511183 5"134 5085 59R6 5087 5088 5<199 511190 5091 509~ 5093 5094 5095 5096 5"C;7 5098 5099 5100 5191 5192 5103 5ta4 5105 5106 5107 5108 5109 5110 5111 5112 51 t3 5114 5115 5116 511" 5118 5119 512'" 5121 5122 5123 5124 5125 5126 SEQ 0110 024314 024322 11120116 900 042523 045505 024323 024330 1624H6 104 02011 & 000 942522 .. 42523 947440 045505 EM3: .Ascn lORE ON SEEKI 024337 024344 024352 947 947440 045505 051105 020116 000 023522 042523 EM4: .ASCIZ I"ERR" ON SEEKI 024355 924362 024370 924376 024404 052522 042523 052529 020126 047514 020046 000947 047440 0455"'5 020124 047117 042101 951047 EM51 .ASCI! IORU ON SEEK, PUT DRV ON "LOAD' " 924420 11'14 020116 020054 051104 923449 020947 047125 924424 024432 024449 024446 024454 027522 042122 020124 043101 042523 027527 020131 042523 042524 945505 020123 047516 020124 920122 000 EM6: .ASCIZ "R/W/S ROY NOT SET AFTER SEEK" 024461 024466 024474 123 020116 04&506 047111 051121 000124 047440 020124 EM7 : • ASC ~ Z ISIN ON ilRT FMT/ 11124500 024596 024514 024522 024539 024531 024536 024544 051122 042040 053440 043049 020947 044517 044522 ;,52115 EM19: • ASC IZ rERR" ON OOING WRITE FMTI 047111 042122 000 051105 020116 943940 047440 043057 E!oIll : .Ascn "SIN ON RD/FMT" 023522 iH2522 052115 EM121 • ASCIZ I" ERR" ON READ P'MTI 024554 024562 024570 021571 024576 024604 024612 042447 047117 043516 042524 090 123 020116 052115 .,47 047440 042101 000 127 044049 051106 942523 047522 951104 946517 021503 043516 ii29123 023440 909047 EM131 • ""scn IWRONG HDRS FROM • SEC- ' I 024629 024626 1<'24634 024642 924651i! 924656 024664 024672 051195 020116 042511 045505 020115 023501 041447 000 051117 046511 020194 043940 041447 052040 046131 047440 046120 042523 047522 046131 020117 023502 E"'141 .ASCll 1£11011 ON IMPLIED SEEK 'ROM 'CYLA' TO 'CYl.a' I 924673 122 040505 020104 MS151 .ASCn IREAD WRONG HORS "ROM 'CILB' ABOVE I 0244~2 024~47 "RlIN', 04-0::T-76 14126 PlGE 95 HACY11 '1(1006) FUNCUO'l SFLECTION PROGRAM l i -AUG- 75 15135 "IU"DE~"11. ~01.'l1(T,·n !):lIlKLo.~11 '1l:!7 'H28 5129 5130 5131 5132 StU 5134 51]5 5136 5117 51)8 5139 51U 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5159 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 51 i9 519il 5181 5182 020107 04304111 2'41447 04111441:1 00111 024700 02H06 &24714 024722 02473111 0:51127 042110 047522 046131 0475112 04711 7 051522 1.'!20115 02351/12 042526 024735 .,24742 024750 924756 024764 924772 9251119111 n5006 025014 n5022 925030 925036 122 0511:27 030406111 042122 1112111115 026069 0411 14 929116 11142511 045595 020115 02)501 040505 047117 11152123 943940 04252] 02344111 92011147 046511 020104 043940 041447 009951 0211111J4 11126107 053440 047522 020103 925"42 925050 025056 025964 025072 02510111 92511116 942522 052123 943040 042523 023440 029047 000195 94211111 0534416 047522 029103 054503 041101 02511111 025116 11125124 025132 025149 025146 025154 925162 1112517111 942522 11147522 11151104 044440 1114211115 02111113 1112344111 92111047 1115451113 11125176 025204 11125212 925220 025226 SEQ ill11 ~RONC, 1 ST WRD FIlOM SgC 0, 'CYLS' (ON IMPLIELl SE".:K FROM 'CYLA')I EM161 .ASCn IRUD 11139440 042122 929115 02611161 041114 953117 148171 .ASCn IREAO t ST WRD ,.ROM /SEC 1, 042101 043516 1112111123 05111115 1115144111 951106 05451111 11147524 041114 053440 044040 11147117 11144514 942595 11146517 040514 1112344111 1110111047 EM291 .A.Scn IRUO WRONG HORS ON IMPLIED SEEK ,.ROM 'CYLA' TO 'CYL8"1 11151105 020116 02111107 ,U III l05 11151511 051117 1114751114 051127 947117 0111111113 047440 047111 052111 1114204111 E"'211 ,Ascn IEROR ON DOING Wi'lITE ON OISKI 925232 925249 025246 925254 11144523 04211140 05344" 11109 11121U16 044517 044522 11147117 11143516 11142524 EM221 .ASCIZ ISIN ON OOlNG WRITEI 925255 825262 1112527111 11111 042049 1'J51040 020105 044517 040505 11147117 043516 090194 EM211 .ut:n IHE ON DOING RUOI 11125276 025304 05151113 1115111140 0211111115 04051115 947117 0111011114 EI'241 .ASCll ICSE ON REAOI 025312 641/151114 940524 04244111 E"'251 .A.Sen IOU,. ET1I1 RI(DS RKOA E!I!lORSI RIlER RICE!I RKOS RKOAI DR CYLI CYL SUR SECI MACYll 27(1006) 04-0CT-76 14126 PAGE: 97 14AINOtC-ll-DZRlt:L-O fUNCTION SELECTION PROGRAM H-AUG-Ht 15135 DZRKLO.Pl1 !52~9 5249 5241 5242 5243 5244 5245 5246 5247 524@ 5249 52~" 5251 5252 52~3 5254 5255 5256 5257 5259 5259 5261:1 5261 5262 526] 5264 5265 5266 5267 5268 52fi9 5270 5271 5272 '5273 5274 5275 5276 5277 5279 5279 5211" 52111 52112 5283 5284 5285 5286 5287 5288 5299 5290 5291 5292 5293 5294 SEQ RKER 050040 020040 029940 041114 051940 020040 020040 054522 020103 054503 e20040 929049 9(251) 945522 020040 e00943 OH141 .lIScn PC eYLA 025746 025754 0010 020040 949514 054593 029940 020122 iJ51 5~4 052el49 925762 025779 025776 026004 026012 92£329 026026 026034 020040 02!!040 020101 041114 054105 020949 920104 921531 041520 941440 920940 020040 941520 942522 920040 099 020040 046131 054503 929049 020124 053103 051124 DH161 .Asen PC CYLA CU8 EXPCT 926937 026044 026052 026060 926066 0266;4 949 020040 041114 050130 951040 .HHI 059949 020040 020040 952103 941505 1i2lit03 054503 042440 029949 942126 DHIH .AScn PC CYLB EXPCT REeVDI 026073 026102 0261 10 02S116 926124 926132 026149 026146 026154 026162 9261711l 926176 049 92e040 921531 041513 051040 929940 929123 035101 041449 9291i!40 920040 942523 059040 020049 929949 020123 942513 95Hl40 051040 042940 946131 951440 020040 000103 920103 051124 051940 020940 929122 042113 042113 929122 029940 051125 020049 DHHa .Ascnl 026202 026210 026216 1'126224 926232 926249 026246 047527 042440 029040 042126 11146131 920122 900 042122 950130 951049 920040 020040 051440 029043 052HU 041595 041440 052523 941595 DH25: .~SCIZ 025793 925710 925716 025724 025732 02574~ PC IWORD' TRYI EXPCT CYLB RKCS RECVD RUR CYL RIC05 RECVO RKOS SUR 530~ 5301 5302 5393 5304 5305 5396 5397 5309 5309 5319 5311 5312 5313 5314 5315 5316 5317 531 II 5319 5329 5321 5322 5323 5324 5325 5326 5327 5329 ~.I- TR1I1 RKDAI OR cn.. SUR SECI SECI ,EIIROII DlTA POINTERS .EVE,. 026250 026::150 02625& 001116 901166 001162 991170 001164 000900 0111 .WORO SERRPC, SREG0, tREG1, CREG2, $REG3, 0 026264 991116 001162 091164 DT71 .WORD CERRPC, CREG9 •• REG1. UEC2. tREG3, SRtG4. 0 MAINOEC-I1-D!RKlo-D MACH 1 27(1006) 04-0CT-76 14126 PAGE 98 rUNCTION SELECTION PROGRAM 31-AUG-76 15135 OZRKLD.Pl1 5295 5296 5297 5299 5299 CI, TRUI 026272 026300 091166 009900 091170 091172 026392 026319 926316 001116 001166 001176 001162 001172 001200 001164 901174 090009 DT111 .WORO SERRPC, tREG0, .REG1, UEG2 •• REG4, CREG5, 'REG6, .REG7. 0 026324 026112 091116 001166 001162 009090 001164 OTI7. .!IIORD URRPC. SREG0.IREGl ,'REG2,9 026336 926344 926352 026360 001116 001164 991174 09900fi1 901202 991166 091176 091162 091172 901200 OT241 .WORD SERRPC. tREG10. SREG0, .REGI. SREG2, $REG4, 'REG5, SREG6, $REG7, 0 JDAU BUFFERS 026362 026362 926442 026522 926602 "'26662 926742 "'27342 927742 930342 930742 009930 009930 009030 900030 009030 000200 09020" 990290 000200 9092t0 IOBur01 OUTBUF • BurR4. 8urR5. BurR6. BurR7. BurRUI BUP'Rll • BurR12. BurR13 1 Burfl14 I • BloKW .BloKW .BLKW .BLKII .8LICIi .BLKW • BLIUI .BLKII .BLKW .BLKW 24. 24. 24. 24. 24. 128. 128. 128. 128. U6. 031362 001400 IOBUrt • • BLICW 768. 000991 .END ,IOBUF0 AND I08url ARE , TWO - 769 WORDS LONG 8urrERS ,NORMALLY USED rOR DATA TRANsrERS , TO lND rROM OISK SEQ 0114 PAGt 1011) MACYll 27(10116) 04-0CT-76 14126 MUNDtC-l1-0ZRK!,,-0 U-AUG-76 15115 SYMBOL TAB!"E DZRKLO.Pll lIRT AORES BAOTMO BECIN BEGSl( BIT" BITIII. BITel BIT02 BIT0] 8IT04 • BITe5 BIT06 BIT07 • Bt'!'0' BIT0' BITI BITt"· BIT1' 8IT12 BITt) BITH • BITH BIT2 BIT) • BIT4 BITS • BIT6 BIT7 BITS • BIT9 BLNKSI BLNKS2 B!"NKSl BLN!!:S4 $LNKSS BLNKS6 BLNKS7 BLNICS8 B!.NI':S9 8LNK\0 8LN!':!] 8PTV[:C· BRKOl BTEOP BU .. LG0 BUrLGl BU .. NO BurR BUrRt BurR10 BurP11 BU .. RI2 --• BU'Rl] BU'-fl14 8U .. Ra BU .. U BU'R5 BU'R6 BU .. R7 BUSADR CHKHDR CHKsw0 CHSW CKSIIR • C!"RERR CMPAGA CMPGRP CN.ROY CN,RST COMPAR CON.RD· CON.R!CR CRL .. CSEROR DDUP DHI OHU OHU OHI4 OH16 OH17 OH24 OH25 OH6 DH7 DISPLA DUPRE DMPR!G DONE DONTRK DOSURI DOlfCHK DOllRT 011 HOLD ORIVAD ORIVS ORIV0 ORIVI DRIV2 DRIV] DRIV4 DRIV5 ORIV6 ORIV7 "'16716 001450 002422 "1111456 013174 000001 0UIII01 000002 000004 000010 000020 009040 "0"U0 000200 0004"0 001000 0000"2 002000 004000 010000 n00"'0 0400"0 10""00 000004 000010 000020 "0"040 000100 000200 000400 001000 "02111 302110 002107 002106 002105 002104 002103 002102 "0211'1 002100 G02075 000014 016144 -• ·• ·•• ·• • • - 0151~6 001410 001412 ""1446 001266 001320 026742 027342 027742 030342 030742 00U52 026442 026522 026602 026662 001434 007204 024000 023704 104407 012106 011170 014546 016544 016526 011144 104421 104415 000015 "0"2"0 011600 177570 "25·U4 025567 025664 025703 025762 026037 026075 026202 025462 025512 001142 000174 017576 011562 011522 011 554 012344 012U0 002120 001230 001224 001232 001234 001236 001240 001242 001244 001246 001250 SEQ 0115 DRVDON DRVPTR DRV.RE. OR.RST OSUoR oSIIR • OTt OT11 DT17 OT24 DT7 EMTV!CEMI !M10 EMll EMU EMU !M14 !M16 EM2 EM20 !M21 EM22 EM23 EM24 EM25 EM26 EMU EM3 !M30 EM4 EM5 EM6 EM? !RCNTl ERCNT2 ERCNT3 ERCNT4 ERCNT5 ERCNT6 !RCNT7 ERCNTS ERRTYP ERRVECB:RRI !RR2 ERWCHK !SlIll !SR15 tSR20 !SR25 EX!C EXECI 04-0CT-76 14126 MACYlt 27(1006) MAINDEC-ll-DZRKL-O 8Y!o!BOL TABLE 31-~UG-76 15135 OZRKLD.Pll ST2 STl SWR SWREG 5W0 • SII00 51101 511102 5W03 SW04 • 51105 • SW06 • SW07 5W08 SII09 • Sill 5N10 5Wl1 • SN12 _ SII13 51'114 SW15 SW2 SII3 • SII4 • SW5 SN6 SW7 • SIIS • SN9 TBITn. TIMOON TIMER TIMSEI( TKVEC • TPVEC • TRAPVE· TRTVECTSTRIIS TST.RIII. TSTl TST10 TSTll TSTt2 r8T2 TSTl READ 010512 012612 REPE~T REPMSC 011220 REPTyM 013124 RESI)ONa 104423 RESREC. 104414 RESVEC- 000010 RES. DO 016440 R!TR11 001252 RETR12 001254 RETRll 001256 RKBA 001462 001456 RKCS RKDA 001464 RKOS 001466 001452 RKOS RK!R 001454 RKPRI 001470 001472 RKVEC 001460 RKIIC R6 -'000006 R7 .'00"007 SAVREG- 104413 5BRl 006452 SBR2 006476 SBR3 007150 SECPTR 010]52 SFTCMP 011112 01111542 SIlO SIZEr "24164 015076 SKOON SNGRP 014416 SOAD 001524 SORT 013266 SPI 2112626 SP10 012650 SPll 012652 SP12 012654 SP2 012630 SP3 012632 SP4 '12634 SP5 "12636 IP6 012640 SP7 012642 SPS 012644 SP9 012646 S'l'ACK • 001100 002462 START S'l'ARrl 003020 STKLMT. 177774 • ABS, nU62 --• ·• ·• ··-• ·• TaU Tsn TaT6 TST7 000 " ERRORS DETECTEDJ !)l!:r.UT.T af,OBHS G¥;NF1HITP.:!)1 003U6 00]666 001140 000176 000001 000001 000002 0000"4 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 02000" 040000 100"00 000004 0""010 000020 001lll41l 000100 0""20" 00940" 001"00 000014 013774 001264 014722 000"60 000064 00"034 00"014 016642 104422 00U04 012120 012662 015150 004550 005046 005536 006544 007302 010362 001223 001226 104416 016414 001432 177570 026250 026302 026324 026336 026264 000030 024250 024500 024531 024547 024571 024U0 024735 024307 025110 025176 025232 025255 025276 025312 025354 025372 024323 025407 02U37 02U55 024424 024461 001504 001506 001510 001512 001514 001516 001520 001522 017362 000004 016322 016244 01133" 015402 015310 0U456 015544 021612 023610 EXT10 EXT4 B:XT! !XT6 P.:XT7 'CHB:CK .. DRIVE .. oRVB:l ,..UNC FINISH "UNB!G FUN!RR GCYL GETBU .. GETIN' GOUK GOTYPE GUWR • GT4RG GT5RG HT • INADR INDXl INDX2 INDU INDX4 INPT IOBU .. 0 IOBUFl IOTVEeto .. • LUPHE LUP5IN LUPSW LUPIICE MESAGE· MISCMP MSC! MSGt MSC10 MSGll MSG12 MSC13 MSG14 MSG2 MSG3 MSC4 MSGS MSG6 MSC7 MSU MS17 NOHE 012656 006540 007276 010356 012114 024052 11102114 002116 001216 011436 023106 023720 016360 007770 016140 01lS'" 013524 104406 016106 016062 000011 001260 001474 001476 001500 "01502 023746 026362 "31362 0"002" 000012 010564 0l11l556 001222 O11274 104417 011742 015770 0"1602 001742 001771 002027 002053 002064 "01610 001616 001640 001657 001'716 031733 024673 025042 010704 NOSIN NXTBA NXTDA NXTORV NXTPAT NUWC OUTADR OUTDUr PU0 PUI PU2 PAT) P8UF0 PBUn PG5UBR 1E0P n:OPCT '!RP'LG IERMAX .ERROR URRPC nRRTB URTT!" USCAP 'P'lLLC IP'ILLS SGDAOR .GOOu .GET42 SGTSWR IHO • .HIOCT IICNT ULLUP UNTAG $ITEMB 'LP' aLPAOR SLPERR aMN!W .MSIIR SMUL IMULT SHULL SNWTST10CNT 10MOOE lOVER ePASS SPOWER $PWRAD 8PWRON SPIIRMG SPWRUP IQUES 8RDCHR .RDLIN SRoocr IROSI • .REGAD ,REG0 '"!GI 015172 015214 001103 001115 017106 001116 002122 001112 001204 001156 001155 001120 001124 015244 021670 "00000 021772 ,,01104 02]070 001135 001114 001214 001106 001110 621661 021650 000003 020414 001154 000001 022216 022220 01'072 001 H'I0 023076 02l,,64 022724 023060 022776 001212 021302 021372 021672 000010 01'1160 001162 001164 001202 001166 001170 SREG4 SREG5 P"II.Q 010752 023436 02H62 01113704 001426 023556 001262 026362 001414 001416 001420 001422 WU4@.!_ · .)If.Q'I!. t- .. "f PLTGRP PLTPT PLTI PRSPAT Pili! • Pill PR2 PR3 • PR4 PR5 PR6 PR7 • PS • PSW • PTGEN0 PTG!Nl PTGEN2 PTGEN3 PTRN01 PTRN02 PTI PTl0 PT11 PT2 PrJ PT4 PT5 PT6 PT7 PIIRFL PIIRV!CRDAGAr ROCHR • ROLIN RDOCT - 001406 "01410 177772 000240 014146 014032 014662 014362 001424 000000 0011040 000100 600140 000200 0"0240 000300 000340 177776 177776 010032 010114 010216 010260 010110 0111112 001560 "01576 001600 001562 001564 001566 001570 001572 001574 00417" 0000:;4 010566 104410 104411 1044\2 ·- PAC! 101 SEQ 0116 TYPDES TYPOS. TYPOSS. TYPE TYPMSG· TYPOC • TYPON • TYPOS TYPTIM TY.MSG NBUSAO WCAGAI WCEROR WCERR IICHI WCHIl IICLO IICREPT WDSKAO WRDCNT NRERR WRHI WRLO WRLOI WRTCHK WIIROCN XKE XXOPMD HUTOB nOADR 022222 104405 104424 104401 104420 104402 104404 104403 013662 016032 01111442 011056 112006 012366 012372 012364 012572 011260 001440 001436 012164 012324 012166 012162 011042 001444 011366 001220 001134 001122 noon 001126 IBELL 001206 eCHARC 020410 ICKSWR 021000 eCNUG 001100 eCMl • "00011 ICM2 • 000022 ICM) 000011 .CNTLG 02164) ICNT!"t: 021616 SCRLr 001211 .DBLK 020164 .DB20 022422 IDECVL 022602 .DOAGN 015264 .DTBL 020154 UNDAD 015254 UNDCT 015222 UNOMG 015273 UWULL 015270 • • .. I~EG10 IREG2 .R.EGl '~EG6 .REG7 .RESRE IRTNAO ISAVR! esAVR6 esc OPE esETUPUTUP. UUPRS esVLAO ISVPC UIIR. esWRMYUKB UKCNT UKINT UKQEN. UKQIN UKQOU UKQSR STKS UKSRV STN .. STNPWR UPS STPFLG STPS STRAP STRAP2 URP • STRPAD STSTNM STTYIN STYPOS STYPE STYPEC UYPP.:X STYPOC UYPON UYPOS UTSTR seG!T4t0P'lLL • - 001172 001174 001176 001200 022364 015266 022326 023074 016732 000117 177777 022266 017044 000220 163000 000000 001146 020526 020536 020535 020530 O20532 020534 001144 020606 000"13 022:)32 001152 001157 0011S0 022616 022fi4" 0000~5 022652 001102 021626 11117751'1 020174 020344 020412 022020 022034 021774 016754 "00000 022217 "34362 MUNDEC-l1-DZRKL-O MACYll 27(1006) 0f-OCT-76 14126 DZRKLD.Pl1 31-1UC;-76 15135 SYMBOL UBLE DZRICLD,DZ~KLD/LI' RUN-TIME 1 62 U ME/NLI Me 1"'01 ClfD/SOL/IISQ..DZRKLD. P11 1 SECONDS RUN-TIME RATIO. 2371108-2.1 COR!: USED. 27K (53 UGES) PAGE 102 SEQ 0117

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2013:11:26 20:16:46-08:00
Modify Date                     : 2013:11:26 20:10:50-08:00
Metadata Date                   : 2013:11:26 20:10:50-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:4ad871b5-3d0a-8347-badb-22d587fa1f7e
Instance ID                     : uuid:4271324f-7c20-154b-95ba-f62a2473643d
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 68
EXIF Metadata provided by EXIF.tools

Navigation menu