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 .
Page Count: 68
Download | |
Open PDF In Browser | View 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,. ET 1I1 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 : 68EXIF Metadata provided by EXIF.tools