Digital PDFs
Documents
Guest
Register
Log In
AH-F965B-MC
April 1984
277 pages
Original
132MB
view
download
OCR Version
198MB
view
download
Document:
CZRJOB0 RP07 RP07 PERF EXER APR 1984 bw
Order Number:
AH-F965B-MC
Revision:
000
Pages:
277
Original Filename:
CZRJOB0__RP07__RP07_PERF_EXER__AH-F965B-MC__APR_1984_gray.pdf
OCR Text
-.. - CZRJOBO ’ AH-FB5B-HC FICHE 1 OF 2 im0 wno+ vt w150t USER UARS M NB RIS SOSN 8 Ol 1AL DOCUMENTATION REM @ IDENTIFICATION PRODUCT CODE: AC-F9608-MC PRODUCT NAME: CZRUMBO PRODUCT DATE: DECEMBER 1, MAINTAINER: CX DIAGNOSTIC ENGINEERING AUTHOR : MIKE LEAVITT RPO7 FRONT-END/ISOLATOR TEST 1983 THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT CZRJOBO RPO7 PERF EXER MACRO Vv04.00 1-DEC-83 10:32:28 PAGE 1 SEQ 0001 USER DOCUMENTATION .REM 3 IDENTIFICATION PRODUCT CODE: AC-F9648 -MC PRODUCT NAME : CZRJOBO PRODUCT DATE: DECEMBER 1, MAINTAINER: CX DIAGNOSTIC ENGINEERING AUTHOR; MIKE LEAVITT RPO7 PERFORMANCE EXERCISER 1983 SEG 0001 RAUITHUK MIKE LEAVITY RESPONSIBILITY FOR ANY ERRORS THAT e MAY APPEAR IN THIS DOCUMENT , THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NO RESPONSIBILITY IS ASSUMED FOR THE (5F OR RELIABILIT: OF SOF TWARE ON EQUIPMENT THAT 15 NOT SUPPLIED By DIGITAL OR ITS AFFILIATED COMPANIES. COPYRIGHT (C) e THE FOLLOWING ARE DIGITAL DEC 1983 By DIGITAL EQUIPMENT CORPORATION TRADEMARKS OF DIGITAL EQUIPMENT CORPORATION: POP DECUS UNIBLIS DECTAPE MA5SBUS CJIRJIOBO RPOT PERF EXER MACRO vO04.00 USER DOCUMENTATION 1-DEC 8% 10:2):28 PAGE 2 1) | .REM a CONTENTS ABSTRA(CT 1.1 2. EQUIPMENT MEDIA PRELIMINARY PROGRAMS =l .1 nawn W W OPERATING PROCEDURE .6 3.7 3.8 5.9 4. DOCUMENT NOTES REQUIREMENTS 2.1 2.2 2.3 3. GENERAL LOADING THE PROGRAM STARTING ADDRESSES PROGRAM CONTROL SWITCH OPTIONS PASS/TEST CONTROLLING THE PROGRAM 4.1 PARAMETERS 4.1.1 PROGRAM CONTROL PARAMETERS 4.2 KEYBOARD conwoc S 4.2.1 OMMAND 4.2.2 'D’' COMMAND 4.1.2 CHANGE DEVICE ADDRESS 4.2.3 'S' 4.2.4 4.2.5 4.2.6 5. COMMAND COMMAND COMMAND COMMAND PERFORMANCE SUMMARY TYPEOUT EXPLANATION HARD/SOFT ERROR DEFINITIONS 5.2.1 HARD ERRORS 5.2.2 SOFT ERRORS DATA CHECKING € ERROR RECOVERY 6.1 6.2 6.3 7. 'wW' '‘R' 'WT' PERFORMANCE SUMMARY TYPEOUT S5S.1 5.2 6. TERMINATION 3.5.1 PASS TERMINATION 3.- B TEST TERMINATION RUINTg g DATA TRANSFER MODE 6.2 SEEK VERIFICATION MODE DUAL PORT OPERATION XXDP, ACT11, APT11 APT ENVIRONMENTAL TABLE DEFINITIONS m»flw 1. DATA BUFFER COMPARISON VERIFICATION OF DATA WRITTEN BAD ADDRESS FLAGGING ERROR MESSAGES 5EQ 0002 USER DOCUMENTATION EXER MACRO vO04.00 8. .1 .2 10:32:28 PAGE 21 t 1 SEQ 0003 ERROR DESCRIPTION I INES DETAIL ERROR LINES PROGRAM DESCRIPTION 8.1 8.2 8.3 8.4 9. 1-DEC 83 RP HOW THE PROGRAM OPERATES DUAL PORT OPERATION SELECTION OF OPERATION VARIABLES DATA PATTERNS SOFTWARE DRIVER DOCUMENT ——— «- CZRJOBO RPOT PERF <&~ - CZRJOBO RPOT PERF EXER MACRO v04.00 1-DEC-83 USER DOCUMENTATION 10:32:°8 PAGE F1 3 SEQ 0004 ABSTRACT THE RPO7 PERFORMANCE EXERCISER PROGRAM IS DESIGNED TO PERFORM AN INTERACTIVE TEST ON RP DISK DRIVES CONNECTED TO A MASSBUS SUBSYSTEM. THE DRIVES MAY BE CONTROLLED BY AN RH70 CONTROLLER. IN ADDITION TO PERFORMING AN INTERACTIVE TEST OF THE DISK DRIVES ON THE SUBSYSTEM, THE PROGRAM IS INTENDED TO BE USED TO VERIFY THAT THE DRIVES UNDER TEST ARE PERFORMING TO THEIR DATA ERROR RATE AND SEEK ERROR RATE (SEE ERROR RATE SPECIFICATIONS). THE PERFORMANCE EXERCISER PROGRAM WILL EXERCISE DRIVES CONNECTED AS EITHER SINGLE OR DUAL PORT UNITS. ODUAL PORT DRIVES ARE TESTED BY LOADING AND RUNNING THE PROGRAM FROM BOTH CONTROLLING SYSTEMS. ;gTPmeg WILL EXERCISE A MIXED SYSTEM OF DUAL PORT AND SINGLE TO OBTAIN INTERACTIVE TESTING, OPERATIONS ON THE MULTI-DRIVE CONFIGURATIONS ARE OVERLAPPED (OTHER DRIVES ARE PERFORMING SEEK/SEARCH OPERATIONS WHILE ONE DRIVE IS PERFORMING A DATA TRANSFER). OPERATIONS AMONG THE DRIVES ARE OPTIMIZED SO THAT A HIGH SUBSYSTEM DATA TRANSFER RATE OR A HIGH POSITIONING OPERATION RATE IS MAINTAINED. THE PERFORMANCE OF EACH DRIVE IS MONITORED BY THE PROGRAM. IF A DRIVE EXCEEDS A PRESET NUMBER OF ERRORS IN ANY OF SEVERAL CATEGORIES, THAT DRIVE IS AUTOMATICALLY DEASSIGNED. (THE OPERATOR MAY OVERRIDE THE AUTOMATIC DEASSIGNMENT FEATURE.) THE PROGRAM REPORTS PERFORMANCE STATISTICS FOR EACH DRIVE BEING EXERCISED ON REQUEST FROM THE OPERATOR OR AUTOMATICALLY AT AN INTERVAL DETERMINED BY THE OPERATOR. ALL DATA TRANSFER COMMANDS EXCEPT WRITE HEADER & DATA AND WRITE CHECK HEADER € DATA ARE USED. RECALIBRATE AND READ-IN PRESET COMMANDS ARE USED AT STARTUP AND DRIVE INITIALIZATION. RECALIBRATE, OFFSET, AND RETURN-TO-CENTERLINE COMMANDS ARE USED DURING ERROR RECOVERY. THE DATA TRANSFER COMMANDS ARE SELECTED RANDOMLY EXCEPT FOR THE WRITE CHECK COMMANDS. THE WRITE CHECK COMMANDS ARE USED TO VERIFY A PREVIOUS WRITE OPERATION. THUS, WHEN A WRITE COMMAND IS SELECTED, Pi DATA WRITTEN IS VERIFIED BY THE APPROPRIATE WRITE CHECK DEPENDING UPON WHETHER THE PROGRAM HAS BEEN LOADED VIA APT AUTOMATIC MODE OR APT DUMP MODE WILL DETERMINE WHETHER; PROGRAM/OPERATOR COMMUNICATIONS ARE THROUGH THE KEYBOARD, DYNAMIC PROGRAM OPTIONS ARE SELECTED VIA SWITCH REGISTER SETTINGS AND ERRORS ARE REPORTED ON THE CONSOLE TERMINAL. 1‘ 1 GENERAL DOCUMENT NOTES A. IN REFERENCE TO ALL NUMBERS IN THIS DOCUMENTION. BASE OF A NUMBER LARGER THAN SEVEN. TO INCICATE THE A PERIOD(.) WILL FOLLOW THE NUMBER TO INDICATE DECIMAL OR NO PERIOD WILL FOLLOW THE NUMBER TO INDICATE OCTAL. IF THE NUMBER OCCURS AT THE END OF A SENTENCE, A DOUBLE PERIOD(. .) INDICATES DECIMAL AND A SINGLE PERIODC .) I"‘@:}:'C‘:IES OCTAL. . DE ALSO, ANY REFERENCES TO TIME ARE ALWAYS IN CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC 83 10:32:08 PAGE USER DOCUMENTATION % 1 (L SEQ 0005 REQUIREMENTS EQUIPMENT PDP-11 PROCESSOR | 20K MEMORY | KWi1l-L OR KW11-P CLOCK PROGRAM LOADING DEVICE l ‘ TERMINAL | RH11 OR RH70 CONTROLLER 1 TO 8 DISK DRIVES (RPC7'S) MEDIA THE PERFORMANCE EXERCISER PROGRAM REQUIRES FORMATTED DISK PACKS GENERATED BY THE RPO7 FORMATTER PROGRAM (ISSFMT). THE PACKS MUST BE FORMATTED IN 32. SECTOR (16 BIT) MODE; THE ALTERNATE (30. SECTOR - 18 BIT ) MODE IS NOT SUPPORTTED. PRELIMINARY PROGRAMS RPO7 FRONT-END TEST RPO7 FUNCTIONAL TEST OPERATING PROCEDURE LOADING THE PROGRAM THE PROGRAM MAY BE LOADED .PAPER TAPE, .XXDP MEDIA, BY EITHER OF THE FOLLOWING MEDIA: USING THE STANDARD PAPER TAPE PROCEDURE USING ANY XXDP DEVICE STARTING ADDRESSES 200 - START ADDRESS, ' ALL SWITCHES CLEAR (SEE SECTION 3.4) WHEN THE PROGRAM IS STARTED, A DATA PATTERN WILL BE WRITTEN TO ALL ON-LINE DRIVES IN A SEQUENTIAL SEEK MODE. UPON COMPLETION OF THE WRITE, THE PROGRAM GOES INTO A TESTING MODE. 204 - RESTART ADDRESS, THE ABILITY TO THE RESTART ADDRESS PROVIDES THE OPERATOR WITH CHANGE THE DEFAULT RP/RM ADDRESSES (SEE SECTION 4.1.2), ANY PROGRAM PARAMETERS (SEE SECTION DRIVE LIMIT PARAMETERS (SEE SECTION 4.2). OR CHANGE . ! PROGRAM CONTROL S ——— 3.3 4.1) CZRJOBC RPO7 PERF USER DOCUMENTATION EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 3-2 H1 PROVIDED THE PROGRAM HAS BEEN LOADED AND STARTED VIA THE APT DUMP MODE OR THE DIAGNOSTIC IS RUNNING IN STAND ALONE PROCESSOR/DRIVE OPERATIONS ARE INITIATED AND CONTROLLED By KEYBOARD COMMANDS AND SWITCH REGISTER SWITCH SETTINGS. HOWEVER, IF THE PROGRAM IS LOADED VIA APT SCRIPT MODE ALL SETUP AND SWITCH REGISTER SETTINGS WILL BE PROVIDED THROUGH THE APT E TABLE. TYPEOUTS FROM THE USER DIAGNOSTIC MAY OR MAYNOT BE INMIBITED a‘E‘gEglE)gfisg;m WHETHER OR NOT THE APPROPRIATE BIT IN THE E TABLE SWITCH OPTIONS IF THE PROGRAM IS BEING RUN ON A SWITCHLESS PROCESSOR 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 . THE SETTINGS OF THE 'SOF TWARE' SWITCHES ARE CONTROLLED THROUGH A KEYBCARD ROUTINE WHICH IS CALLED BY TYPING A 'CONTROL G'. THE PROGRAM WILL RECOGNIZE THE ‘CONTROL G AT ANY TIME EXCEPT WHEN THE PROGRAM IS IN KEYBOARD ENTRY MODE, OR IS AT A HIGHER PRIORITY PROCESSING AN DRIVE INTERRUPT. THE ‘SOF TWARE' SWITCH VALUES ARE ENTERED AS AN OCTAL NUMBER IN RESPONSE TO THE PROMPT FROM THE SWITCH ENTRY ROUTINE: ‘SWR = NNNNNN NEW =* EACH TIME SWITCH SETTINGS ARE ENTERED, THE ENTIRE SWITCH REGISTER IMAGE MUST BE ENTERED. LEADING ZEROS ARE NOT REQUIRED. 'RUBOUT’ IS\:RT&SGEJ:"?% U’ FUNCTIONS MAY BE USED TO CORRECT TYPING ERRORS DURING ON PROCESSORS WITH HARDWARE SWITCH REGISTERS, THE ‘SOFTWARE' SWITCH REGISTER MAY BE USED, IF THE PROGRAM FINDS ALL 1'S IN THE SWITCHES. ALL SWITCH REGISTER REFERENCES WILL BE TO THE 'SOFTWARE' REGISTER AND THE PROCEDURES DESCRIBED ABOVE MUST BE FOLLOWED. SWc1S>=1 SWc14> SWc13>=] SW<12> SW<1l> SW<10>=1 HALT ON ERROR NOT USED INHIBIT ERROR TYPEOUT NOT USED NOT USED BELL ON ERROR SW<0S>=1 PARTIAL REGISTER DISPLAY IF ERROR; DO NOT DISPLAY ECC CORRECTION RESULTS SW<09>=1 SW<09> SW<08>=1 SW<07>=]1 SW<06>=1 SW<04>=]1 SW<03>=1 CHANGE END OF PASS TO 174 OF NORMAL NOT USED INHIBIT END OF PASS MESSAGES DISPLAY ALL DATA COMPARE ERRORS DO NOT ALTER THE CURRENT OPERATION PARAMETERS INHIBIT MAXIMUM ERROR COUNT CHECK; DO NOT DEASSIGN DRIVES WHEN END OF TEST IS REACHED DISPLAY THE SECTOR IN ERROR (BEFORE RETRY ATTEMPTS) IF 'DCK’', 'DTE', OR 'WCF' ERRORS OR AFTER THE 28TH RETRY IF UNCORRECTABLE 'DCK' ERROR 5; g{l"l_"A_ESO"PARE ERRORS &€ SW<O7> SET, DISPLAY REST SW<02>=1 INHIBIT SUBSYSTEM STATUS TYPEOUT DURING STARTUP —— - 3.4 ZRJOBO RPO7 PERF EXER MACRO v04.00 USER DOCUMENTATION 1-DEC-83 10:32:28 PAGE Il 3-3 SEQ 0007 INHIBIT PERFORMANCE REPORT AFTER SPECIFIED TIME - PROMPT SW<01>=1 SW<00>=1 3.9 PASS/TEST 'WRITE ANYWHERE' QUESTION DURING AUTO TEST MODE INHIBIT DATA COMPARE AFTER READ COMMAND, W/0 ERROR READ ONLY MODE TERMINATION A PASS IN RANDOM 'T’' COMMAND DETERMINED BY EITHER BITS READ OR SEEKS REQUIRED FOR A PASS RATE SPECIFICATION OR THE SEEK MODE OR SEQUENTIAL ‘T COMMAND MODE IS OR SEEKS PERFORMED. THE NUMBER OF BITS IS DERIVED FROM EITHER THE SOFT ERROR ERROR RATE SPECIFICATION. THE SOFT ERROR SPECIFICATION FOR THE RP DRIVE IS NO MORE THAN 1 SOFT ERROR (NON-DISK RELATED) IN 1 X 10t10 BITS READ. (SEE SECTION 3.5.1 FOR THE 90% CONFIDENCE LEVEL) THE SEEK ERROR SPECIFICATION FOR THE RP DRIVE IS NO MORE THAN 1 SEEK Eg&)IN 1 X 10t6 SEEKS. (SEE SECTION 3.5.1 FOR THE 90% CONFIDENCE A PASS IN ‘W' OR ‘R’ COMMAND MODE IS DETERMINED DISK ADDRESS LIMITS SETUP BY THE OPERATOR. 3.5.1 BY THE MAXIMUM PASS TERMINATION END OF PASS FOR A SINGLE DRIVE IN THE RANDOM 'T' COMMAND MODE OR 3%’7‘{% ‘T* COMMAND MODE, IS DETERMINED BY ONE OF THE FOLLOWING A. IF PARAMETER 'ENDING' IS 1, END OF PASS OCCURS WHEN THE DRIVE HAS READ 4.128 X 10%9 BITS (2.58 X 10t8 WORDS). IF SW09-1, THE END OF PASS OCCURS WHEN THE DRIVE HAS READ 1.032 X 10t9 BITS (.645 X 10t8 WORDS). B. IF PARAMETER HAS PERFORMED 'ENDING' IS O, END OF PASS OCCURS WHEN THE DRIVE 1 X 106 SEEKS. END OF PASS FOR A SINGLE DRIVE IN DETERMINED AS FOLLOWS. A. OR 'R‘ COMMAND MODE, IF SWO04 IS CLEAR(O), A. . IS WHEN A SEQUENTIAL SEEK IS MADE BEYOND THE MAXIMUM DISK ADDRESS LIMITS SET BY THE OPERATOR, THE PASS IS CONSIDERED ENDED. TEST TERMINATION moomw 3.5.2 ‘W' THE TEST FOR A DRIVE IS TERMINATED WHEN: THE DRIVE HAS COMPLETED THE NUMBER OF PASSES SPECIFIED IN PARAMETER 'PASSES’ . THE TOTAL ERRORS ACCUMULATED EXCEED 2S. . A FATAL ERROR OCCURS: EM12 OR EM14. OPERATOR DEASSIGNS THE DRIVE THE NUMBER OF PASSES SPECIFIED BY THE MONITOR HAVE BEEN REACHED, WHEN RUNNING IN ‘XXDP' CHAIN MODE, ‘ACT11' CHAIN MODE OR ‘APT’ SCRIPT MODECANY AUTO MODE). ZRJOBO RPO7 PERF EXER MACRO Vv04.00 1-DEC-83 10:32:28 PAGE 3.4 USER DOCUMENTATION 3.6 J1 RUN TIME THE EXERCISER PROGRAM MAY BE RUN IN TWO MODES. (SEE SECTION 3.5.1) THE PROGRAM RUN TIME VARIES GREATLY DEPENDING ON THE OPERATION MODE SELECTED, THE READ/WRITE RATIO PARAMETER ('RATIO' ), AND BY SWR SWITCHES O, 3.6.1 (TO REACH 4.128 X 10t9 BITS (2.58 X 10*8 WORDS) PARAMETER PARAMETER PARAMETER ‘MAX WRD CNT' = 256. (1 SECTOR) ‘'MAX TRK' = ‘MIN TRK' (SAME VALUES) 'MAX SEC’' = 'MIN SEC' (SAME VALUES) ONE DRIVE - APPROX. =1 (NO DATA COMPARE) =1 (READ ONLY MODE) 4.0 HRS (TO REACH 1 X 10%6 SEEKS) DUAL PORT OPERATION A. B. C. 3.8 - APPROX. 45 MIN. SEEK VERIFICATION MODE SW<01> SW<00> 3.7 AND 2. DATA TRANSFER MODE (DEFAULT) ONE DRIVE 3.6.2 1, LOAD THE PERFORMANCE EXERCISER PROGRAM INTO BOTH PROCESSORS. SWITCH THE 'CONTROLLER SELECT* SWITCH TO ‘A/B' ON EACH DRIVE WHICH IS TO BE TESTED AS A DUAL PORT DRIVE AND CYCLE THE DRIVES UP. START THE PROGRAM IN EACH PROCESSOR. RUN THE PROGRAM AS THOUGH EACH PROCESSOR WERE RUNNING INDEPENDENTLY OF THE OTHER. XXDP, ACT11, APT11 COMPATIBILITY THIS PROGRAM IS COMPATIBLE WITH AUTOMATIC MODES. THIS PROGRAM IS ALSO, COMPATIBLE AND PRO/IDES MEDIA XXDP LOADING DEVICE. PROTECTION ACT11 WITH AND APT11 IN BOTH DUMP AND XXDP IN DUMP AND CHAIN MODES, IN THE CASE WHERE THE RPO7 IS THE AUTOMATIC MODE OR CHAIN MODE (MONITOR) 1. THE BUS ADDRESS AND CONTROLLER INTERRUPT VECTOR ARE DEFAULTED TO 176700 AND 254 RESPECTIVELY. DUMP MODE (NO MONITOR) 1. 3.9 INPUT DIALOGUE PROMPTED AFTER PROGRAM STARTS APT ETABLE DEFINITIONS THE FOLLOWING DEFINITIONS ARE VALID FOR SPECIFYING APT ENVIRONMENTAL TABLE (ETABLE) ENTRIES,VIA RUNNING THE APT UTILITY PROGRAM “TSP“;: — CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 3-S5 USER DOCUMENTATION 1. K1 SOF TWARE ENVIRONMENT: = 1 IF APT SCRIPT MODE = 0 IF STANDLONE MODE ENVIRONMENT MODE: BIT 7 = 1 = 0 ETABLE DOES SIZING PROGRAM DOES SIZING BIT 6 = 1 SPOOL MESSAGES TO APT IF SCRIPT MODE = 0 DON'T SPOOL TO APT BIT S = 1 = O SUPPRESS TTY CONSOLE OUTPUT ALLOW TTY CONSOLE OUTPUT BIT 4 TO BIT O ARE NOT USED SWITCH 1 (SOFTWARE SWITCH REGISTER) IF ENVIRONMENT MODE BIT 7 (SIZING BIT ) IS SET 70 1, THE SOFTWARE SWITCH REGISTER WILL BE USED, OF THE MARDWARE TTY CONSOLE SWITCHM REGISTER. TEAD SWITCH 2 (USER SWITCH REGISTER) NOT USED CPU OPTIONS NOT USED MEMORY TYPES 1-4 AND MAX MEMORY ADDRESSES NOT USED INTERRUPT VECTOR 1: USED WHEN ENVIRONMENT MODE BIT 7 = 1;DEFALLT = 254 BUS PRIORITY 1: NOT USED. INTERRUPT VECTOR 2: NOT USED 10. BUS PRIORITY 2: NOT USED 11. BASE ADDRESS: USED WHEN ENVIRONMENT MODE BIT 7 = 1;DEFAULT = 176700 12. DEVICE MAP: NOT USED 13. CONTROLLER DESCRIPTOR WORDS: NOT USED 14, CONTROLLER DESCRIPTOR WORDS: NOT USED RPO7 PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGE 7 DRIVER 106 M16 SEQ 0206 ;COMMAND INITIATOR 1 g sCALL . “ v ' ' . ' 7 : 8 9 MOV MOV o0PB ,R2 SDRVNUM,R1 JSR PC.CI2222 ' ' fi 004737 010237 010203 013704 046246 040574 17 0421i0 122762 000135 040640 16 042104 010164 000010 18 042116 19 042120 001011 016246 21 042130 004037 20 042124 052716 22 042134 23 042136 000024 042750 26 042142 27 042146 062703 062704 29 042154 30 042156 31 042160 32 042164 33 042166 34 042170 35 042172 012324 012346 004037 00006 42750 012346 004037 37 042200 042750 g 042140 :; 042202 46 042206 47 042212 48 042216 JSR MOV MOV MOV 000004 BNE MOV 045210 JSR 100000 ;REMOVE REQUEST FROM "DRIVES WAIT” QUEUE ;PUT REQ. IN TRANSFER WAIT QUEUE ;0P8 ADDRESS TO R3 ;RPCS1 ADDRESS 0135,2(R2) ;IS IT A DIAGNOSTIC COMMAND ? R1,RPCS2(R4) 18 4(R2), -{SP) BIS cI PC,POPQUE R2, TRNSWT R2,R3 RPADR, R4 xni (sn 1 :SELECT DRIVE :BRANCH IF NOT ;:GET THE ROUTINE NUMBER, PARAMETERS :SET THE DIAGNOSTIC MODE BIT ;WRITE THE RPMR1 REG BR 2s ;LOAD THE COMMAND AND EXIT ADD ADD 04 ,R3 02.R4 ;:DESIRED WORD COUNT ;RPUC ADDRESS (R3)+,(R4)+ (R3)+,-(SP) RO,WRT.RP 045210 . MOV MOV JSR RPDA CcI7 MOV JSR ;:LOAD BUFFER ADDRESS ;:LOAD SECTOR AND TRACK ;CALL THE LOADCWRITE) ROUTINE ; INDEX OF REGISTER TO LOAD ;ERROR RETURN ADDRESS ;:LOAD CYLINDER ADDRESS 004737 042232 JSR 016246 000002 000034 004037 000000 000004 000002 18;: MOV 045210 RPDC Cc17 FIT 045210 (R3)+,(R4)s (R3)+,-(SP) RO,WRT.RP ;LOAD WORD COUNT PC.CI2 :SEE IF BIT1S SHOULD BE SET IN RPMR1 2(R2),-(SP) ;LOAD “COMMAND+GO”, “A17EA16“, AND “PSEL" o}o; ggowu ;SET “DATA TRANSFER UNDERWAY " cMP BLT MOV JSR RPMR1 CI7 RTS 12(R2),FEL1(R2) 1s #BIT1S, -(SP) RO,WRT.RP ;DATA XFER TO FE CYLINDERS ? :BR _IF NO +SET _THE DIAGNOSTIC MODE BIT :WRITE THE RPMR1 REG MOV MOV MOV RPADR, R4 R1,RPCS2(R4 ) 12(R2),-(SP) MOV JSR RO,WRT.RP RPCS1 49 042220 042750 010137 000137 040626 042712 53 54 S5 56 S7 S8 3 042232 042240 042242 042246 042252 042254 042256 026262 002406 012746 004037 000024 042750 000207 000012 61 042260 62 042264 63 042270 013704 010164 016246 040640 000010 000012 SO 042222 gé 042226 ; CI& = NO DATA TRANSFER g' 000002 000422 28 042152 012324 36 042176 CI1: ;CI222? = CI1, CI3, OR CIa s WHERE : : CI1 = DATA TRANSFER 3+ CIS = SEARCH REQUESTED BY DATA XFER : 12 042066 13 042072 ‘4 042076 15 042100 sADDRESS OF DRIVE PARAMETER BLOCK ;:ORIVE NUMBER 17 000156 CI2: 100000 045210 1s%: CI3: PC sRPCS1 ADDRESS : SELECT DRIVE :DESIRED CYLINDER ADDRESS M1 JRJIOBO FPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:52:28 PAGE 3-7 - USER DOCUMENTATION SEQ 0011 EASILY. THE USER CAN SCAN SCAN DOWN A COLUMN, INSTEAD OF LOOXING TvRy THE TYPICAL LONG ERROR REPORT. THE ONE UISADVANTAGE OF THME 132, m'o "YS;E.K’G'. IS THE AMOUNT OF ERROR DATA WMICH CAN BE REPORTED THE FOLLOWING QUESTION AND WARNING MESSAGE FIELD VERSION OF THIS DIAGNOSTIC. ONMLY APPEAR IN THE ‘D0 YOU WANT TO WRITE ANYWMERE ON MEDIA (L) N ?2¢ ANSWER WILL PROCEED WITH TESTING ONLY THE FE CYLINDER AND A 'Y’ MODE (SWO=1), THE WARNING QUESTION WILL BE ASKED. MESSAGE WILL BE OMITTED WARNING MESSAGE AND QUESTION. ANSWER WILL PROCEED TO NEXT IF THE PROGRAM IS IN "READ OMLY" BUT i A ‘N’ SKIP THE FOLLOWING QUESTION. *? CUSTOMER DATA WILL BE OVERWRITTEN ! CONTINUVE (L) ?* A 'Y' ANSWER WILL PROCEED WITH TESTING THE ENTIRE DISK. ANSWER WILL PROCEED WITH TESTING ONLY THE FE CYLINDER. IF ONLY THE FE CYLINDER IS TO BE TESTED, WILL BE PRINTED. A ‘N THE FOLLOWING MESSAGE ‘e TESTING FE CYLINDER ONLY o’ AT THIS POINT, IF THE PROGR IS LOCKED AM IN “READ ONLY" MODE, THE FOLLOWING MESSAGE WILL BE TYPED. “READ ONLY" MODE, IF THE PROGRAM IS NOT LOCKED IN THE FOLLOWING MESSAGE WILL BE OMITTED. ‘s PROGRAM IS LOCKED IN ‘READ ONLY' MODE o' WHEN THE PROGRAM IS STARTED, THE OPERATOR WILL BE ASKED TO ENTER PARAMETERS. THE FOLLOWING MESSAGE WILL BE DISPLAYED: *CHANGE PARAMETERS (L) N 7’ IF THE ENTRY IS A ‘N’ FOLLOWED BY A CARRIAGE RETURN OR JUST A CARRIAGE RETURN (DEFAULT), THE PROGRAM WILL NOT ALLOW ANY PARAMETERS TO CHANGED AND WILL CONTINUE. IF THE ENTRY IS A 'Y’ FOLLOWED BY CARRIAGE RETURN, BE ALLOWED TO CHANGE THE PROGRAM PARAMETERS. THE OPERATOR WILL THE PROGRAM WILL IDENTIFY THE PARAMETER BY THE NAME GIVEN BELOW, DISPLAY THE CURRENT VALUE OF THE PARAMETER AND WAIT FOR THE ENTRY, THE PROGRAM WILL TYPE 'INVALID ENTRY' IF THE ENTRY IS NOT CORRECT AND WAIT FOR A CORRECT ENTRY TO BE TYPED. (SEE SECTION 4.1.1) IF THIS IS THE PROGRAM'S FIRST START, THE STATUS OF THE DRIVES ON THE SELECTED MASSBUS SUBSYSTEM WILL BE PRINTED. ON ALL SUBSEQUENT STARTS, =1, - THIS TYPEOUT MAY BE INHIBITED BY SETTING SW<02> C.':MO RPOT PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 3-8 N1 ] DOCUMENTATION THE FOLLOWING IS AN EXAMPLE DRIVE STATUS PRINTOUT: NOVMBHB WO ORIVE STATUS: ONLINE RPO7 LOAD DEVICE OFFLINE RPO7 ONLINE RPO7 NOT PRESENT NOT AN RPO7 NOT PRESENT NOT PRESENT'’ NON - INTERLEAVED THE ABOVE DRIVE STATUS SHOWS THAT DRIVE O WILL BE TESTED, 1 4.1.1 - 7 WILL NOT BE TESTED. WHILE DRIVES KEYBOARD ENTRY PARAMETERS QUESTION ¢ BASE 10. DEFAULT VALUE VALUE RANGE 12800. 6 (SEE NOTE) - 12800. CONTROLS THE MAXIMUM WORD COUNT USED FOR DATA TRANSFERS NOTE: THE PROGRAM WILL SELECT A MAXIMUM WORD COUNT, WHICH IS DETERMINED BY THE MEMORY AVAILABLE. THE MAX. WORD COUNT ASSIGNED BY THE PROGRAM IS 12800. (1 TRK) WORDS. THE OPERATOR MAY SPECIFIY ANY OTHER MAX. WORD COUNT AS LONG AS THE VALUE SPECIFIED IS AT LEAST 6 WORDS BUT NO LARGER THAN 12800. WORDS OR MEMORY AVAILABLE. (WHICH EVER VALUE IS SMALLER) 10. 0o 10. 15. 0 - 32767. DETERMINES THE INTERVAL (IN MINUTES) BETWEEN AUTOMATIC PERFORMANCE REPORT TYPEOUTS; NO TYPEOUT IF THIS PARAMETER IS 0 OR IF SW<02> =1 0 DETERMINES THE INTERVAL (IN MINUTES) BETWEEN DATA COMPARES TO MEMORY AFTER A READ DATA cwm. ¥ - 32767. ALWAYS DO COMPARE IF THIS PARAMETER IS 0. IF SWO1 =1, THEN NO DATA COMPARES WILL BE GRANTED,UNLESS A ‘DCK’ ERROR OCCURS. 10. 1 1 - 32767. NUMBER OF PASSES TO END OF TEST. (THIS PARAMETER IS NOT USED WHEN THE PROGRAM IS CIRUOBO RPOT PERF EXER MACRD v04.00 1- OEC 82 10:3%,: S8 PALE z 5EQ 0013 ) USER DOCUMENTATION u‘Q 10. < 5 - OPERATING IN AUTO RUN MODE ) 1+ PARAMETER=0,DATA PATTERN IS RANDOMLY SELECTED. IF PARAMETER>O,SPECIFIES ONE OF THE 15. PATTERNS. THE SELECTED DATA PATTERN IS POINTED BY THE PARAMETER “PATTERN", 6 0 OR I 8 (SEE IF PARAMETER SECTION 8.4) = O, BETWEEN 6 AND THE *WRDCNT' (MAX WRD IF PARAMETER = 1, COUNT WILL BE THE *WRDCNT* 7 8 000002 o -7 NOVNDBWN-=O OO0R 1 THE WORD VALUE CONTROLS THE APPROXIMATE RATIO OF READ VALUE 8 VALUE CNT). (MAX WRD CNT), TO WRITE COMMANDS . 8 THE WORD COUNT IS RANDOMLY SELECTED R/W RATIO 1571 771 6/2 5/3% 4/4 3/5 2/6 177 IF PARAMETER = 1, END OF PASS DETERMINED By THE ‘WORDS READ’ COUNT. IF PARAMETER = O, END OF PASS IS DETERMINED BY THE NUMBER OF SEEKS. 9 8 OOR 1 IF EQ 1, DO AN APPROPRIATE WRITE CHECK AFTER EACH WRITE COMMAND. IF EQ O, SELECT WRITE CHECK COMMAND RANDOMLY . 10 8 OOR 1 IF PARAMETER=0,RANDOM DATA BLOCK ADDRESS IS USED IN 'T* COMMAND IF PARAMETER=1,SEQUENTIAL DATA BLOCK IS USED IN ‘T* 4.1.2 COMMAND. CHANGE DEVICE ADDRESS THE RP/RH ADDRESS AND VECTOR MAY BE CHANGED WHEN THE PROGRAM IS IF THE PROGRAM DOES NOT RECEIVE A STARTED AT ADDRESS 204 RESPONSE WHEN IT ACCESSES THE DEFAULT RP/RH ADDRESS. JOBO RPO T PERS EXER MACRD vO4.00 1 DEC 82 10:%:08 PAtk (DEFALLT ADDRESS = 176700, VECTOR 5EQ 0C14 * 10 t‘<(fl DOCUMENTAY ION -« 254 ADDRESS SELECTION ExXAMP( ES EXAMPLE 1 RPCS1+176700 <«CR»> RPVEC+=000254 iNO CHANGE IN ADDRESS <CR> iNO CHANGE IN ADDRESS EXAMPLE 2 RPCS1+176700 172400<CR> RPVEC=000254 224<CR> 4.2 ;CHANGE BASE ADDRESS TO 172400 sCHANGE VECTOR ADDRESS T0 224 KEYBOARD COMMANDS THROUGH THE KEYBOARD COMMANDS, THE OPERATOR MAY ASSIGN DRIVES FOR TEST ('T' COMMAND), WRITE SEQUENTIAL DATA ('wW' COMMAND), PERFORM A SEQUENTIAL READ('R' FOLLOWED BY TEST ('WT* SUMMARY ('S’ THE ‘T*, COMMAND), PERFORM WRITE DATA AND COMMAND ), REQUEST A DRIVE PERFORMANCE COMMAND), OR DEASSIGN A DRIVE (‘D' 'W', 'R* AND 'WT' COMMAND). COMMANDS ARE EXCLUSIVE TO ONE ANOTHER ON THE SAME DRIVE UNDER TEST. THE ‘D' COMMAND MUST BE ENTERED IN ORDER TO ISSUE A DIFFERENT COMMAND TO THE SAME DRIVE UNDER TEST. EXCEPT FOR THE 'S’ COMMAND, WMICH CAN BE ENTERED AT ANY TIME DURING THE TEST. IF THE PROGRAM WAS STARTED AT ADDRESS 204 OR IF NO DRIVES ARE ASSIGNED FOR TESTING, THE FOLLOWING MESSAGE WILL BE TYPE BEFORE ENTERING THE COMMAND MODE. MOMEVER, IF A ‘CONTROL C' IS TYPED WHILE TESTING IS IN PROGRESS, THE FOLLOWING MESSAGE WILL OMITTED AND THE PROGRAM WILL ENTER COMMAND MODE. BE ‘NO DRIVES ASSIGNED’ WHEN THE PROGRAM ENTERS THE COMMAND MODE, THE FOLLOWING PROMPT WILL BE TYPED: ‘HM:MM:SS ENTER COMMANDS: ' THE PROGRAM WILL THEN ACCEPT ANY OF THE VALID COMMANDS. AT THE COMPLETION OF A COMMAND, THE PROGRAM WILL EXIT COMMAND MODE AND TRY TO ASSIGN THE DRIVE(S) THAT WERE REQUESTED. IF THE DRIVE(S) CANNOT BE ASSIGNED, ONE OF THE FOLLOWING ERROR MESSAGES WILL BE REPORTED AND THE PROCESS CONTINUES FOR EACH DRIVE. RESPONSE ?DRIVE N LOAD DEVICE ?DRIVE N OFFLINE ?DRIVE N NOT ASSIGNED COMMAND(S) T, W, R, WT T, W, R, T D, S CIRIDBO RPQTM PERF EYXER MACRD vO4.00 1 DEC 8% 10:52:28 PAGF USER DOCUTMMENTATION JDRIVE 20RIVE PDRIVE 7DRIVE NEXT, D % 11 S0 0015 N ALREADY ASSIGNED N NOT PRESENT N UNSAFE N NOT AN RPO7 T, T, T, T, W, W, W, W, R, R, R, R, W7 Wt W' w1 TME PROGRAM WILL PROCESS ALL THE ASSIGNED DRIVES AS FOLLOWS: WHEN THE PROGRAM IS ASSIGNING THE DRIVES, TME OPERATOR WILL BE ASKED TO CHANGE THE DRIVE PARAMETERS WITH THE FOLLOWING PROMPT : *CHANGE DRIVE PARAMETERS (L) N ?° IF THE ENTRY IS A 'N' FOLLOWED BY A CARRIAGE RETURN OR JUST A CARRIAGE RETURN (DEFAULT), THE PROGRAM WILL NOT ALLOW ANY DRIVE PARAMETERS TO BE CHANGED AND WILL PROCEED TO TEST THE DRIVES AS COMMANDED. IF THE ENTRY IS A 'Y' FOLLOWED BY CARRIAGE RETURN, THE OPERATOR WILL BE ALLOMED TO CMANGE THE DRIVE PARAMETERS AS FOLLOWS. THE PROGRAM WILL FIRST TELL THE OPERATOR WHMICH DRIVE IS BEING REFERENCED FOR CHANGES AND THE MARD WIRED DRV SERIAL NUMBER FORMAT : ‘ORIVE @ N, PGXXXX, ADDRESS LIMITS;' WHERE ‘' XXxxx*' IS THE m WIRED ODECIMAL SERIAL NUMBER CONTAINED IN THE RPSN REGISTER OF THE MBA, IF THE DRV SERIAL NUMBER IS NOT JUMPERED IN THE RPSN REGISTER, 'XXxx' WILL APPEAR AS *2227°. THE PROGRAM WILL REQUEST PARAMETERS . DEFALT NAME MIN MAX MIN MAX MIN MAX CYL CYL TRK TRK SEC SEC VALUES FOR VALUE VALUE RANGE . 630. 0 31, o 49. s s 0 0 0 0 - 630 630, 31. 51. 49, 49, THE FOLLOWING ADDRESS LIMIT FUNCTION THE THE THE THE THE THE MINIMUM CYLINDER ADDRESS MAXIMUM CYLINDER ADDRESS TRACK ADDRESS MAXIMUM TRACK SS MINIMUM SECTOR ADDRESS MAXIMUM SECTOR ADDRESS ¢ IF RUNNING THE FIELD VERSION OF THIS PROGRAM AND TESTING OCCURS ONLY ON THE FE CLYINDER, THIS VALUE WILL BE 630. IF RUNNING THE MANUFACTURES VERSION OR THE FIELD VERSION OF THIS PROGRAM AND TESTING IS ANYWHERE ON THE MEDIA, THIS VALUE WILL BE 0. 4.2.1 ‘T* COMMAND USED TO ASSIGN A DRIVE(S) FOR A TEST, TO PERFORM THE TEST OF THE DRIVE(S). FORMAT: THIS COMMAND IS REQUIRED TN<CR> N = DRIVE NUMBER. MAY BE O TO 7 OR *‘A‘', ENTRY MUST BE TERMINIATED BY A CARRIAGE RETURN <CR>, P CIRIOBO RPOT PERF EXER MACRD vO4.00 1-DEC 8% 10:32:008 PAGE *.12 G 0016 USER DOCUMENTATION EXAMPLE: 4.2.2 TO<CR»> TA<CP> - ASSIGN DRIVE O FOR TESY - ASSIGN ALL AVALLABLE DRIVES FOR TEST ‘D COMMAND USED TO DEASSIGN A DRIVE(S) BEING EXERCISED. FORMAT: DN<CR» N = DRIVE MUMBER, MAY BE '0 OR “A*, ENTRY MUST BE TERMINIATED ' © lm RETURN «CR>, EXAMPLE: 4.2.3 DO<CR> - DEASSIGN DRIVE 0O DA<CR> - DEASSIGN ALL DRIVES BEING TESTED. '§* CORWMND USED TO REQUEST A PERFORMANCE SUMMARY TYPEOUT FOR DRIVE(S). AFTER THE 'S’ COMMAND MAS BEEN PERFORMED REFERENCED PROGRAM WILL AUTOMATICALLY RESUME TESTING TME DRIVE(S) MMICH WMERE UNDER TEST. FORMAT: SN<CR» N = DRIVE NUMBER., MAY BE 0 TO 7 OR ‘A TERMINIATED BY A CARRIAGE RE TURN « EXAMPLE: >, ENTRY MUST BE SO<CR> - TYPEOUT PERFORMANCE SUMMARY FOR DRIVE 0 SA<CR>» - v“v;:gmn;ewm SUMMARY FOR ALL DRIVES 4.2.4 USED TO PERFORM A SEQUENTIAL WRITE OF THE DISK, WITHM DATA ACCEPTABLE TO THE PERFORMANCE EXERCISER PROGRAM. FORMAT: WN<CR» N = DRIVE NUMBER. MAY BE O TO 7 OR *A*, TERMINATED BY A CARRIAGE RETURN <CR»>, EXAMPLE: 4.2.5 WO<CR>» WA<CR> ENTRY MUST BE - WRITE A DATA PATTERN ON DRIVE O, - WRITE A DATA PATTERN ON ALL AVAILASLE DRIVES. ‘R* COMMAND USED TO PERFORM A SEQUENTIAL READ OF THE DISK. FORMAT: RN<CR> N = DRIVE NUMBER. MAY BE O TO 7 OR *A*, ENTRY MUST BE TERMINATED BY A CARRIAGE RETURN <CR»>, EXAMPLE: 4.2.6 ‘WY’ RO<CR> RA<CR> COMMAND - READ THE DATA ON DRIVE 0. - READ THE DATA ON ALL AVAILABLE DRIVES. IR CIRJOBO APOT PERT EXER MACRD vO4.00 1-DEC 85 10:52:08 PacE %18 - SEQ o0L? USER DOCUMENTATION VSED TO PERFORM A SEQUENTIAL WRITE DATA, FOLLOMED BY A “T° COWND. FORMAT; wTh<CR>» N+ DRIVE MUFBER O TO 7 OR “A", CARRIAGE RETURN <CR>, EXAMPLE: WTO«CR» ENTRY MUST BE TERMINATED B A - WRITE A DATA PATTERN AND TEST DRIVE O WTACCR> - WRITE A DATA PATTEAN AND TEST ALL DRIVES BEING EXERCISED W DRIVE WAS REACMED ' REPORT * REPORT FOR T 8 DISPLAYED AUTOMA 1S NOT ZERO s B SW<02>+0, OR IF TE DEF INED MUPBER OF PASSES AND SW<08>+0 IF THE OPERATOR REQUESTS TO DO SO BY USE OF THE *S* COMYAND. TME REPORT TYPEOUT CONTAINS THE FOLLOMING FIELDS: ‘TIME’ ELAPSED TIME OF PROGRAM :8'..‘,“,}‘. "“‘ PASS w umFORHiafin ! IAL MPBER(RMSN) :"g'mm i nm TTME * PASS’ * TOTAL® : tOt’&.' * TOTAL® -m”s- 2 MPBER OF WORDS WRITTEN EACH PASS BY THE DRIVE TOTAL MMBER OF WORDS (X10%6) WRITTEN BY THE ORIVE MMBER OF WORDS READ EACH PASS BY THE DRIVE TOTAL MMBER OF WORDS (X10%6) READ BY THE DRIVE -'n"ss' NMPBER OF SEEX OPERATIONS EACH PASS BY THE DRIVE *SOFT* ' . '+ SKT* ‘MISP’ ‘OTHER' MPBER OF SOFT DATA ERRORS MPBER OF MARD DATA ERRORS MPBER OF *SKI* MMBER OF PROGRAM DE TECTED POSITIONING ERRORS TOTAL ERRORS OF OTHER 5 NOTE: TOTAL MUPBER ? SEEX OPERATIONS BY THME DRIVE ERRORS EM1, EM2 m.u.n € EM10 ARE NOT INCLUDED IN THE "OTHER’ ERROR TOTAL s.a SOF T/MARD ERROR DEF INITIONS 5.2.1 MARD ERRORS A 'DTE’ (DRIVE TIMING ERROR) OR WHICH OCCURS DUR SECTOR THE RETRY SEQUENCE IS 16. RE-READS AT TRACK CENTER AND 2 ATTEMPTS ! A. - CIRIOBO APO”TM PERF ¢ WER MACRD vO4.00 | DEC 88 10:%0:00 PGk USER DOCUMENTATION Ve % 10 EQ oure BOTH AT POSITIVE AND NEGATIVE OPFsETS, 5.2.2 SOF T ERRORS 8. RE&% On BECOM mmcvmnm TRY mm A, € C. m CORRECTLY DURING YEADER READ ERRORS - READ v.nnm;uu.. DA D. WRITE DATA COMADS 'DTE’ ERRORS WeICw ARE CORMECTED OR WeICW BECOME ECC CORMECTABLE ‘OO0 ERROR DURING TME RETRY SEQUENCE . uumnsmm DATA COMPARISON DATA COMPARISON OCCURS "w ‘RODAT* (READ DATA) OR “RDMD* (READ MEADER AND DATA) OPERATION UNDER TME FOLLOWING CONDITIONS: A, 8. MMW"I!N.”““”. mgw.mnmuumnv DCx* SET AND TTME ERROR €CcC VERIFICATION OF DATA WRITTEN DATA mmna AND MATCHING THE DAl IIN ING :' BACK G’THROUGH TME 15,READ 'A"!“ THROUGH 7.1 (THE MESSAGE TAGS ARE GIVEN FOR REFERENCE.) MESSAGE F é !s t? ! 3 7 i! ¥ xmamnmmTER DOING A WRITE DATA COTMWND. g CIRIOBO MPOT PERF EXER MACRD w08 .00 1 DEC 88 10,5000 Pls ¢ 18 Qe o0y USER DOCLTMENTATION Ext 1A M CONTROLLER INTERBST OCOURRED (WPWs5-0) TTME B W r'!m D THE ATTENTION Sursway RECIS (has) CLEARED. UNEZPECTED ATTENTION OCCOURRED TTME INDICATED DRIVE PERF ORMING AN OPERA UT TWE DRIVE WA NOT . MASSBUS PARITY ERROR (WCPE-1) T DNOICATED REGISTER THOM ItDOICATES ORIV MAS PARITY SBU ERROR (PAR-]) S e THE ot LOADED G SPECTS IED REGTSTER: | ADORESS PLUG OnGE BIT SEV THE "OPE’ BIT WAS SET WEN R TM€ INDICATED DRIVE INTERRLPTED. DIDN' T RESPOND TO ADDRE SSING WHEN THE PROGRAN ADDRESSED TeE MM, ND RESPONSE WAS RECEIVED FROM TME INDICATED ADDRESS. UNCORRECTABLE MASSBUS PARITY ERROR FATAL MASSBUS PARITY ERROR A CONTROL PARITY ERROR OCCURRED WEN TE Am Al TE!®TED TO PROCESS A PREVIOUS, DIFFERENT PARITY ERROR. £ S5BRSNS S48 R v mmmmmmmum M.;:ID NOT COMPLETE THE OPERATION WITHMIN 10. SECONDS OPERATION WAS INITIATED. UNIT MENT OFFLINE CIRJOBO BPOT PLEF ExER MACRD w0 .00 1 -OEC 8% 102000 Pt 2 1 12 - USER DOCUENTAT ION TM DRIVE wEwT (T WL DEASSION 81T cn n-o ) DRIvE. n wILL AUTomet ICaL ¢ ToE OPERATOR MusT SEASSIGN TwE DRI WITH ToE T COWWND 10 W8 INITIATE M5 ICATED OPEAa’ION TES!ING. WO MESPONSE 10 PORT MEOUEST ga-ugu"s -gufi'!ncoa ORIVE FRON Trvg REPORT €20 WS NOT St PORT MEQAS ‘.“" Ty I TT el fl"”(fi)” w’&’a’?&W& Sra LI i‘ Pee EM25 MEADE READ ERROR R - MEADER CO'WPARE (“»CE') ERROR SET INITIALLY: THE OPERATION VILL G€ WETRIED § TIGS. EM26 FORMAT ERROR (*FER*) THORC: SIT UAS T Sti. "hE OIS&m-oca e DISPLAYED. THE OPERATION WILL OF RE EM27 MEADER COMPARE ('MCE') ERROR SEQ e CIR 080 Wwo? %!‘“*“I“““Qfim L USER DOCLTMENTAY L J . %’??.,.” 'gSIT wAS SET INETIMLLY CIvER OB Bg FOLLOMING EAROR B175. IS TESSISAC ) LAnom OPERATION DNCOWALETE (“0PT° SecToR TION PCORLETE EAROR OCOUMED AT e DOICATED th..?"'lf"‘"“w.” e mtm»nmmn“ %‘&'&‘W S G— DWALID ADORESS (' TAE* ) EAROR A INVALID ACORESS ERROR OCOURMED DURING TWE OPERATION. WRITE LOCK (*MLE") ERROR AURITE QPERATION WAS ATTEVPTED BUT TG DRIVE WAS WAITE EAROR ER TRANS/ER UNIBUS LL OR RO M CONT IR I3 SET In e T ree"‘aw INCORREC" AT A } 1S res WORD COUNT REGISTER DATA COPARE ERRORS - NO DRIVE ERROR DETECTED NO SUBSTSTEN ERROR WAS SIGNALED, MOVEVER. TME DATA DOES MOT CAN'T MATCM DATA READ MITH A PATTERN CIRJIOBO WPOT PLiw EuiR PACRD w08 .00 1 0N VSR DOCUMENTAT 2 EC 88 10:00:00 Pz 0008 Tu ' 10 K2 R STER DS NOT WAION MW F N STAOMD ERROR BITCS) SET, BUT NO ERROR SIOWALED BY TWE M CONTROLLES PS ATETTD SR €CC LOGIC FATLUNE RoriTion Sarbie Goucl) B b ety e Tl SUS ADDRESS OR WORD COUNT NOT CONSISTENT RIGER F WORS TR HED A8 DOICATES BY TNE Bui MRS SEEX INCOPLETE ERROR TTME DRIVE SIGWALED EITWER “SxI* EAROR, 0T USED CLEARED 61 & ORIvE CLian: st kLt 1.2 :.;?fl' nw THE PROGRAM WAS STARTED. ‘PRSNT COMWND= XXXX PREV COMWND= YYYY* MNEMONICS USED FOR THE COMMANDS ARE DEF INED BELOW: CIRJOBO WPOT PR EuER MACRD w04 .00 1-DEC 08 10:52:20 PicE 919 L2 USER DOCUMENTATT TMY e - ( )] % : no:%; grar - gin Rask (SR i T - S 13 chinpe cocta. 17 po - i E; -t y [4 Fi)] -fi?«m an) =, 15 g:!‘iy TT eR ee TERS IN e FIRST GROVP WILL OF THE WO -GATA TANGFER PART 07 THE GPERATION. oy G L AL X P ERROR AT Cxxx TYY SIZ PREV ADDR= CUAN Ty S THE ACTUAL ADDRESS OF TME ERROR SECTOR DISK ADDRESS ARE GIVEN IN TMIS LINE. TOR ADODRESSES ARE IN PRSNT ADDRe CxxX TYY SIZ . PREV ADDR= CUW THE PREVIOUS « TRACK, & TVVY S\ THIS LINE IDENTIFIES THE ADDRESS WHEN THE ERROR WAS DETECTED THE PREVIOUS ADDRESS IS ALSO GIVEN. CYLINDER, m.cm:'b C20J0B0 WPOT PLAF EXER MACRD ¥08.00 1-DEC 83 10:32:28 Pack §.20 USER DOCUMENTAT ION : ADDRESSES ARE GIVEN In DECTTMA STARY CviL» Xxx END CvLe vYY THIS LINE TDENTIFIES STARTING THE DESTINATION . tn INDER OR A SEEX (IR IED) ADDRESSES ARE IN 6 LINE START CviL» XXX END CviL+ vYY ACTuaL. Cvie 222 S B P SO et A WsSML mtummmmnwmm REGISTER AND THE R WORD COUNT REGISTER. NOT PRINTED IF Sw«05» IS NOT SET, START CvL= XXX START TRK= YY THIS LINE START SECTOR- 22 THIS LINE IDENTIFIES THE STARTING DISK ADDRESS OF THE PRESENT OPERATION. CYLINDER, TRACK, AND SECTOR VALUES ARE DECIMAL. RPDA= XXXX RPCA= YYYY THIS LINE GIVES THE CONTENTS OF THE RP TRACK AND SECTOR ADDRESS REGISTER AND THE CONTENTS OF THE DESIRED CYLINDER iMSS REGISTER. THIS LINE IS NOT PRINTED IF Sw<05» IS NOT BUFFER ADDR= XXXX WRD CNT= YYYY ACTUAL NUMBR WRDS XFRD= 2222 MSLMGMSMSTMYMMSSWMWM'GM CURRENT DATA TRANSFER OPERATION, ITS SIZE(WORD COUNT), ACTUAL NUMBER OF WORD TRANSFERED. l\“ffg &SCIN OCTAL, AND THE THE STARTING ADDRESS OF THE THE WORD COUNT AND WORDS TRANSFERED VALUE IS CZRJOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE 3-21 USER DOCUMENTATION EXPCTD DATA= XXXX RECEVD DATA= YYYY N2 ' WORD POS+ 222 THIS LINE GIVES THE EXPECTED DATA, THE RECIEVED DATA FROM THE DISK, &Q& THE LOCATION OF THE WORD IN THE SECTOR. THE WORD POSITION IS IN MEADER CONTENTS OF ERROR SECTOR= XXXX XXXX XXXX XXXX THIS LINE GIVES THE CONTENTS OF THE MEADER OF THE SECTOR WHICH GAVE THE ERROR. RPEC1= XXXX RPEC2= YYYY THIS LINE WILL BE PRINTED AFTER A SUCESSFUL RETRY OF A SECTOR WHICH BECAME ECC CORRECTABLE DURING RETRY, ECC CORRECTABLE WITHOUT OFFSET THE SECTOR IN ERROR IS ECC CORRECTABLE; NECESSARY. NO RETRY ATTEMPTS ARE READ CORRECTLY AT (NEG OR POS) OFFSET THE SECTOR IN ERROR WAS READ WITHOUT ERROR AT THE INDICATED OFFSET VALUE. ECC CORRECTABLE AT (NEG OR POS) OFFSET %_SEETCTW IN ERROR BECAME ECC CORRECTABLE AT THE INDICATED CORRECTED ON X RETRY :fieo':%RATIW WAS PERFORMED ERROR FREE ON THE INDICATED RETRY i - SEQ 002S i SRIOBO RPOT PERF EXER MACRO vO04.00 1-DEC BF 10:3.°:28 PAGE USER DOCUTMMENTATION 3 02 S5EG 0G26 UNCORRECTABLE AFTER X RETRIES THE OPERATION COULD NOT BE PERFORMED CORRECTLY INDICATED NUMBER OF RETRY ATTEMPTS, AFTER THE DIFFERENT ERROR DURING RETRY WHILE THE PROGRAM WAS RETRYING THE ERROR, IF THIS LINE IS PRINTEC, PRINTED (SEE LINE 2). A DIFFERENT OCCURRED. THE RH/RP REGISTERS WILL ALSO BE DATA COMPARISON ERRORS A PRINTOUT OF THE DATA COMPARISON ERRORS FOLLOW THIS LINE. TOTAL COMPARE ERRORS= XXXX THIS LINE GIVES THE TOTAL DATA COMPARISON ERROR COUNT. VALUE GIVEN IS IN DECIMAL. THE THE DATA COMPARED OK THIS LINE INDICATES THE RESULTS OF THE DATA COMPARISON FOLLOWING ECC CORRECTION. ECC CORRECTION RESWLTS THE PROGRAM PERFORMED ECC CORRECTION AND THE RESULTS ARE REPORTED. THE ADDRESS IN MEMORY OF THE WORD(S) IN ERROR ARE GIVEN, THE WORD(S) BEFORE CORRECTION AND THE WORD(S) AFTER CORRECTION ARE PRINTED. ERROR BURST BEGINS AT WORD XXX IN DATA FIELD OF ERROR SECTOR THIS IS AN INFORMATIONAL LINE WHICH WILL BE PRINTED FOR 'DCK' ERRORS WHICH ARE ECC CORRECTABLE OR WHICH BECOME ECC CORRECTABLE DURING CIRUORD APOTM PERF EXER MACRD vO4.00 1 DEC BF 10:7 108 Pags USER DOCUTMMENTATION RETRY, xxX' DECIMAL, 15 TWE WORI OFFSET G 0627 % vALLE FROM RMFCL AND 15 IN 'DTE* THE OR, ERROR WAS NOT IN THE DATA READ ECC CORRECTION CAN'T BE PERFORMED THE DATA ERROR WAS NOT IN DATA TRANSFERED TO MEMORY, CONTENTS OF TME ERROR SECTOR (REPORTED ABOVE) I' SW<03> IS SEV, THME SECTOR WHICH GAVE THME ‘DCx’, ‘MCF© ERROR OR 'MARD’ DATA CMECK ERROR IS PRINTED. CONTENTS OF THE SECTOR FOLLOW THIS LINE. TOTALS; ERRORS:X WRDS WRITN: YYYY WRDS READ: 2222 THIS IS THE LAST LINE PRINTED FOR ALL NON-POSITIONING TYPE ERRORS. ‘ERRORS IS THE TOTAL ERROR COUNT FOR THE DRIVE AND INCLUDES EVERY ERROR DETECTED, REGARDLESS OF TYPE. ‘MRDS WRITN' IS THE TOTAL NUMBER OF WORDS WRITTEN THE DRIVE. ‘MRDS READ' 1S THE TOTAL NUMBER OF WORD READ BY THE DRIVE. TOTALS; SEEXS: XXX TOTAL POS ERR= YYY TOTAL SKI ERR+ 2 THIS IS THE LAST LINE PRINTED FOR ALL POSITIONING TYPE ERRORS. ‘TOTAL SEEKS’' BY THE DRIVE. IS THE TOTAL NUMBER OF SEEX OPERATIONS PERFORMED ‘TOTAL POS ERR’ IS THE TOTAL NUMBER OF PROGRAM DETECTED POSITIONING ERROR BY THE DRIVE. ‘TOTAL SKI ERR’' THE DRIVE. IS THE TOTAL NUMBER OF PROGRAM DESCRIPTION 8.1 PROGRAM OPERATION 'SKI' ERRORS SIGNALED BY CIRUORO APTM PLAF EXER MACRD vO4.00 1-DEC 83 10:52:28 PAGE % 26 D4 5E0 0G2s USER DOCLTMENTATION WEN THE PROGRAM IS STARTED, PROVIDI'G APT TTy ENABLE BIT IS SET OR DIAGNOSTIC LOADED BY OTHER THAN APT SCRIPT MODE, ALL TABLES AND PARAME TERS ARE CLEARED OR INITIALIZED, TME mins WHICH ARE UNDER OPERATOR TTY ENTRY CONTROL ARE CMECKED FOR VALIDITY AND CONSISTENCY, RM CONTROLLER INTERRUPT ENABLE (*TE') IS SET, TTy XEYBOARD INTERRUPT ENABLE IS SET, AND THE KwWll-L OR KWi1l-P CLOCK IS STARTED. COMMAND ENTRIES WILL NOW BE ACCEPTED BY THME PROGRAM, THE PROGAM SCANS ITS INTERNAL ASSIGNMENT TABLES, LOOXING FOR: 1) 2) 3) 4) DRIVES 10 QSSIMBS!G PERFORMANCE REPORT TYPEOUT REQUESTS DRIVES REQUIRING INITIATION, BUFFER ASSIGNEMENT, OR PARAMETER SELECTION. ORIVES COMPLETING CURRENT OPERATIONS. THE PROGRAM CONTINUES SCANNING ITS TABLES MIL AN ENTRY IS FOUND. IN THE CASE OF THE PROGRAM AT (NITIAL STARY FIRST ENTRY MWILL BE MADE BY THE OPERATOR WMEN A DRIVE IS ASSiw C('7T* COMMAND). WHEN A DRIVE IS Assxm THE KEYBOARD ENTRY ROUTINE VERIFIES THAT THE DRIVE IS PRESENT, IS AN RPO7, AND IS ONLINE. THME ASSIGNMENT ROUTINE TMEN ISSUES A ‘READIN PRESET' INSTRUCTION, SETS 'FMT16', AND ISSUES A 'RECALIBRATE' INSTRUCTION. PARAMETERS FOR THE OPERATION ARE SELECTED AND A BUFFER IS ASSIGNED. IF THE OPERATION IS A WRITE OR WRITE CHECK COMMAND, THE ASSIGNED ”'&l TERS SELECTED IS THEN PASSED TO THE COMMAND INITIATION INE. THE COMMAND INITIATION ROUTINE FIRST LOOKS AT TME CYLINDER ADORESS OF THE REQUESTED OPERATION. IF THE DRIVE MUST SEEK TO ANOTHER CYLINDER 10 PERFORM THE OPERATION, THE PROGRAM ISSUES A SEARCH INSTRUCTION T0 THE DRIVE WITH A * TARGET* SECTOR MMICH IS 1 SECTOR EARLIER THAN THE ‘' TRANSFER’ SECTOR, (TMIS &L&s THE PROGRAM TO INITIATE IED SEEX ORIVE FINDS TME 'TARGET' SECTOR AND INTERRUPTS, THE PROGRAM ISSUES THE REQUESTED COMMAND TO THE DRIVE THAT INTERRUPTED. WHEN THE DATA TRANSFER OPERATION IS COMPLETE, THE DRIVE REGISTERS ARE STORED AND A DATA TRANSFER IS INITIATED FOR A WAITING ORIVE. IF THE OPERATION MAS BEEN COMPLETED NORMALLY, THE SAVED DRIVE REGISTERS ARE CHECKED TO VERIFY mrwmoxtsusn THE RM CONTROLLER mmsnmmms REGISTERS ARE CMECKED TO VERIFY T THE CORRECT NUMBER OF WORDS MAVE BEEN TRANSFERED AND THAT THE twm;xsmsanconsxsm WITH EACH OTHER; AND IF THE COMMAND WAS A READ COMMAND, THE DATA BUFFER IS COMPARED. WHEN TMIS SEQUENCE IS COMPLETED, THE DRIVE IS RETURNED TO THE ASSIGNED, INACTIVE usr THE PROGRAM THEN INITIATES A DATA TRANSFER ON A WAITING DRIVE AND u:sa.ccrs AND REINITIATES ANOTHER OPERATION ON THE RELEASED DRIVE. ERRORS WHICH OCCUR ARE PROCESSED IN THE FOLLOWING ORDER. MULTIPLE .“ CIRJ0BO APOT PERF EXER MACRD vO4.00 1-DEC 83 10:52:20 PAGE %25 5EQ 0029 USER DOCUMENTAT ION ERRORS WILL BE REPORTED AS TeE FIRST ERROR TrPE OECKED. N 'm m ;g : mm m m m,m m ERRORS NOT FLAGGED BY THE MARDWARE ERROR DETECTION LOGIC. OR WORD COUNT INCORRECT - EM4 otAADDRESS COMPARE ERRORS - NO DRIVE ERROR DETE 3 T MATOM DATA READ WITH A - EMas NO ERROR SIGNALED BY THE RM CONTROLLER ERROR BIT(S) SET, BUT uud.ms Y IDENTICAL TO THE OPERATION DESCRIBED ARE IN COMMAND SEQUENCE INITIATION m §47B5a358228 Gg DUAL PORT CONTROL CERTAIN CONDITIONS CIR080 WP Peaw EXER MACRD vO4.00 1-DEC 03 10:52:20 PAGE S USER DOCLPENTAY %0 0% | mwmwu.nmu.mamu4]e23g!mnm.mum &.umnmo:]ofC=1ookeLelm¢BG95kk!miimlmtmgli%i=; m@%kgz%;gw F3 0 PAT 1 PAT 2 —— PAT S PAT A PATS PAT 6 PAT T PAT B CIRJ0B0 WPOT PL EAER PACRD VOS.00 1-0EC 08 10:%2:0% Pack 8 27 GS i Te .mmmmmi mTe¢ ION USER DOCUENTAT e Tum g T A ST T 1811E b oaive. o CIRJORO BPOT PRGr SoiR MAlh) vou .00 | DRC 82 10 W0m P VS DOCUENTAT [ON 2 ' 0 H5 i1 . B g‘r.ggm.r.: LA = ROUTINE WELL DO A MEADIN PRESET i TE "PINIT L "0 o7 D wILL SET PR, " ERANRIRETR PRT R |sy 38 RTINS ee 9.4.1 GaL 000. WS ° b i . R 3 ‘J:! RIN ' rear o‘ - %wflt-“‘fll“. v eeas ‘e J3 = =3 AN B olb et (DA ) R 4 oo (S ¢ oe b ¢ Gata : % oV h@ Snlven : ¥W ERRON OCCUMRED mx‘.’-m”s‘. 0--50 suct § B K3 53 QUL B BT SX RIS S ol o = EVEHRERNS amuam Comex C ot il ww.:u? R o HE Ay A bt N - ey ............................................................ ".:.""s‘fi’w'-:sse.a. m&.*‘filfldhhuO““ (4 » - L3 PR- St R IS9E0 - §'g .0 A g e L ) SRS, e — s e w }: , R L T L Tl ok SRR, L X e TTMIS IS TME ACTUAL UNIBUS ADDRESS (176700) %&“i”l‘“fl.fll“.&h-fi”l - & co%r | | mcmam 1. a‘ nv’stmnmmummwv VERSION (CIRJ0-8-0) 1. .?l "M) -aunmnon-’u u&?‘!"&fi: mk'&u15 € TECTED, | N3 CZRJI0BO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE S HISTORY soLAST REVISION 25-MAY-83 1 e .TITLE as CZRJOBO RPO7 PERF EXER s*COPYRIGHT (C) 1983 1*DIGITAL EQUIPMENT CWATIOC u-ca.cmoo SPGS., CO. 80% .m BY MIKE LEAVITY .ofHIS PROGRAM WAS ASSEMBLED USING THE PDP-11 MAINDEC SYSMAC s *PACKAGE (MAINDEC-11-DZQAC-CS), 18-MAR-81 L 87 .SBTTL L OPERATIONAL SWITCH SETTINGS i SWITCH i* i* ie 1 15 13 10 ;e i ie 6 S 3% cesece 8 e 7 b 4 i i e 3 i* is ie i * 2 L ie 1 0 T 001100 104000 000004 000011 000012 000015 000200 177776 177776 177774 USE escccccccccccccascss HALT ON ERROR INHIBIT ERROR TYPEOUTS BELL ON ERROR INHIBIT END OF PASS MESSAGES DISPLAY ALL DATA COMPARE ERRORS DON'T CHANGE PARAMETERS (LOOP ON PRESENT VALUES) A. PARTIAL REGISTER DISPLAY IF ERROR 8. NO ECC CORRECTION RESULTS DISPLAYED IF ERROR A. DO NOT CHECK FOR MAXIMUM ERROR COUNTS 8. DO NOT DROP DRIVE AT END OF TEST A. DISPLAY ERROR SECTOR IF 'DCK', 'DTE', SCOPE B. DO NOT TYPE PERFORMANCE REPORT AFTER BASIC DEFINITIONS = EMT = IOT CR CRLF :g“ STKLMT = = 11 12 = 15 = 200 = 177776 : sBASIC DEFINITION OF ERROR CALL : :BASIC DEFINITION OF SCOPE CALL 13CODE FOR CARRIAGE RETURN + sCODE FOR CARRIAGE RETURN-LINE FEED + sPROCESSOR STATUS WORD $sSTACK LIMIT REGISTER = 177570 s+ tHARDWARE SWITCH REGISTER PIRQ = DDISP = 177570 000000 RO DSWR + :CODE FOR KIRIZMTAL TAB HCWE FOR LINE FEED = 177774 177772 177570 177570 177772 SPECIFIED INHIBIT DATA COMPARE AFTER READ W/0 'DCK' READ ONLY MODE s *MISCELLANEOUS DEFINITIONS HT LF 'WCF* A. DO NOT TYPE DRIVE STATUS AT PROGRAM START g;ggiTIAL AODR11°°ESS OF THE STACK POINTER #44 1100 ##= ERROR OR B. DISPLAY SECTOR IF 'DCK’' ERR UNCORRECTABLE AFTER 28TH RETRY C. IF DATA COMPARE ERROR & SWO7 SET, DISPLAY ERROR REMAINDER OF BUFFER i .SBTTL 0 + 1#PROGRAM INTERRUPT REQUEST REGISTER + tHARDWARE DISPLAY REGISTER a‘GElERlL PU!POSE REGISTER DEFINITIONS : :GENERAL REGISTER ERROR TIME B34 CIRUOBO RPQT PERF EXER MACRD V04,00 1-DEC 832 BASTC DEF INITIONS 10: 22:08 PAGE S 5EG 0039 ] 000001 000002 000003 000004 000005 000006 000007 R1 - el : sGENERAL REGISTER R3 R4 - w5 * 84 : sGENERAL REGISTER : 1IGENERAL REGISTER 000007 PC * 6 - o7 - %6 1 sGENERAL REGISTER 1 sGENERAL REGISTER 1 3STACK POINTER R2 RS R6 R7 SP . = 85 - o7 1 tGENERAL REGISTER s sGENERAL REGISTER ;s ;PROGRAM COUNTER ;*PRIORITY LEVEL DEFINITIONS PRO = 0 s ;PRIORITY LEVEL O PR1 PR2 = 40 s ;PRIORITY LEVEL 1 PR4 = 140 = 200 :sPRIORITY LEVEL 3 = 240 PR3 PRS PR6 PR7 = 100 = 300 = 340 1:PRIORITY LEVEL 2 :sPRIORITY LEVEL 4 s sPRIORITY LEVEL S ;1 sPRIORITY LEVEL 6 ;;PRIORITY LEVEL 7 ;¢"SWITCH REGISTER” SWITCH DEF INITIONS SM1S = SuW13 = 20000 SWo9 SWO08 SWO7 = 1000 = 400 = 200 SwWia Su12 SWil SW10 SW06 100000 = 40000 = 10000 = 4000 = 2000 SWOS SWOo4 SWO3 SWo2 SWo1 SKO0 SW9=SW09 SW8=SWO8 = 100 = 40 = 20 = 10 = 4 =2 = 1 SW7=SWO07 = SWO6 SW6 SWS=SW0S = S04 SW4 SW3=SW03 SW2=SW02 SW1=SWO01 SWO=SW00 soDATA BIT DEFINITIONS (BITOO TO BIT1S) BIT1S BIT14 BIT13 BIT12 BIT11 BIT10 BIT09 BITO8 = = = = = = = 100000 40000 20000 10000 4000 2000 1000 = 400 4 CIRUOBO APCTM PERF EXER MACRD vO4,.00 1 OFC 8% 10: %100 PAGk & o SEG 0040 BASIC DEF INTTIONS 000200 000100 000040 000020 000010 000004 000002 000001 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 81vor - 200 BI106 -+ 100 8I105 - &0 81704 + J0O 81708 - 10 81702 - 4 8I1or -2 8IT00 -1 BIT9-81T09 B8178-81708 BIT7-B1IT07 BIT6+-BIT06 BITS5+B1T05 BITA=BITO4 BIT3-B1703 BIT2+B1IT02 BIT1-81IT01 BITO=BITOO0 000004 000010 000014 000014 000014 000020 000024 000030 000034 000060 000064 000240 ERRVEC RESVEC TBITVEC TRTVEC BPTVEC IOTVEC PURVEC EMTVEC TRAPVEC TKVEC TPVEC PIRQVEC = = = = = =~ = = = {g"} .SBTTL RPO7 REGISTERS ig sCONTROL AND STATUS REGISTER 1 (RPCS1) 108 110 111 112 113 114 115 116 fi; 000100 000200 000400 001000 002000 020000 040000 119 3 eBASIC "C’U" TRAP VECTOR MSS(S = s3TIME OUT AND OTHER ERRORS = 10 s sRESERVED AND ILLEGAL INSTRUCTIONS = 14 $3"T" BIY IE ROY Al6 Al7 PSEL MCPE TRE 1SC = = = * = = = 14 14 20 24 30 34 60 64 240 1 : TRACE TRAP 1 sBREAKPOINT TRAP (BPT) $ s INPUT/0UTPUT TRAP (I0T) «eSCOPEees 3 :POMER FAIL $ 1iEMULATOR TRAP (EMT) «+ERRORees 13 "TRAP" TRAP #3T7TY KEYBOARD VECTOR $3T7TY PRINTER VECTOR s 1PROGRAM INTERRUPT REQUEST VECTOR 100 200 400 1000 2000 20000 40000 = 100000 1 INTERRUPT ENABLE (BIT #6) +READY (BIT #7) tMIGH ORDER BUS ADDRESS BIT (BIT e8) tHIGH ORDER BUS ADDRESS BIT (BIT #9) sPORT SELECT (BIT 010) tMASSBUSS PARITY ERROR (BIT #13) 1 TRANSFER ERROR (BIT 014) +SPECIAL CONDITION (BIT 015) sWORD COUNT REGISTER (RPMWC) igg s(EACH BIT IS CALLED BY BIT NUMBER) 122 1BUS ADDRESS REGISTER (RPBA) %gz J(E!CN BIT IS CALLED BY BIT NUMBER) 1222 sCONTROL AND STATUS REGISTER 2 (RPCS2) 127 128 129 000001 000002 000004 Us1 us2 US4 =1 -2 -4 tUNIT SELECT (BIT #0) tUNIT SELECT (BIT 01) tUNIT SELECT (BIT e2) CoRJOBRO APO TM PER® EYXER MACRD vO4.00 1 DEC B2 10:58:08 PAGH 5 8 D4 560 004) 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 B8Al PAT CLR ] OR MDPE MxF PGE NEM NED UPE WCE oLY « 10 + 20 » &0 « 100 « 200 * 400 = 1000 = 2000 = 4000 * 10000 « 20000 * 40000 = 100000 1BUS ADDRESS INCREMENT INMIBIT (BIT o%) sMASSBUS PARITY TEST (BIT e4) 1CLEAR (BIT #5) 1 INPUT READY (BIT #6) 1OUTPUT READY (BIT o7) tMASS BUS PARITY ERROR (BIT e8) tMISSED TRANSFER ERROR (BIT #9) 1PROGRAM ERROR (BIT #10) lm EXISTENT MEMORY (BIT #11) yNON EXISTENT DRIVE (BIT #12) tUNIBUS PARITY ERROR (BIT #13) IMRITE CHECK ERROR (BIT 014) sDATA LATE (BIT a15) sDATA BUFFER REGISTER (RPDB) sCEACH BIT IS CALLED By BIT NUMBER) .SBTTL RPO7 REGISTERS tDEVICE AVAILABLE h Y $-14 e I R I 40 = 4000 [ XX 1. X ] DvA TMM oy e B Fa g8 = 10 = 20 -4 ¥ F2 F3 Fl 1GO BIT (BIT #0) e o 3 -2 2 GO FO ey sCONTROL AND STATUS 1| REGISTER. (000? .. 55 95 54 08 4 0o 00 08 AT L 0550 - @» -4:00 :uNMO g Eet B ) Pt4 RPO” REGISTERS (BIT 011) 1DRIVE STATUS REGISTER (RPDS1) (001) OFFON EWN ILv vV DRY DPR PGM = 1 .2 -4 = 100 - 200 = 400 * 1000 LBT WRL MOL = 2000 = 4000 = 10000 ERR = 40000 PIP ATA = 20000 * 100000 tOFFSET ON (BIT #0) 1EARLY WARNING (BIT 1) s INTERLEAVE (BIT #2) s VOLUME VALID (BIT #6) 1DRIVE READY (BIT #7) tDRIVE PRESENT (BIT #8) 1PROGRAMABLE (BIT #9) lLASY SECTOR TRANSFERRED (BIT #10) IWRITE LOCK (BIT #11) tMEDIUM ON-LINE (BIT 012) tPOSITIONING OPERATION IN PROGRESS (BIT #13) 1COMPOSITE ERROR (BIT 014) sATTENTION ACTIVE (BIT #15) 1ERROR REGISTER 001 (RPER1) (002) ILF ILR RMR PAR FER WCF 001000 ECH HCE HCRC AOE L .2 -4 = 10 - 20 - 40 = = = = 100 200 400 1000 s ILLEGAL FUNCTION (BIT #0) s ILLEGAL REGISTER (BIT 1) tREGISTER MODIFICATION REFUSED (BIT @2) tPARITY ERROR (BIT #3) 1FORMAT ERROR (BIT #4) tWRITE CLOCK FAIL (BIT #5) 1ECC HARD ERROR (BIT #6) tHEADER COMPARE ERROR (BIT #7) tMEADER CRC ERROR (BIT #8) +ADDRESS OVERFLOW ERROR (BIT #9) C2R 080 ":t?.’fl. EXER MACRD vOS8.00 1-DEC 8% 10:52:28 PAGF S & ta S5EQ 0042 PO° RECIS LAt s INVALID ADDRESS ERROR (BIT #10) tMRITE LOCx ERROR (BIT 011) JORIVE TIMING ERROR (BIT 012) Wk DTE Pl tOPERATION INCOMPLETE (BIT 013) 1ORIVE UNSAFE (BIT 014) UNS 0Cx sDATA CHECX ERROR (BIT 15) IMAINTENANCE REGISTER (RPMR] )(003) 000100 000200 ATO AT) AT AT ATS ATS AT AT? 835~ (-] - JATTENTION SUMMARY PSEUDO-REGISTER (RPAS) (004) +DEVICE O (BIT +DEVICE 1 (BIT +DEVICE 2 (BIT 'DEVICE 3 (BIT #0) #01) #2) o3 sDEVICE 4 (BIT #4) IOEVICE & (811 86) 10EVICE g g'l' o) . sDESIRED SECTOR/TRACK ADDRESS REGISTER (RPDA) (005) TM4 8 o 0700 prTo1 pro2 oT03 0704 DT0S D706 oT0? DY08 DRQ MOH TAP NSA L tORIVE TYPE REGISTER (RPDT) (006) 100000 1ORIVE 1ORIVE sORIVE tORIVE 1DRIVE 1ORIVE 1ORIVE 1ORIVE TYPE MUMBER B1T 1 TYPE MUMBER =" g TYPE MUMBER B17 TYPE MUMBER BIT 4 TYPE MUMBER BIT S TYPE MUMBER =11 6 TYPE MUMBER BITY 7 TYPE MUMBER BIT 8 1ORIVE TYPE [V, 13R BIT 9 sORIVE REQUEST REQUIRED (BIT #11) sMOVING MEAD (BIT 013) sTAPE DRIVE (BIT 014) sNOT SECTOR ADDRESSED (BIT #15) sC1 sSECTOR COUNT FIELD O (BIT #6) sC10 100 200 400 1000 $C100 10000 1SECTOR COUNT FIELD 6 (BIT #12) — i »- 8 - 8 sLOOK -AMEAD REGISTER (RPLA) (007) 1SECTOR FIELD 1 (BIT #7) 1SECTOR FIELD s (BIT ¢8) 1SECTOR % FIELD 3 (BIT #9) 1SECTOR FIELD 4 (BIT #10) 1SECTOR COUNT FIELD S (BIT #11) 1SERIAL NUMBER REGISTER (RPSN) (010) +(EACH IS CALLED BY BIT NUMBER ) OFFDIR HCI 1RPOT OFFSET DIRECTION FMT16 1FORMAT BIT (BIT #12) ECI tMEADER COMPARE INMIBIT (BIT #10) tERROR CORRECTION CODE INMIBIT (BIT 011) W— fi 1OFFSET REGISTER (RPOF) (011) i 4 gm AP0 PLAF EXER MACRD vO8.00 1 -DEC 8% 10:32:0% Pagk S S T MECIsTems ol 1515 CALLED 87 BIY msweR) CEACw 817 13 CALLED 87 811 rwen) [ 3 APOT ERROR REGISTER 02 (RPER2) (014) (-] o - R YUNS — ——- e JOES SEQ 00l % uL0=~ [X'—-1 PuE WRPOT ERROR REGISTER 03 (RPERS) (Mn13) §838383 = & . @ : ECC PATTERN REGISTER (RPE CEACH BIT IS CALLED BY 81 v .) ---~~em S~ LSBTR i = ;i:i 2S -l g;a A R Sy : i\ SRS o7 DRIVER COMMDS Ft B =i . g = § SNFVBUNIYSRRE o veenim £504000 o7 Srav §uER MACRD ¥04.00 | -DEC 83 10,8208 PAGE & seQ cose BP0 I M e 2 PR EWER ADRD v0R 00 | JEC 88 10 i ST s 000200 — EQ 00es CAtDee e 3 ¢ SBTIL OOFS2 M STARTING ACORESSCES) s ‘M 000137 oO¥S2 ewramn PEe— MBI ISR AP S 10 STARTING ACORESS OF PROGAAM LOWNGE TTME Bm1/a907 ADORESS ACTIL WOORS — el S— ST T PeamwETER SO 000088 032054 é e Y saveEmmanEme 23 0001S? 0m Pk a4 [te. 398 o S .mmwnnmv“--.uo .htwu-unanmmm - : .y#%z.......... n!p g‘g i {3 — S Y »mmw-m-nmmmm 0“.. n "G ie fisaseees HHHHH m&”‘“l‘. 90:92.50 SugE 0 1 poi-¢ S [}St oot ot £ * 3 2 ~agdy me L ARG TR BRI) BT é Hilllululul w 1% e - . m R € AR A§ 0R Wmmt-mm,otqnm“u‘on e D L4 . A Ssooss PR, e fi E 18 28 8 w Soiese Sorses me W TN IGNED, S - O Y R swccnen 1 : cumun % AT s IR DOCON MR ERRRE 14100 4(2.38 % 108 MOROE) OB (4.126 X 10°9 BITS) MO e e | Mg : gm WPOT PR AR MACRD vOR .00 1 OEC 8% 1080 0% Pk 9 PAnae rg o5 MATI0: 001508 000001 OOING: : 001508 000001 w10 . 001510 000000 L, 0 N o 8 001516 000400 BEGMC: .MORD .SBTTL 2%6. —f i ; nmv fawet & - 837 cur‘«m NOT USED) ’ .fl m;.)‘ = NOT, USED) - ve -_- o veeeld % -+ & .stmns w0 u’?‘ WROCNT) TABLES, CONSTANTS, AND VARIABLE LOCATIONS Lmvmmm | r ] sA BIT SET IS AN ASSIGNED DRIVE e ® 3 .ewp ::533 000003 w 001%02 ] }-“C-” 10:32:28 PAGE 9-3 JOBO RPO7 PERF EXER MACRO vO4. ABLES, CONSTANTS, AND VARIABLE LOCATIONS LMORD .WMORD 001562 001564 N4 O O s ADDRESSES OF NEMLY ASSIGNED DRIVES NEWUNT: .WORD .MORD .MORD .MORD .WORD .MORD .MORD .WMORD .WMORD © O © O O © O O O ;LIST OF DRIVES WAITING FOR BUFFERS/PARAMETERS AVAIL: .WORD .MORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD O O O © O O O O O ;LIST OF DRIVES WAITING FOR BUFFERS WAIT: .WORD O ‘WORD O .WORD ‘"WORD .WORD .WORD .WORD .WORD .WMORD O O O O O O O 0000000000000 00000 S ;BUFFER ALLOCATION TABLE ENTRY COUNT BUFTBL : £ JRJIOBO RPOT PERF EXER MACRO vO4.00 1-DEC 82 TABLES, CONSTANTS, 001766 001772 AND VARIABLE LOCATIONS 001776 002002 002006 002012 002016 002022 002026 002032 002036 002042 002046 002052 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 002056 002060 046314 046556 10:%2:28 PAGF 000000 000000 000000 000000 000000 000000 000000 0000CO 000000 000000 000000 000000 000000 000000 9 4 .WORD .WORD 0,0 0,0 .WORD .WMORD 0,0 0,0 .MORD .WORD .WORD .MORD .WORD .WORD .WORD .WORD .MORD .WORD 5EQ 00Se 0,0 0,0 0,0 <C,0 0,0 0,0 0,0 0,0 0,0 0,0 ;ORIVE PARAMETER BLOCK(DPB) POINTER TABLE BLKADR: .WORD .WORD 047020 047262 047524 047766 050230 050472 002076 002077 002100 002101 002102 002103 iS5l 377 161 377 171 173 ;ORIVER COMMAND CONTROL COMTBL: .BYTE WCKD .BYTE -1 .BYTE WRTDAT .BYTE -1 .BYTE RDDAT .BYTE RDHD TABLE (USED IN RP DRIVER) tWRITE CHECK DATA sWRITE CHECK HEADER AND DATA (NOT USED) ;;WRITE DATA sFORMAT TRACK (NOT USED) ;READ DATA t1READ HEADER AND DATA 002104 002105 002106 002107 002110 002111 002112 002113 002114 002115 002116 002117 002120 002121 002122 004 006 010 012 016 020 022 030 050 052 060 062 070 072 377 sFUNCTIONCCOMMAND) CODE OPTBL: .BYTE 4 .BYTE 6 .BYTE 10 .BYTE 12 .BYTE 16 .BYTE 20 BYTE 22 BYTE 30 BYTE SO .BYTE S2 .BYTE 60 .BYTE 62 .BYTE 70 .BYTE 72 .BYTE -1 CONTROL TABLE + SEEK +RECAL 002164 123 122 104 122 122 DRIVE2 DRIVE3S DRIVE4 DRIVES DRIVE6 DRIVE? ;ADDRESS OF THE PARAMETER BLOCK FOR DRIVE O ;ADDRESS OF THE PARAMETER BLOCK FOR DRIVE 1 002062 002064 002066 002070 002072 002074 002124 002134 002144 002154 .WORD .WORD .WORD .WMORD .WORD .WORD DRIVEO DRIVE1 .EVEN 105 105 122 105 124 105 103 126 114 103 ;ADDRESS ;ADDRESS ;ADDRESS ;ADDRESS ;ADDRESS ;ADDRESS OF OF OF OF OF OF /RTC PARAMETER PARAMETER PARAMETER PARAMETER PARAMETER PARAMETER BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK tDRIVE CLEAR tRELEASE tRETURN TO CENTERLINE t1READIN PRESET 1PACK ACKNOWLEDGE 1 SEARCH IWRITE CHECK DATA tWRITE CHECK HEADER AND DATA tWRITE DATA 1FORMAT TRACK tREAD DATA tREAD HEADER AND DATA 1 TERMINATOR sMESSAGE CONTROL TABLE FOR 'OPTBL®‘ MNTBL: .ASCIZ /SEEK 7/ .ASCIZ /RECAL / .ASCIZ /DRVCLR / .ASCIZ /RELSE 7/ .ASCIZ THE THE THE THE THE THE / TABLE FOR FOR FOR FOR FOR FOR DRIVE DRIVE DRIVE DRIVE DRIVE DRIVE 2 3 4 S 6 7 (‘( - CIRIOBRY AP0TM PERF EXER MACRDO vO4.00 1 DEC 82 10:50:08 PAGE 9 5 TABLES, CONSTANTS, AND VARIABLE LOCATIONS 002224 127 103 118 LASCIZ 122 104 ilo 002214 123 002234 002264 002254 002264 127 127 106 122 002304 11e 002274 105 108 122 115 104 117 101 113 124 124 104 116 ASCIZ /READIN / /PACK 7 /7SEARCH . /wWCxD LASCIZ LASCIZ LASCIZ LASCIZ /uWCkMD /MRTDAT /FMTRK /RDDAT LASCIZ /NONE ASC1Z /RDMD 7 7/ / 7/ 7/ 7/ 7/ . LASCIZ ASCIZ — 101 103 o 105 101 . 12¢ 120 . 02174 02204 G 0058 g:‘:um APOT PERF EXER MACRD voe .00 e-RC 83 10:52:28 PAGF Se CONSTANTS, AND VARIABLE OCATIONS 10 D% 0 0054 sSTANDARD DATA PATTERN POINTER TABLE STNDAT; 1STANDARD DATA PATTERN O sSTANDARD DATA PATTERN 1 sSTANDARD DATA PATTERN 2 1sSTANDARD DATA PATTERN 3 1STANDARD DATA PATTERN 4 sSTANDARD DATA PATTERN S sSTANDARD DATA PATTERN 6 1sSTANDARD DATA PATTERN 7 sSTANDARD DATA PATTERN 8 1STANDARD DATA PATTERN 9 sSTANDARD DATA PATTERN 10 sSTANDARD DATA PATTERN 11 sSTANDARD DATA PATTERN 12 sSTANDARD DATA PATTERN 13 sSTANDARD DATA PATTERN 14 1STANDARD DATA PATTERN 15 sALL 0'S PATTERN tALL 1'S PATTERN sALL 0'S DATA PATTERN DATAL: 1STANDARD PATTERN 1 PR — ZERQS: DATAO: 002460 177776 000777 001777 003777 007777 017777 037777 077777 irmmm DATA2: 177776 { 001777 003777 007777 017777 037777 077777 177777 1 002442 002444 002446 002450 002452 002454 002456 1STANDARD PATTERN 2 CIRIOBO APOT PERF EXER MACRD vO4.00 1-DEC 8% 10:52:28 PAGE 101 kS TABLES, CONSTANTS, AND VARIABLE LOCATIONS 002472 002474 002476 002500 002504 002506 177700 177600 177400 177000 176000 174000 170000 002512 002514 140000 100000 002520 000000 002502 002510 002516 002522 002524 002526 002530 002532 002534 00253 002540 002542 002544 002546 002550 002552 002554 002556 LMORD LHORD LMORD LMORD LMORD LMORD LMORD LMORD 000000 DATAS: 13333 133331 133331 133331 133331 133331 133331 133331 133331 133331 002620 002622 002624 002626 002630 002632 002634 052525 052525 052525 125252 125252 125252 052525 140000 100000 160000 LMORD 000000 .WORD 000000 .HORD 000000 .MORD LMORD LMORD LMORD .MORD LMORD LMORD LMORD . WORD 177777 000000 177777 000000 177777 133331 133331 133331 LMORD MORD LMORD 177777 177777 177777 000000 000000 177777 177777 000000 002560 002562 002564 002566 002570 002572 002574 002576 002600 002602 002604 002606 002610 002612 002614 002616 LMORD .MORD 177700 177600 177400 177000 176000 174000 170000 MORD 160000 177774 177770 177760 177740 - 177774 177770 177760 177740 000000 ;STANDARD PATTERN S 177777 177777 177777 000000 000000 177777 177777 LMORD . WORD LMORD . WORD LMORD 177777 DATA4: .WORD .MORD LMORD LMORD LMORD .MORD .MORD LMORD .MORD LMORD .MORD .MORD .MORD .MORD .MORD LMORD 133331 133331 133331 133331 133331 133331 1333351 133331 133331 133331 133331 133331 133331 133331 133331 133331 ;STANDARD PATTERN 4 DATAS: .WORD LMORD .MORD .MORD .WORD .MORD .MORD 0352525 052525 052525 125252 125252 125252 052525 STANDARD PATTERN S 133331 133331 133331 SEQ 00SS —— . ———— — 002462 002464 002466 002470 : 177777 A77TTTY fam APOT PERF EXER MACRD vO4.00 ‘ac-u 10:82:28 PAGE 102 ABLES, CONSTANTS, AND VARIABLE LOCATIONS 052525 MORD 60 0056 052525 — - 002636 : - MORD 002656 125252 002660 002662 147556 147556 002666 002670 002672 002678 002676 002700 002702 002708 187556 147556 147556 147556 147556 147556 147556 147556 147556 147556 147556 147556 147556 002706 002710 002712 002718 002716 002720 ;?”s 002722 133333 002724 155555 002726 133333 002730 002732 133333 002734 002736 133333 002740 002742 002744 002746 002750 002752 002754 002756 -~ o B DATAS: DATA?: 002770 002772 002774 002776 003000 003002 003004 003006 003010 030221 030221 030221 030221 030221 030221 030221 030221 030221 030221 .MORD MORD 147556 147556 MORD MORD LMORD JMORD MORD JMORD JMORD MORD JMORD JMORD JMORD LMORD MORD 147556 147556 147556 147556 147556 147556 147556 147556 .WORD LMORD - WORD .MORD JMORD JMORD JMORD MORD MORD JMORD JMORD 155555 133333 155555 030221 030221 030221 125252 LMORD 133333 155555 133333 002760 002762 002764 JMORD JMORD JMORD JMORD - MORD DATAS: .MORD .MORD JMORD JMORD JMORD .MORD JMORD JMORD .MORD JMORD JMORD .MORD .MORD —— povors S 00058 852528 STANDARD PATTERN & (NOT WORST CASE) 147556 147556 147556 147556 147556 133333 +STANDARD PATTERN 7 $5% 133333 15555S 133333 155555 133333 1 1 15555S 123333 155558 133333 155555 030221 030221 030221 030221 030221 030221 030221 030221 030221 030221 030221 030221 030221 ;STANDARD PATTERN 8 (WORST CASE) S— 002646 i ;i 3 $#EREELLEEEE i H TR i it Siis 0031 7 e 155555 005154 005156 172666 155555 005160 003162 OT7TTY 137TTM? DATAL2: R S 1STANDARD PATTERN 10 1STANDARD PATTERN 11 T 008 1STADARD PATTERN 9 1STANDARD PATTERN 12 5 0081 0031 DATALL: 55 BRRERRERAEANAEH BERGERRERNENNH BORERAERNANNN BAd we L 4 s i ; Fhte carseisiiail DI DATAL10: S£Q 0087 &4 m S0 00se | ! D i =§= IS i . S0 o8y | ‘ EL0000 5007 Py LOER SRORD 96000 | EC 88 19.%0.08 Puk 11 SOk Lt B m fi g B LAY B mee g CONTEALLER INTEAMST CCUARED (WPag o« 0) B B 58 4.4 .o % 203422 0540M O‘fi 0“-00 !g B 2 . L 4 Y1 i ww.*nn RC 90 0. .00 PuE W2 -~ . - e — ——— e B ST e mamam e T - e = ?s“f’i*"-—: 12716 003728 Ni. 80, & a.(” — KS Emes= —g 3. s £ -~ = o: i 1 i i 0l 1 i v 82 LS s My s ol v carss Soeesd PEP POSPIN 7 Do8se o~ a iy e &° = iR SUEE GRFve TR B st €8 0084 008737 a3 ' 033510 ] o STt REEh & SR =" W 2 & ©O1 gm«c 000403 00sess 105737 001262 001272 001150 LR L S. o6 e ovth hd facls ’ 2 001276 76 008434 l weo TM el U O n "80a0 NTEamSt u,w. JAPVEC 3 Sl aw SeCT - SOASE.0NPAOR o INEw BASE ACORESS | s 1ST8 sAUTO JANING D AUTO MODE ? " CLR 2 STATIN RN . hon. eo w3 SVt 75 630038 B So T8} eeae AONQE$§ BEE wen ., ..; | B Awe, e e SRS g 0teT2 003037 Sorsie 84 008508 :3§ . 86 004310 Oois7E 901100 Coooe 87 004512 85 004508 022 88 004516 005037 177776 89 004522 013757 001512 001346 90 004530 005037 001340 91 004534 005037 001342 92 004540 005037 001344 93 004544 003037 001472 95 004556 005037 001334 004576 004602 005037 005037 047414 004612 004616 005037 005037 050 104 004626 105 004634 032777 001402 000001 94 004550 013737 001462 001464 98 004562 005037 Q04366 005037 Q46710 004572 005037 047 004606 005037 E MOV ar MOV § MOV g . GLR CLR CLR 050120 103 004622 005037 001424 | CLR 174320 & SSTACK.SP .ln ¥ r?!o&' NOT . - - - es NINUTE SECo PTIN. - FOR €MD AREA u ssansnmm JRESTORE ; OPTING . m HOUR"S COUNTER VALUE COUNTER T %m IVEOs 0F IRST DRIVEL+$F IRST DRIVE2+$FIRST SET TM IFIRST FLAG FOR DAIVE 0 .atsu IFIRST FLAG FOR DR SET SFINST FUAC FOR ORIV oF JRESET $FIRST FLAG FOR DRIVE S DRIVES.SFIRST DRIVEA+SFIRST CLR CLR DRIVEG.SFIRST DRIVE7+$FIRST BIT BEQ @SW0,BSWR 8¢ CLR ST TYPEOUT FLAG Y JRESET SFIRST FLAG FOR DRIVE JRESET $FIRST FLAG FOR DRIVE & JRESET $FIRST FLAG FOR DRIVE 6 JRESET SFIRST FLAG FOR DRIVE 7 READ/MRITE CONDITION 11S EXERCISER IN ‘READ ONLY' NO MODE ? fl g?m RPO7 PERF EXER MACRO vO4 .00 1-DEC-83 10:352:28 PAGE 12-3 VALUE FOR SOF TWARE SWITCH REGISTER 0052387 INC 001424 ROONL¥ sLOCK PROGRAM IN "READ ONLY* MCDE sSEE IF OPERATOR WANTS MELP TEXT PRINTED 7578 001150 BNE INC BNE 177777 064370 9%: TYPE ROLIN MOV TST 001334 BNE SAUTOB sAUTO MODE ? 1BR IF YES ;FIRST TIME THRU MERE NO IF R :B sTYPE ? 'TYPE MELP MESSAGE (L) N 2?2 * sREAD THE ENTRY sSAVE ADDRESS OF RESPONSE sWAS (*C) TYPED? ;B8R IF YES ;WAS RESPONSE A CARRIAGE RETURN ? ;BR IF YES (DEFAULT) sWAS IT TERMINATED WITH CARRIAGE RETURN ? 1BR IF NO ;WAS IT A 'Y’ RESPONSE ? ;BR IF YES ;WAS IT A ‘N’ RESPONSE ? 000001 000131 000116 060163 10%: 057077 118: 064500 12%: 13$: :BR IF YES ;TYPE BAD ENTRY MESSAGE : TRY AGAIN sTYPE 'NO DEFAULT' s TRY AGAIN : TYPE HELP TEXT MESSAGE CZRIOBO RPOT PERF EXER MACRO vO04.00 1-DEC 83 10:3.0:°8 PAGF GEY VALLE FOR SOF TWARE SWITCH REGISTER 1 ‘; 12 i}»' ) SEQ 0065 +AUTO SIZE FOR RH70 CONTROLLER AND DETERMINE s JUMPERED FOR 22 OR 32 REGISTERS 4 004742 S 004746 6 004754 T 004760 8 004766 9 004772 10 il 12 13 14 15 16 17 18 004776 005002 005004 005006 005014 005016 005020 005022 005030 22 23 24 25 26 27 28 29 30 31 32 33 34 005040 005044 005050 005052 005054 005060 005064 005066 005070 005072 005076 005100 005106 19 005032 5(1) 005036 005037 040646 013700 062700 001272 000050 042737 013746 012737 012701 005720 005720 012737 005720 005301 001375 012737 000403 174000 000004 005032 001234 SIZE70: 000004 000012 000050 040646 000074 040646 18: 012716 000002 005040 2s: 013700 013701 001416 060001 052710 022711 001010 005011 011046 042726 001003 052737 012637 001272 040646 3%: ’ 001400 000003 176377 030000 000004 001234 4s: IF IT IS CLR RHEXT 1CLEAR RPBAE OFFSET MOV ACD $RPADR,RO #50,R0 :GET RPCS1 ADDRESS +GET REGISTER OFFSET FOR RH70 MOV RTI 23s,(SP) 1SETUP RETURN ADDRESS BIC MOV MOV MOV TST 1ST MOV TST DEC BNE MOV BR MOV MOV BEQ ADD BIS cMP BNE CLR MOV 8IC BNE BIS MOV ©174000, $CPUOP ERRVEC, -(SP) 924 ,ERRVEC 210, .R1 (RGC). (RO). 050 ,RHEXT (RO)« R1 13 074 ,RHEXT 3s ;CLEAR CPU TYPE REGISTER s SAVE CONTENTS OF ERROR VECTOR 1SETUP ‘TRAP' RETURN ADDRESS tGET NUMBER OF REGISTERS TO CHECK :TRAP IF NOT A VALID RPBAE s TRAP IF NOT A VALID RPCS3 sLOAD OFFSET FOR RPBAE (22 REGISTER RM) s TRAP IF NOT A VALID REGISTER sDONE WITH ALL 32 REGISTERS ? iBR IF NO sLOAD OFFSET FOR RPBAE (32 REGISTER RM) $RPADR,RO tGET RPCS1 REGISTER RHEXT ,R1 sGET RPBAE REGISTER OFFSET L :BR IF NONE RO,R1 :GET RPBAE REGISTER @A17!A16,(RO) ;SET EXTENDED ADDRESS BITS IN RPCS1 03,(R1) sARE THE EXTENDED BITS SET IN RPBAE ? a4 18R IF NO (R1) sCLEAR EXTENDED ADDRESS BITS IN RPBAE (RO), -(SP) $SAVE RPCS1 REG CONTENTS 0tC<A17!A16>,(SP). sARE THE EXTEND BITS CLEAR IN RPCS1 4% :BR IF NO oBIT13!BIT12, $CPUOP $SET THE 11/70 CPU TYPE CODE (SP)+ ,ERRVEC sRESTORE CONTENTS OF ERROR VECTOR ? wn CIRIOBO RPOT PERF EXER MACRD vO4.00 1 DEC 83 10:352:28 PAGE GET VALLE FOR SOF TWARE SWITCH REGISTER B . sROUTINE f 005112 005227 177777 S 005120 ¢ 005124 004737 013737 062344 062474 001330 8 005140 012737 064370 001656 i0 005154 il 005162 12 005164 15 005172 023727 101403 012737 162737 001330 4 005116 001005 T 0051352 012737 000001 9 005146 14 005200 15 005202 16 005206 17 005212 18 005214 19 005222 20 005230 21 005232 22 005240 23 005246 013737 000241 006037 105737 001403 162737 023737 003406 013757 013737 001330 160000 064370 SI7TMEM: 001654 18: 001660 160000 001660 001660 2%: 001660 001150 003000 001466 001660 001660 001660 001466 001466 060646 3%: as: 14 TO DETERMINE SEG 0068 B FFER MAX WORD COUNT INC -1 FIRST TIME THRU HERE ? JSR MOV PC,ISI12¢ SLSTAD,LSTAD s SEE MOW MUCH MEMORY ON SYSTEM 1SAVE THE LAST ADDRESS MOV SENDPGM, BUF TBL +2 BNE MOV 18 o1,8uF TBL MOV LSTAD,BUF TBL +4 CLC ROR 1ST8 BEQ SuUB ce BLE MOV MOV BUr TBL -4 $AUTOB 34 01536, .BUFTBL +4 WRODCNT ,BUFTBL +4 a3 BUF TBL +4 ,WRDCNT WRDCNT ,PARLST+2 cw 8L0S MOV suB 18R _IF NO s1LOAD NUMBER OF BUFFERS s STARTING ADDRESS OF BUFFER ;LAST ADDR TO BUFFER ALLOCATION TASLE LSTAD,#160000 ;OVER 28k ? 28 1NO #160000,8UF TBL -4 1 XXDP MAX MEMORY 28K OENDPGM,BLF TBL -4 1SUBTRACT PROGRAM SPACE sCLEAR THE ‘C* BITY sCONVERT TO WORD COUNT sRUNNING IN AUTO MODE ? 18R _IF NO ;SUBTRACT 'XXDP* LOADER SIZE (1.5K WORDS) ;IS MAX WORD COUNT TOO LARGE ? 1BR_IF NO ;USE MAX AVAIL MEMORY AS MAX WRD CNT ;VALUE FOR THE PARAMETER TABLE . CIRIOBO RPOT PERF EXER MACRD vO4.00 1-DEC 8% 10:5.:278 PAGE GEY VALLE FOR SOF TWARE SWITCH REGISTER i $SEE .« £ 005246 4 005252 10 005260 14 005264 15 005266 {g 005274 005737 001154 105737 001404 032777 001467 040100 i8 005276 19 005302 20 005306 005037 104401 104411 001334 060306 21 005310 22 005312 25 0053516 24 005320 25 005322 26 005 27 005330 28 005332 29 005336 30 005340 51 005344 012600 005737 001353 105710 001454 105760 001006 122710 001406 PuRF LG SE TVEC SAUTOB 14 25W02 , ISR as (RETURNING FROM POMER FAIL ? 1BRANCH IF YES tRUNNING IN AUTO MODE ? 18R _IF NO 1DOES USER WANT MANUAL INTERVENTION ? 18R IF YES 18: CLR 1 YPE ROL IN AG JMESFE sCLEAR CONTROL C FLAG 1TYPE ‘DO YOU WANT TO WRITE ANYWMERE ON MEDIA (L) N ?° sREAD THE ENTRY 173660 000001 000131 000116 32 005346 33 005352 104401 000735 060163 24%: 005737 001032 001424 3s: 37 005362 005037 001334 4s: 34 005354 35 005360 g: 005366 40 41 005372 42 005374 43 44 45 46 005376 005402 005404 005406 47 005410 48 005414 49 005416 51 005424 52 005430 S3 005432 54 005436 S5 005440 005444 57 005446 58 005452 59 005454 104401 060367 104411 © 001334 122710 000131 122710 001411 104401 000751 104401 000746 005237 000402 104401 000116 001411 MOV TST BNE 1578 BEQ 1ST8 BNE cv8 BEQ (SP)« RO CFLAG LKPAR (RO) 8s 1(RO) 2% ¢ v,(RO) TYPE BR +BADENT LKPAR 8 JEQ ROONL Y 74 CLR CFLAG TYPE MOV 1S7 BNE 1ST8 BEQ 000001 TST8 BEQ 060163 Ss: 057077 64: 001422 74: 060531 8¢: 9: 61 005460 62 005464 :g 005466 005737 001402 104401 001424 86 005472 005037 001334 060570 13¢: ®'N,(RO) as TST BNE ROL IN 005737 001321 105710 001414 105760 001006 TeE OPERATOR WANTS TO CHANGE ANY PARAME TERS 151 BNE 1578 BEQ 81t BEQ 001334 122710 001443 S5EQ 0067 LEPAR: 001150 000004 IF 15 i)'v «OVRWRT 1 SAVE ADDRESS OF RESPONSE sWAS IT CONTROL C ? 18R IF YES tWAS RESPONSE A CARRIAGE RETURN ? 18R IF YES tWAS IT TERMINATED WITHM CARRIAGE RETURN ? 18R _IF NO tMAS IT A 'Y* RESPONSE ? 18R IF YES tMAS IT A ‘N’ 1BR_IF YES :TYPE BAD ENTRY MESSAGE s TRY AGAIN 1PROGRAM RUNNING IN READ ONLY MODE 18R IF YES (SP)+ .RO 1(RO) Ss ' Y,(RO) ? sCLEAR CONTROL C FLAG sTYPE * ! CUSTOMER DATA WILL BE OVERWRITTEN ! ' ..................................... sCONTINUE (L) CFLAG LKPAR (RO) 64 RESPONSE ? iREAD THE ENTRY 7?2 1SAVE ADDRESS OF RESPONSE tWAS IT CONTROL C ? i8R _IF YES tWAS RESPONSE A CARRIAGE RETURN ? 18R _IF YES tWAS IT TERMINATED WITH CARRIAGE RETURN ? 18R _IF NO tMWAS IT A 1BR IF YES ‘Y RESPONSE ? BEQ TYPE BR TYPE BR INC BR TYPE ®'N,(RO) 8s +BADENT 4 +NODFLT 4 TSTANY 9 +FEONLY 1WAS IT A 'N' RESPONSE ? 1BR _IF YES 1 TYPE BAD ENTRY MESSAGE 1 TRY AGAIN 1 TYPE *'NO DEFAWLT' s TRY AGAIN 1ENABLE TEST ANYWHERE OPTION TST BEQ TYPE RDONL Y 138 +MREAD + IS PROGRAM LOCKED IN “READ ONLY" MODE ? 1BR_IF NO 1TYPE ' PROGRAM IS LOCKED IN *‘READ ONLY' CLR CFLAG tCLEAR CONTROL C FLAG 1TYPE ‘e TESTING WILL OCCUR ON FE CYLINDER ONLY o' MODE »' CIRJI0BO RPOT PERF EXER MACRD vO4.00 1-0EC 83 10:%2:28 PAGE 15-1 GET VALUE FOR SOF TWARE SMITCH REGISTER 001150 3% 1578 am otBt s 060740 001334 000131 000116 060163 144 ie3e3R - 000001 e 5£Q 0068 S$AUTOB nw IN AUTO MODE ? ASKPAR 1 TYPE m PARAME TERS 2 SETVEC ’ l“‘ THE ENTRY 1SAVE ADDRESS OF RESPONSE tWAS (*C) TYPED? 18R IF YES l#;m A CARRIAGE RETURN (DEFALT ‘N*)? sWAS IT TERMINATED WITH CARRIAGE RETURN ? 1BR IF NO sMAS IT A "Y' IF YES RESPONSE ? 012703 023727 103003 012757 060644 031170 001466 000006 000006 001466 32358 15¢: 1PARAMETER TABLE ADDRESS 1GET THE PARAMETER ENTRY 1IS THE ‘WROCONT' VALUE Ox ? 18R IF IT IS :SET "WRODCNT' TO THE MINIMUM VALUE P13t Ittt AP JRIOBO AP0 PEA EXER MACRD vO4.00 1-DEC-88 10:52:20 PAGF T VALAE FOR SO TWARE SWITOw REGISTER Fe 1e 5£Q 0069 DISPLAY DRIVE STATUS MND SET UP THE OTHER SYSTEM DEVICES TeAT 1T PROGRAM wILL USE SETVEC: JSR PROGRAM RETURN MERE ON POMER FAIL PC.OxCLx 1START TME CLOCK sINITIALIZE TVE RPOT DRIVER 1SET TME SAVE REGISTERS FLAG FIRST TIME TRV ? YES 18R 000004 1733510 JRETURNING FROM POMER FAIL ? sBRANCH IF YES 14: ?fl 2% TYPE vPE MOV s TYPEQUT THE DRIVE STATUS TABLE ? BR IF NOT sORIVE TABLE POINTER ag':"fltfl STATUS . - $sSAVE R4 FOR TYPEOUT s3TYPE DRIVE NMUMBER 1160 TYPE--OCTAL ASCII ssTYPE 2 DIGIT(S) .‘mss LEADING ZEROS +TYPE & BLANKS 1CHECK DRIVE'S STATUS 18R IF UNSAFE 18R IF OMLINE 001020 105764 +SEE _IF OFFLINE OR NONEXISTENT 18R IF NONEXISTENT 18R _IF OFFLINE 1ORIVE NOT AN RPO7 sCHECK NEXT DRIVE - 104401 001430 34: sORIVE NOT PRESENT a8 1DRIVE OFFLINE sCHECK NEXT DRIVE +PRINT DRIVE TYPE S TYPE BR 64: TSY 001430 057041 78: 84 BR TYPE TYPE 1ORIVE UNSAFE sPRINT DRIVE TYPE sLOADED FROM THMIS DEVICE ? 1BR IF NO sLOADED FROM THMIS DRIVE ? 1BR IF NO 1 TYPE 'LOAD DEVICE' 1DRIVE ONLINE 1TYPE 2 BLANKS 1GET DRIVE TYPE 1ASSUME ADDRESS OF RPO7 MESSAGE +IS DEVICE AN RPO7 ? 1 TYPE IT IF YES 1ASSUME ADDRESS OF RPO7+ MESSAGE 9: 108: .TYPE . WORD 1TYPE THE DRIVE TYPE MESSAGE 1MESSAGE ADDRESS MERE i 1om RECISTEN vos LOO 1 -OFC 08 10: 0 0% P 50 0070 e y t spracyt 1 wmunnum. wRI23ITICELIT? 18 ) 1. 129: -8 ¥ 00 | -DEC 88 10:%2:29 PagE 7 e $3939853%3% ~merereegznmen i 2 i 251g4 g3 LAY ] mSFPa3seusaByetsuplenascsepukycofe 5I_8 ony | g’M” EVER NulRD w08 .00 | OEC 8% 10200 PacE 18 e cory | : eadiial fodausd Lb fiidll cpLiing N Fossan) - adoas edoa- POy 138 Tul i1} L 7 - - - - S - - - R w— R —— o — — - i &2i1 : i .l .&m&w m.mm,_HALA “.mm.r_ &%- CWS SMON you 89 | aBC 0 fiflfi _. finfi.&a :!-'-""';'M""“‘ ’ .-m-lnnv — — L ——— . — i— . —-————. —— —— -y ! EallsMRIENDsYklUu. Lo 2\ ak28 2P. 8 . 0 1 83 C SE §0 0 . 9 ¥ D R FROR M5 l e 6 1 0 0 0 0 a ; ;. S T A i£5 2 B Sosede g- 8ml :g."‘.‘f, i v 'r&-Ci_aEmn"m‘on.ém"r=TM"8é T * 7 1 ’ . é : , 001 : : % Ge Bb B O 0 8 i “"' bL+ u:“f““-"-o:-'"l.m..u,, “ g t . : ' . : ' . . %00m.’" B o E- '..v:eo.0 n:""wum' gn‘.:8g5 &2%m u-: JF2SR BR1.),A(RS) P ? ‘ ? . E L ’ B . A T ‘ ® L I . A V : A ' ‘ . a f g : E L g B A T m L M e n m“n s ? 2:“i.mn““.“.!g7%"'h0w0—8 RN Wy e R:n;s Y R A M U S E C g N A ” M 3 R O : 4 F 7 S0 00 B if" 5&:'5,",";"‘ PER $I0J000 Sho? PU Tg 2 4 s i o S i ' : “ ? j§§;:§ 33?7? Sner v L P‘ B= e % ASLST CONTDOE oo JEP0* THE LOOP VNN *Q oo n CZRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:52:28 PAGE 22 N6 SEQ 0077 MAIN PROGRAM 5 +PROCESS THE COMMAND TERMINATION S 007472 7 007476 8 007502 9 007504 10 007512 111037 005760 100447 032760 001410 0013520 PROCES: MOVE 100000 M1 8I1Y BEQ ERPROC 18R IF ERROR cnns.wcsuno) sSEE IF *SC* SET 18 NOT SETY BNE ERPROC SET BNE ERPROC 18R IF SET 000016 1S7 000166 11 007514 032760 040000 000166 12 007522 001037 {; 007532 001033 13 007524 032760 040000 BIY 000200 }g BIT (RO),DRVND $TATUS(RO) sORIVE NUMBER FOR ANY ERROR MESSAGES 1SEE_IF DRIVER SIGNALED AN ERROR nxno.msuao) “ITI‘.O.DS(“) ;SEE IF "TRE* SETV ;SEE IF 'ERR’ SET #NO ERRORS DETECTED IN REGISTERS, DO SOME CHECKING ANYWAY 18 007534 19 007540 20 007544 21 007552 22 007554 23 007560 24 007562 25 007570 26 007572 004737 004737 032777 001022 005737 001415 023737 002413 013746 014010 014110 000002 30 007610 005037 001464 27 007576 28 007602 29 007606 31 007614 gi; 007620 062716 023726 002402 004737 000207 18: 171402 001462 001464 001462 001462 000001 001464 JSR JSR BIT BNE TST BEQ cHP BLY MOV PC,CKERR PC,CxBUS ©€SWO01, 8SWR 38 CMPTIM 4 CMPTIM«2,CMPTIM 3¢ CMPTIM, -(SP) 1CHECK ERROR BITS sCHECK BUS ADDRESS & WORD COUNT s INMIBIT DATA COMPARE (SwO1=1) ? 1BR IF YES +IS COMPARE DATA ALWAYS ON ? iBR IF YES ;TIME TO COMPARE DATA ? :BR_IF NO :GET CURRENT INTERVAL TIME AND CLR CI‘PTIHOZ s:CLEAR INTERVAL TIMER FOR NEXT COMPARE ADD cMP BLY 014174 2%: 3%: g‘s "~ JSR RTS 01,(SP) CWTIHOZ (SP)+ PC.CMPAR PC :ADD ONE MINUTE ;STILL COMPARING DATA ? :BR _IF YES :NO 'DCK’ ;RETURN ERROR, BUT COMPARE DATA ANYWAY ;COMMAND TERMINATED WITH AN ERROR - PROCESS THE ERROR 36 007622 032760 000200 :; 007632 000137 010206 44 007630 001402 000016 ERPROC: BIT BEQ JMP :g #BITO7,$TATUS(RO) ERPRC1 DONE ;DONE BIT SET ? :BR IF NO, ORDER DIDN'T COMPLETE NORMALLY ;PROCESS ERROR WITH 'DONE’' BIT SET ;PROCESS ORDER COMPLETION WITH '‘ERROR' & 'DONE' NOT SET S50 007636 51 007636 032760 010000 000016 53 54 55 56 57 58 032760 001041 032760 001044 032760 001066 004000 000016 002000 000016 001000 000016 040002 000016 000004 000016 52 007644 007646 007654 007656 007664 007666 007674 59 007676 60 007704 61 007706 62 007714 63 007716 001025 032760 001101 032760 001115 000207 ERPRC1: BIT BNE BIT BNE BIT BNE BIT BNE BIT 9BIT12,$TATUS(RO) PUNSAF :SEE IF DRIVE WAS UNSAFE :BR IF YES OBITII.OTATUS(RO) sPARITY ERROR OCCURRED UCPAR 18R IF IT DID OBITIO. OTATUS(RO) sFATAL PARITY ERROR? FALPAR 1BR IF THERE IS ONE 08IT09, OTATUS(RO) s TIMEOUT? SWTIM :BR IF YES OBITI"BITOI.OTATUS(RO) ;DRIVE WENT OFFLINE ? BNE BIT OFLIN +BR IF IT DID OBIT2 $TATUS(RO) iPORT REQUEST TIME OUT ? RTS PC BNE RTIM ;B8R IF IT DID :ERROR. RETURN SN CIRIOBO RPOT PERF e s WO O® iTND Al MAIN PROGRAM EXER MACRD vO4.00 1 DEC 8% 10:3.:°8 PAGE ;DRIVE 007720 007724 007730 007734 007740 007744 007750 007754 004737 104414 004737 004737 004737 004737 004737 000137 022274 051435 022342 022776 023446 026202 024136 031362 05 SEG 0G78 IS5 PERSISTENTLY UNSAFE PUNSAF: JUSR DISPLY PC.LINEL LEM12 JSR JSR JSR PC.LINE2 PC,LINES PC,.LINES JSR PC,LINE? JSR JMP PC,INCTOT DROP tPRINT LINE tPERSISTENT sPRINT LINE tPRINT LINE 1 OF ERROR MESSAGE DEVICE UNSAFE MESSAGE 2 OF ERROR MESSAGE 3 OF ERROR MESSAGE sPRINT LINE 4 OF THE ERROR MESSAGE : INCREMENT TOTAL ERROR COUNT sPRINT LINE 7 OF ERROR MESSAGE :DROP THE DRIVE sUNCORRECTABLE MASSBUS PARITY ERROR OCCURRED 007760 007764 007770 007774 104401 104401 104401 000406 UCPAR: 001203 001203 TYPE 051337 BR :'FATAL' 007776 010002 010006 104401 104401 104401 010012 010016 010022 104401 104401 013746 010026 010030 010031 010032 104403 002 000 004737 032777 001401 TYPE TYPE 001203 001203 FALPAR: 057676 FALPR1: TYPE TYPE TYPE TYPE MOV 001320 TYPOS 026202 100000 .BYTE .BYTE JSR 171110 1%: 000207 « SCRLF EM10 FALPR1 ;:CR-LF ;:CR-LF : "UNCORRECTABLE PARITY ERROR’ sFINISH PROCESSING THE ERROR MESSAGE MASSBUS PARITY ERROR OCCURRED TYPE 051402 « SCRLF « SCRLF « $CRLF LJEM11 +MSGON :'FATAL PARITY ERROR' +DRVMSG sTYPE 2 0 33 TYPE 2 DIGIT(S) DRVNO, -(SP) PC,INCTOT BIT BEQ oSu1S, aSWR 18 RTS PC HALT [ MESSAGE '‘DRIVE' :3SAVE DRVNO FOR TYPEOUT 1:TYPE DRIVE NUMBER :3GO TYPE--OCTAL ASCII : sSUPPRESS LEADING ZEROS s INCREMENT TOTAL ERROR COUNT ; SOFTWARE TIMEOUT OCCURRED 004737 104414 004737 004737 004737 004737 004737 000207 022274 051466 022342 022776 026202 024136 SWTIM: JSR DISPLY JSR JSR PC.LINEL LEM13 sPRINT LINE 1 OF ERROR MESSAGE PC.LINE3 tPRINT LINE 3 OF ERROR MESSAGE PC.LINE2 JSR PC,.LINES RTS PC JSR JSR PC,INCTOT PC.LINE? tPRINT THE TIME OUT MESSAGE 1PRINT LINE 2 OF ERROR MESSAGE sPRINT LINE 4 OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT sPRINT LINE 7 OF ERROR MESSAGE tRETURN o CIRIOBO RPOTM PERT EXER MACRD vO4.00 1 DEC 8% 10:52:28 PAGE 24 %0 0679 sORIVE WENT OFFLINE 010130 010134 010140 010144 004787 104414 004737 004737 0047387 004787 004787 000137 OFL IN: JSR DISPLY JSR JSR 3858 010110 Ci0114 010120 010124 JSR PC.LINEL JEM14 PC.LINE2 PC.LINES PC.LINES sPRINT 1PRINT sPRINT sPRINT tPRINT PC.LINE? DROP sPRINT LINE 7 OF THE ERROR MESSAGE ;OROP THE DRIVE PC,INCTOT LINE 1 OF THME ERROR MESSAGE OFFLINE MESSAGE LINE 2 OF THE ERROR MESSAGE LINE 5 OF THE ERROR MESSAGE LINE 4 OF THE ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT 010150 010154 010160 010164 010170 C10174 010200 010204 004737 104414 004737 004737 022274 PRTIM: 022776 024136 §§§§§§§ ;PORT REQUEST TIMEOUT ERROR RTS PC,LINEL JEM1S PC.LINE2 PC.LINES PC.LINEA PC.INCTOT PC.LINE? PC :TYPE LINE 1 OF THE ERROR MESSAGE sPRINT PORT TIME OUT MESSAGE sTYPE LINE 2 OF THE ERROR MESSAGE sTYPE LINE 3 OF THE ERROR MESSAGE sTYPE LINE 4 OF THE ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT sTYPE LINE 7 OF THE ERROR MESSAGE sRETURN 18: BIT BEQ 013402 OBITOA!BITOS,$TATUS(RO) ;UNSAFE OCCURRED s8R IF NOT 24 UNSAF IREPORT UNSAFE 81714, IRPER1(RO) (SSEE IF (s sET UNSAF IREPORT UNSAFE 010224 010232 010234 040000 013402 B1Y BEQ JHP 010240 0102456 010250 000002 BIT OBIT1,SRPDS(RO) ;SEE IF 'EWN' SET (1) iBR IF NOT EWNERR ;REPORT EARLY WARNING 010254 010262 010264 040000 81T BEQ JP oBIT14,SRPCS2(RO) WCKER BIY BNE JMP oBIT14,$RPCS1(RO) ;CHECK ' TRE' 64 i1BR SET TRFER 3sPROCESS 'TRE' 8IT o8IT08, $RPER1(RO) 010270 010276 010300 BEQ JP 013474 000176 4% 011242 040000 000166 Ss: 013146 010304 010312 010314 000400 010320 010326 010330 000020 010334 010342 010344 28: BEQ JHP 011630 012022 000200 012212 7¢: BIT BEQ JMP BIT BEQ JMP St 74 HCRCER iWRITE CHECK ERROR CKFMT CKHCE SET? 1PROCESS 'HCRC' 1'FMT* 1BR IF NOT SET SET? 1CHECK FORMAT ERROR 0BIT07,$RPERL(RO) 94 i 'HCRC' 1BR IF NOT oBIT04, SRPER1(RO) 8¢ IS 'WCE* SET ? tBRANCH IF NOT SET 3 'MCE' SET? 1BR_IF NOT SET 1CHECK 'HCE' ERROR ——— DONE : . ————— 000016 —— 000030 e 010206 010210 010216 010220 § sPROCESS ORDER COMPLETION WITH 'ERROR‘ & 'DONE’ BIT SET 3 ey WD O L Y B R MAIN PROGRAM CIRIOBO RPOT PERF EXER MACRD vO4.00 1-DEC 8% 10:3%.:78 PAGF 24 ) D/ 5EQ 0080 MAIN PROGRAM ©5 010550 &6 010356 032760 001402 000137 012506 69 010364 70 010872 010874 71 032760 000010 000157 012640 7% 010400 74 010406 75 010410 032760 001402 000137 000040 013304 77 010414 032760 002000 000137 012782 032760 001402 000137 004000 e’ 010360 78 010422 79 010424 80 81 010430 82 010436 83 010440 84 85 86 87 88 89 001402 001402 020000 000202 s 000202 104 11%: 12%: 13s;: 012764 001000 14%; 91 010466 010000 15¢: 8 010444 010452 010454 010462 010464 92 010474 93 010476 95 010502 96 010506 012616 000202 16%: 010546 99 010514 100 010522 101 010524 102 010532 103 010534 040000 000230 100000 000230 164 1BR IF NOT SRPER1(RO) DCKER i8R IF NOT PC tEXIT FROM ERROR ANALYSIS 174 178; 011770 013246 081118, SRPERT(RO) £ OPT* SET? 108 JBR IF NOT SET OPIER JREPORT ' OP1" oBI1S, SRPER1(RO) PAR: SET? 118 BR IF NOT SET PARER IREPORT ' PAR’ eBITS, SRPER1(RO) 1MCF* SET? 124 BR IF NOT SET ACFER {REPORT ' WCF#81T10, SRPER1CRO) ‘IAE* SET? 138 JBR IF NOT SET IAEER {REPORT * TAE" eBIT11, SRPER1CRO) SWLE’ SET? 143 BR IF NOT SET WLEER IREPORT ' WLE" 08179, SRPER1(RO) 'AOE* SET? 158 {BR IF NOT SET #81T10, SRPDS(RO) 'LBT* SET? 154 {BR IF NOT SET pC :'AOE’ & 'LBT' SET, EXIT #BIT12, SRPER1CRO) JSEE IF 'DTE’ SET DTEER 97 010510 105 010540 106 010544 BIY 18%:; 19%: RTS {REPORT 'DTE’ ERROR JSEE IF 'DCK* SET iPROCESS * DCK' 081714, SRPERSCRO) 1'SKI* SET 184 JBRANCH IF SKI, OCYL SET eBIT1S, SRPER3CRO) 1BAD SPOT 2 194 JBRANCH IF SO DRVER {REPORT ERROR SKIER JREPORT SKI ERROR ROUT, CIRI0BO RPOT PERF EXER MACRD vO4.00 1-DEC 8% 10:52:28 PAGF 25 MAIN PROGRAM 3 ¥ 010546 4 010552 S 010554 6 010562 7 010564 8 010572 004737 000207 032760 001411 016420 000100 DCKER: 000202 001024 15 010606 14 010614 15 010616 000232 16 010622 17 010624 18 010630 19 010632 sg g{z‘!; 7 101013 005760 001410 005760 001033 004737 104414 22 010644 25 010650 004737 104414 022274 053220 24%: 25 010660 010664 27 010672 004737 012737 004737 026202 000003 017120 ' 28 010676 29 010700 gg 010704 352 010706 335 010712 ;; 010716 000232 000234 022274 053360 004737 022342 000403 004737 000402 004737 004737 000207 38 010720 38: 001324 024076 024104 024136 gg 23 g}g;&;‘o 18: 4as: S¢: lSEE IF ERROR AT A BAD SPOT 1s i8R IF NO PC OECH, SRPERL(RO) +IT IS, DON'T REPORT IT IECN ERROR SET ? 0100‘0 MCI(N) JSR DISPLY ’C.LI"I EMS2 cve BMI TS7 BEQ TST BNE JSR DISPLY OMC“N).OIM 1 IS POSITION COUNT OVER MAXIMUM ? 24 YES SRPEC1(RO) lPOSIYIOC COUNT O ? 24 i1BR IF YE SRPEC2(RO) lV&l! IN PATTERN REGISTER ? 63 1BR_IF YES PC.LINEL lTV’E FIRST LINE OF ERROR MESSAGE i?" s TYPE 'ECC LOGIC ERROR’ DISPLY PC,LINEL S s TYPE FIRST LINE OF ERROR MESSAGE s TYPE 'ECC LOGIC ERROR’ PC,INCTOT 03,RETRY PC,SRETRY s INCREMENT TOTAL ERROR COUNT tRETRY COUNT sRETRY THE ORDER BR 010040 PC.SPOTCK ce BNE 022274 053536 000451 JSR RTS 8I1 BEQ 760 010040 000232 004737 104414 24 010654 5EQ 0081 sPROCESS DATA ('DCx* ) CHECK ERROR 9 010574 10 010600 g 010604 E/ 73 JSR PC.LINE2 BR JSR BR 4% PC.LINESC JSR MOV JSR JSR JSR RTS PC.LINESD PC.LINE? ;OTHERWISE RPEC1+10040 tREPORT ECC LOGICAL FAILURE sFIRST LINE OF ERROR MESSAGE 1ECH ERROR - ECC UNCORRECTABLE s TYPE LINE 2 OF ERROR MESSAGE sRETRY flS NOT SUCCESSFUL tPRINT ‘CORRECTED ON N RETRY(S)* tFINISH THE ERROR REPORT sPRINT ‘UNCORRECTABLE AFTER N RETRY(S)' sTYPE LINE 7 OF ERROR MESSAGE +RETURN sTHE VALUES IN THE ECC REGISTERS ARE CORRECT, REPORT '‘DCKX’' ERROR 004737 104414 022274 051640 68: - : JSR DISPLY PC.LINEL ,EM21 tPRINT LINE 1 OF ERROR MESSAGE 1DATA CHECK ERROR CIRIORO APOT PERF EXER MACRD v04.00 1 DEC 83 10:52:28 PAGE 2% k7 5EQ 0082 MAIN PROGRAM i c 010730 004737 022342 DCHER]: JSk PC.LINES 023446 JSR PC.LINES % 010734 004737 02277 S 010744 6 010750 7 010756 8 010764 004737 012737 032760 001012 016436 110100 010000 10 010774 il 010776 12 011002 15 011008 14 011010 15 011012 001403 004737 000403 0047357 012757 000012 20 011020 21 011024 22 011030 23 011032 24 011034 25 011042 26 011044 004757 005760 020240 000016 032760 001006 004757 000200 4 010740 0047357 JSR JSR MOV 81y BNE 001322 000202 9 010766 032760 000100 000202 001775 100057 24: Ss: 4% JSR TST 18: 001324 tPRINT LINE 4 OF ERROR MESSAGE “IT“.M.I(N) - IS IT "ECw ? 14 PC.138 24 PC.LINEG 108 #10. ,RETRY IF .conut BAD DATA PC,GODRIV $TATUS(RO) IRETRY s TEST FOR DONE 4 124 tPRINT *SECTOR IS ECC CORRECTABLE* tFINISH THE ERROR REPORT sRETRY COUNT 1BR IF NOT DONE 18R _IF NOT ERROR 026202 81T BNE JSR g 011054 0001357 007636 JP ERPRC1 81T Mfl SRPER1(RO) lLGI AT CURRENT ERROR 27 011050 S50 011060 51 011066 52 011070 35 011076 54 011100 55 011104 56 011112 47 011114 48 011120 49 011124 S0 011130 S1 011134 104414 033760 001412 032760 001421 105237 123737 001342 004737 055650 DISPLY 001322 000202 010100 000202 001325 001324 001325 004737 024354 026106 004737 004737 024136 016436 004737 000016 BEQ 8PL tPRINT LINE 2 OF ERROR MESSAGE tPRINT LINE 3 OF ERROR MESSAGE PC.PRT 1SEE IF BAD SECTOR TO BE PRINTED “!"S!."l!!'fl“ MASK ;LOAD ERROR MASK nxtu.m 1(RO) IS IT "DTE* ? iBR S 81T 8EQ JSR BR JSR BR MOV 011202 024056 PC.LINES S§: 74: 8s: 026202 52 011140 000436 54 011142 S5 011146 56 011152 S7 011156 0047357 004737 004737 004737 024056 024014 026062 015576 9: 60 011164 :“l‘ 011170 004737 000753 024104 63 011172 64 011176 65 011202 66 011210 67 011214 68 011220 69 011222 004737 004737 012737 004737 105757 100406 004737 024070 026062 000001 014200 001353 ;l’ 011162 70 011226 000407 104414 026202 056117 BEQ 817 BEQ INCB ce BNE JSR ,LiIneM + ' DIFFERENT ERROR DURING RETRY* $SEE WHICH ERROR 0’8‘ IF DIFFERENT ERROR 1(RO) ;'ECH' OR 'DTE’ . IF vcxm SEY nmv.t RETRY RETRY,RETRY .1 .m ? “l'fl!ll?‘. STILL SET ? JSR 34 PC.LINES PC ., INCHRD i1BR_IF NOY .nm LINE 8 OF ERROR MESSAGE JSR JSR PC.LINE? PC.PRTBAD 1PRINT LINE 7 OF ERROR MESSAGE tPRINT THE BAD SECTOR JSR BR PC,INCTOT s INCREMENT ‘MARD’ ERROR COUNT s INCREMENT TOTAL ERROR COUNT 15¢ 1CLEAN UP AND RETURN JSR JSR JSR JSR PC.LINEG ’C.LM” PC . INCSOF PC,ECC sPRINT *‘SECTOR IS ECC CORRECTABLE' 1PRINT LINE 58 W THE ERROR MESSAGE s INCREMENT *‘SOFT*' ERROR COUNT |CMC1 THE ERROR USING ECC AND CHECK IV 11¢: JSR BR PC.LINEGD 8s 1PRINT *UNCORRECTABLE AFTER N RETRY(S)’ 1 INCREMENT ERROR COUNT 12¢: JSR JSR MOV JSR TST8 BMI JSR PC.LINEGA PC . INCSOF #1,FRSTER PC,CMPARD FRSTER.1 15¢ PC,INCTOT sPRINT *‘SECTOR READ CORRECTLY AFTER N RETRY(S)’ s INCREMENT ’SUY‘ ERROR COUNT lSEY PROCESSING ‘'DCKER‘ INDICATOR 1COMPARE THE BUFFER 1ERROR IN COMPARE ? 1BRANCH IF ERROR s INCREMENT TOTAL ERROR COUNT ,LINSG 1'DATA COMPARE OK' 10%: BR 001352 OBIT7,0TATUS(RO) ;SEE IF ORDER TERMINIATED NORMALLY S¢ 1BR_IF NOT PC,INCTOY s INCREMENT TOTAL ERROR COUNT 134: DISPLY 134 1COMPARE THE BUFFER MESSAGE 1EIRJ080 P07. PLAF ¢EXER PACRD ¥08.00 1-0EC 8% 10: %2, 20 PAGE »1 v "1 011282 =2 011256 004787 000260 % 011260 000207 02e1% W8: 156: G7 “£0 0083 UM PCaM? PRINT LINE 7 OF ERROR MESSAGE als PC O YU W@ 5 m .u. m g3 mhg:%m;&?w“fim o : mm i 17 EEe 011578 008737 G2e9%e BHES B e lmE= P e 129, e G Hrew =3 HBEE. PRINT LD 0 - ‘OIFTERENT CRROR ¢ e s st o puvas. |dsu|fwsiPninsib m~ S malm) yob re e & ) GEV R FRORD 080 09 | R 48 0. %000 PuE m———— - o —— - S— ne EIHRREHEY B~ g ", v *v 1-’ 6-' *Y 0' Di. " ‘v b s Bad *Y ‘ 200 . “+ . S . . 1 ——— — ,‘- ACE 3 CgEemT | TRD ) cEmgd N o g il ___%_ IE: &w~fi-~-‘ 18T AR L7 V-0 0ms 3 @ WSS (PO “g‘ “ ( T ) (WD — 2"E-,-:-fi_,.,...-.. 3383332. - a3 3 5& 22, el Ih""'lS A W’ EWES FRORD vOR 00 | L % 0.0 .00 P —— i .-.—-“--w, ’ M7/ :&g_fi PAI2TIRNICEITLIRSIASL Hdiohlibln ;Falo % ) —— i AR kel CZRJIOBO APO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 351 N7 MAIN PROGRAM 017120 001322 001324 024136 1s 024104 28 JSR DISPLY JSR JSR JSR JSR MOV MOV JSR BR JSR i’?'s' JSR B8R PC.LINEL EMSS PC.LINE2 PC.LINESE PC.LINES PC, INCTOT 81703, MASK o3, RE TRY PC. SRETRY 2 PC.LINESC PC.LINE7 PC.LINEGD IPRINT LINE 1 OF ERROR MESSAGE sREPORT' PAR" JPRINT c.m 2 OF ERROR MESSAGE sPRINT LINE 3E OF ERROR MESSAGE sPRINT LINE & OF ERROR MESSAGE : TOTAL ERROR COUNT ;ERROR MASK JRETRY LIMIT ;RETRY ORDER sRETRY UNSUCESSFUL {PRINT *CORRECTED ON N RETRY(S)" .g{v'n LINE 7 OF ERROR MESSAGE l PRINT ‘UNCORRECTABLE AFTER N RETRY(S)* iFINISM ERROR MESSAGE sREPORT *IAE’ ERROR 022274 IAEER: 022342 023170 026202 024136 JSR DISPLY JSR JSR JSR JSR RTS PC,LINEL ,EM3S PC,LINE2 PC.LINESF PC.INCTOT PC.LINE? PC sPRINT LINE 1 OF ERROR MESSAGE sREPORT * IAE’ :PRINT LINE 2 OF ERROR MESSAGE ;PRINT LINE 3F OF ERROR MESSAGE ; INCREMENT TOTAL ERROR COUNT sPRINT LINE 7 OF ERROR MESSAGE sRETURN ;REPORT 'WLE’ ERROR 022274 052541 022342 026202 024136 WLEER: JSR JSR JSR JSR DISPLY RTS PC,LINEL ,EM36 PC,LINE2 PC,.INCTOT PC.LINE7 PC ;PRINT LINE 1 OF ERROR MESSAGE ;PRINT LINE 2 OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT :PRINT LINE 7 OF ERROR MESSAGE ;REPORT *WLE" :RETURN ;:REPORT FORMAT ERROR 023536 023746 026202 024136 JSR JSR JSR PC,LINEL ,EM26 PC,LINE2 PC.LINES sPRINT LINE 1 OF ERROR MESSAGE :FORMAT ERROR ;PRINT LINE 2 OF ERROR MESSAGE :PRINT LINE 3 OF ERROR MESSAGE JSR pc LINES 'DISPLAY WORDS WHICH CAUSED *WCE' :E.LI?E7 sPRINT LINE 7 OF ERROR MESSAGE DISPLY JSR BIT BEQ 000176 1%: JSR JSR g?g PC.LINES {PRINT LINE 4 OF ERROR MESSAGE oenu $RPCS2(RO) 3'WCE’' ERROR ALSO ? :BR IF NOT PC.LINESA PC .INCTOT :PRINT LINE SA OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT — 022342 022776 023446 040000 FMTER: | 013056 013062 013066 004737 004737 032760 001402 004737 004737 004737 004737 000207 022274 | 013032 004737 | 013012 CIRJIDBO RPOTM PERF om AP N al, e MAIN PROGRAM tXER MACRO vO4.00 1-DEC 83 10:%2:28 PAGE 82 5EG 0091 sREPORT HEADER COMPARE ERROR 013070 013074 013100 013104 013110 013114 013122 013124 013130 013134 013140 013144 004737 104414 004737 004737 004737 032760 001402 004737 004737 004737 004737 000207 022274 052177 022342 022776 023446 040000 HCEER: PC.LINEL LEM27 BIT BEQ 0BIT14,8RPCS2(RO) ;'WCE’' ERROR ALSO ? 1% 1BR IF NOT JSR JSR JSR 000176 023536 023746 026202 024136 JUSR DISPLY 18: PC.LINE2 PC,LINES PC,LINES sPRINT LINE 1 OF ERROR MESSAGE +HEADER COMPARE ERROR sPRINT LINE 2 OF ERROR MESSAGE tPRINT LINE 3 OF ERROR MESSAGE tPRINT LINE 4 OF ERROR MESSAGE JSR PC,.LINES 1DISPLAY WORDS WHICH CAUSED 'WCE* RTS PC ;RETURN JSR JSR JSR PC.LINESA PC,INCTOT PC.LINE? tPRINT LINE SA OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT +PRINT LINE 7 OF ERROR MESSAGE :PROCESS CONTROL/INTERFACE TRANSFER ERROR 013146 013152 013156 013162 013166 013172 004737 104414 004737 004737 004737 004737 032760 001415 012737 004737 000403 004737 004737 004737 000207 TRFER: 022274 052644 022342 022776 026202 121400 000003 001322 017120 JSR JSR JSR JSR BIT 000176 BEQ 001324 024136 1%: 2s: PC.LINEL ,LEMA0 PC.LINE2 PC.LINES PC,LINES PC,INCTOT ;'DLT' ,"UPE','MXF*', PC,SRETRY tRETRY THE OPERATION 14 PC,LINE6C RTS ERROR MESSAGE ERROR MESSAGE ERROR MESSAGE ERROR COUNT :BR_IF NONE SET BR JSR JSR JSR tPRINT LINE 2 OF sPRINT LINE 3 OF sPRINT LINE 4 OF 1 INCREMENT TOTAL OBIT15!BIT13!BITI!BITS,SRPCS2(RO) 03 ,RETRY MASK BR sPRINT LINE 1 OF ERROR MESSAGE tRHXX OR UNIBUS TRANSFER ERROR 2 MOV CLR JSR 024076 024104 JSR DISPLY 24 PC.LINE6D PC.LINE7 PC sRETRY LIMIT ;:CLEAR ERROR MASK tsRETURN HERE IF RETRY UNSUCESSFUL :PRINT 'CORRECTED ON N RETRY(S)’ sFINISH THE ERROR REPORT tPRINT 'UNCORRECTABLE AFTER N RETRY(S)' sPRINT LINE 7 OF ERROR MESSAGE sPROCESS 'SKI' ERRORS 004737 104414 004737 004737 004737 004737 004737 000207 022274 053435 022342 023012 026202 026132 024256 SKIER: JSR PC.LINEL sPRINT LINE 1 OF ERROR MESSAGE JSR JSR JSR JSR PC.LINE2 PC.LINE3B PC,INCTOT PC, INCSKI sPRINT LINE 2 OF ERROR MESSAGE sPRINT LINE 38 OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT s INCREMENT *SKI' OR 'OCYL' ERROR COUNT DISPLY g?g LEMSO :E.LI?E7A 3 ' SKI' ERROR sPRINT LINE 7A OF ERROR MESSAGE 'MDPE’' SET ? ) CIRJIOBO RPOTM PERF EXER MACRDO vO4.00 1 -DEC 8% 10:32:70 PAGE O® 4P NB A, e MAIN PROGRAM 32 5EQ 0092 JREPORT WRITE TLOCK FATILURE ('wWCF') 013304 013310 013314 013320 013324 013330 013334 013340 013346 013354 013360 013362 013366 013372 013374 013400 004737 104414 004737 004737 004737 004737 004737 012737 012737 004737 WCFER: 001324 001322 004737 004737 1%: 2%: 004737 000772 JUSR DISPLY JSR JSR JSR JSR JSR MOV MOV JSR BR JSR JSR RTS JSR BR PC.LINEL LEM34 PC.LINE2 PC.LINESA PC,.LINES PC.INCTOT PC,.PRTBAD @3 ,RETRY B1ITOS,MASK PC,.SRETRY 28 PC.LINESC PC.LINE? tPRINT LINE 1 OF ERROR MESSAGE tREPORT WRITE CLOCK FAILURE tPRINT LINE 2 OF ERROR MESSAGE PC.LINEGD 1s tPRINT LINE 3A OF ERROR MESSAGE tPRINT LINE 4 OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT :+SEE _IF BAD SECTOR TO BE PRINTED tRETRY COUNT tERROR MASK sRETRY THE ORDER sRETURN HERE IF RETRY UNSUCESSFUL sPRINT 'CORRECTED ON N RETRY(S)’ sPRINT LINE 7 OF ERROR MESSAGE sPRINT 'UNCORRECTABLE AFTER N RETRY(S)’ sPROCESS DRIVE UNSAFE ERROR 013402 013406 013412 013416 013422 013426 013434 013442 013446 013450 013454 004737 104414 004737 004737 004737 012737 012737 004737 013456 013462 004737 000404 004737 000137 013466 o13472 004737 000207 UNSAF : 001322 001324 18: 2%: DISPLY JSR JSR JSR MOV MOV JSR BR JSR BR JSR JMP JSR RTS PC.LINEL LEM60 PC.LINE2 PC.LINES PC,INCTOT oBIT14 ,MASK @3 ,.RETRY PC,SRETRY 14 PC.LINEGC 24 PC.LINEGD DROP PC.LINE?7 PC sPRINT LINE 1 OF ERROR MESSAGE sREPORT DRIVE UNSAFE sPRINT LINE 2 OF ERROR MESSAGE sPRINT LINE 3 OF ERROR MESSAGE ;sINCREMENT TOTAL ERROR COUNT sRETRY MASK sRETRY COUNT sRETRY THE ORDER tRETRY WAS UNSUCESSFUL sPRINT ‘CORRECTED ON N RETRY(S)’ ;CONTINUE WITH ERROR REPORT sPRINT 'UNCORRECTABLE AFTER N RETRY(S)' :DROP UNSAFE DRIVE sPRINT LINE ;RETURN 7 OF ERROR MESSAGE sREPORT EARLY WARNING ERROR 013474 013500 013502 013510 013512 013516 013520 013526 013530 013534 013536 013542 013546 013552 013556 013564 013572 004737 000240 032760 001403 104414 032760 001403 104414 104414 004737 004737 004737 012737 012737 004737 EWNERR : “Jg 8IT 000230 BEQ DISPLY 000230 18: 2%: 3s: 001322 001324 BR BIT BEQ DISPLY DISPLY JSR JSR JSR MOV MOV JSR PC.LINEL OBIT1, SRPER3(RO) i SKIP LINES 1'TPE' SET? 18 1BR IF NO 3 : TYPE REMAINING ERROR MESSAGE :'AIR' SET? LEM70 OBIT2, SRPER3(RO) 1PRINT TEMPERATURE WARNING ERROR 24 i?'n 1BR _IF NO 3'AIR SYSTEM WARNING ERROR’ LEM72 1'EARLY WARNING ERROR,AIR TPE NOT SET' 1ERROR MESSAGE PC.LINE2 PC,LINES PC,INCTOT 07 ,MASK 03 ,RETRY PC.$RETRY 1PRINT OUT s INCREMENT TOTAL ERROR COUNT 1SET UP ERROR MASK tRETRY COUNT tRETRY THE ORDER CIRJIORO RPO7 PERF EXER MACRD vO04.00 1 DEC 8% 10:%0:7°8 PAGF MAIN PROGRAM S8 01357 59 013600 O 013604 ¢l 013606 6o 013612 000403 004737 000207 004737 000187 024076 024104 031362 382 D& 5EQ 0093 BR JOR PC.LINESC sRETRY UNSUCESSFUL. RE TURN sPRINT 'CORRECTED ON N RETRY(S)" JSR JMP DROP $PRINT "UNCORRECTABLE AFTER N RETRY(S)* ;:DROP DRIVE RS a8 PC PC.LINEGD s RETURN E8 CZRJOBO RPO7 PERF EXER MACRDO v04.00 1-DEC 83 10:32:28 PAGE 34 SEQ 009 MAIN PROGRAM sREPORT AN "UNKNOWN® DATA PATTERN i sR1 = POINTER FIRST WORD OF DATA BUFFER 005737 NOMTCH: 1057387 001013 004737 104414 004737 004737 004737 1s: 104414 104414 104414 005737 001031 010146 004737 2%: 001060 1ST8 CFLAG 54 FRSTER 24 PC.LINE] JEMA3 PC.LINE2 PC.LINESA ;C.LI'CA sWAS (*C) TYPED? 1BR IF YES tFIRST ERROR IN THE SECTOR ? 1BR IF NOT OR IF PROCESSING 'DCKER* sTYPE LINE 1 OF ERROR MESSAGE 1'CAN'T MATCH DATA WITH PATTERN' sPRINT LINE 2 OF ERROR MESSAGE tPRINT LINE 3A OF ERROR MESSAGE sPRINT LINE 4 OF ERROR MESSAGE sCONTINUE PROCESSING ERROR : C=~L.F' MATCH DATA WITH PATTERN' 012146 004737 104414 023727 Ss: 177777 001460 001352 001364 §§E§!3§2§§§§§§§2§§3§ . 013746 004737 004537 000006 104414 104414 062701 005002 012737 013737 000207 TST BNE RTS - sHEADER FOR DATA PRINTOUT s1WAS (*C) TYPED? 18R IF YES sADDRESS OF WORD POSITION NUMBER YPE I af"i 6 DIGIYS .YYPE 2 INKS amg:‘or DATA WORD amm BUFFER POINTER - 4 MATCHING WORDS 0-1,FRSTER ’CPCPLHT LIMIT EAR ‘WORDS TO COMPARE' COUNT IN R2 SET ERROR FOUND INDICATOR I:E!'t:g"fli COMPARE ERROR TYPEOQUT LIMIT i CIRIOBO RPO7 PERF EXER MACRD vO4.00 1-DEC 83 10:52:28 PAGE 55 F8 SEQ 0095 MAIN PROGRAM sOMECK ERROR BITS IN THE RMxx £ RPO7 REGISTERS 032760 001015 001011 760 001006 001003 060000 000166 177400 000176 CKERR: 000202 000230 022274 053123 022342 022776 023446 026202 024136 260000, SRPCSICRO) 81T 9177400, SRPCS2(RO) 19: 2%: ,SEE IF *TRE* SET (B8R 13 BNE ST BNE 3 BR 18 SRPER1(RO) 14 SRPERS(RO) 14 SRPER2(RO) 2 i8R JSR DISPLY JSR JSR JSR JSR JSR PC.LINEL PC.LINE2 PC.LINES PC.LINES PC. INCTOT LINE? {PRINT LINE 1 OF ERROR MESSAGE ;ERROR BITS SET, BUT NO ERROR BITS SET sPRINT LINE 2 OF ERROR MESSAGE sPRINT LINE 8 OF ERROR MESSAGE sPRINT LINE & OF ERROR MESSAGE s INCREMENT TOTAL ERROR COUNT sPRINT LINE 7 OF ERROR MESSAGE RTS IT EITHER SET OR ‘MCPE* 14 BNE 000226 004737 104414 B11 BNE ;SEE IF ERROR BITS IN €S2 SEf ANY SET JANY BITS SET IN ER1 s8R IF ANY SET JANY BITS SET IN ERS ? i8R IF YES JANY BIT SET IN ER2 B8R IF NO 1 RETURN ;CHECK BUS ADDRESS REGISTER & WORD COUNT REGISTER 26 014110 27 014114 28 014116 29 014122 50 014124 51 014130 52 014134 53 014136 54 014142 35 014146 36 014152 57 014156 38 014162 39 014166 40 014172 CKBUS: 18: -~ H TST BNE MOV ASL ADD e 8EQ JSR DISPLY JSR JSR JSR JSR g?s' SRPWUC(RO) JCHMECK WORD COUNT ) s8R IF NOT ZERO SWRDL(RO), -(SP) ;WORD TM sCHANGE INTO BYTE COUNT $BUF(RO),(SP) ;ADD THE STARTING LOCATION (SP)e+, SRPBA( 1BUFFER ? 2¢ :BR IF OK PC,LINEL JPRINT LINE 1 OF ERROR ME ,EM41 BUS ADDRESS OR WORD COUNT INCORRECT #C,LINE2 sPRINT LINE 2 OF ERROR MESSAGE PC.LINESD sPRINT LINE 3D OF ERROR MESSAGE PC.LINES sPRINT LINE & OF ERROR MESSAGE PC. INCTOT s INCREMENT TOTAL ERROR COUNT PC.LINE? sPRINT LINE 7 OF ERROR MESSAGE CIRJI0BO APO7 PERF EXER MACRD v04.00 1-DEC 83 10:52:28 PAGE % — 68 —— MAIN PROGRAM JCOMPARE TvE DUFFER StBk 1 — ® 014206 z 014210 COwamr: CWPARD: BTTS BNE FRSTER sCLEAR "FIRST ERROR* AND *NO OCx* INDICATOR “.. $CODE(RO) a!l, READ COMWAND IT IS 18R 1RE TURN R1S 19: COUNTER THE ERROR AR 1CLE 1OFFER ADDRESS JMORD COUNT TO WORKING LOCATION 1CALCLATE WORDS TRANSFERED CLR Lol MOV ADD BNE 24 1 001356 001360 CR CMSTR; RTS JEXIT--NO WORDS XFERED MmOV 8IS JCYLINDER ADORESS WORKING LOCATION 'sSET WG, USER AND FWT BITS [ "oV nov INC AQDRE SSES g 012757 004737 0013574 001362 015060 e MmOV 14: 24; 000137 MOV BEQ 001374 003007 005237 004737 000207 CED: & BNE JSR [, BEQ MoV JSR SuB 8GY P CMSTR2: INC JSR $CODE ( ). " oCMCYL RS #150000, (R1) u.mo.(ino 3 P3RS 014436 29: % #SSEC(RO) R2 1COMPARE SECTOR SSEC(RO), CHONT sDECREMENT WORD COUNT #-1,WR0POS TR2 (RS)e,(R1)e -2, MRDPOS e CMOAT ERCTR PC.CHPRY b 001408 AT ITY 18: — 001 012737 004757 001370 150000 CLR B8R L ] o 012705 052711 "oV [ HF’ -1¢ sREAD MEADER £ DATA? s8R IF NOT :!fl 8ITS INDER m SECTOR ENCOUNTER ADDRESS OF ".’.‘%‘ ' ING CYLINDER o s+ INDICATE WORD POSITION IS MEADER WRD 1 REPORT ERROR 1COMPARE SECTOR/TRACK IF EQ BR s INDICATE WORD POSITION IS HMEADER WRD 2 JREPORT ERROR 1SUBTRACT MEADER LENGTH FROM SIZE 18R IF NOT FINISHED PORTION ARE THE DATA 1COMP COUNT ENT THE ERROR s INCREM ON ERROR JREPORT THE COMPARIS sCHECK THE REST OF THE MEADER CIRJ080 WPOT PEAF EXER MACRD V08 .00 1-OEC 83 10:52:20 Page 87 SEQ cowr ' 177777 001374 CMODAT, £ - va . 0013%0 7¢: 3 566 000002 94: mmmm mg 000005 P..?‘N“‘fl.“ 10TPASS COPARE ROUT mmwfi i 2 e BalTERm 4] G G el i 8 sl Suhh1 8RAN3RI9RG2IS3085 aeamenereQmanener COPARE DATA FIELD POS WETw PATTERN MBiRlSSHEHE+ & FACRD v08.00 1 -JEC 83 10:%2:09 Pack %73 PmI g?. 'w - B ,,,,._.. -:’5’%:. g BEEE. ' awmm*a..nat.m“o- A mn [ 3 i i3 ; 58 =% iid Foy ki{ieL VS 6 L SRC 0 ¥8 §3 3 3% WM tas B ) ,R 3 : l‘m R ur-“lt AP - (R 5T : : _m&: o Vo oa e — §I000 0ot P €S WO ¥E8.0 | SRC 83 10.00.50 Puck 9 - w T E B —— - — -9 ’E\'.":.'... T T Em e . — e o e ooy | TS o BITED WONE 3§ e et e sk Ty s s SRR = . f R, ——p E" £ ——" Gl i m i KL,La.mfi..lf.48m mnwm e ; FARINRLR ITITITISISRANA R : 13 i - g3gy g8B£ g-wc- t—m;ouna 1.0 Sucs e _ 4 " ;4 ST NI TN ::I snSmal“i" e — o — e — . — . CZRIOBO APOT PERF EXER MACRD VO4.00 1-DEC-83 10:32:28 PAGE 40-1 - e — - — ——— —— - ——— . — — — N8 . 001415 015757 062757 026037 101006 005757 001516 005037 000414 017737 013746 71 016176 043777 70 016172 72 016204 047716 052677 163230 001420 84: 001404 8€Q MOV AOD e 8~ TSt 8€Q CLR 8] MOV MOV R IF ECWRD.ECWRD1 ;OUPLICATE ADDRE 02 1 . ADORE SS SRPBA(RO ) , ECWRD1 "xs NEXT WMORD IN THE BUFFER 7 5 48R IF YES, ELSE ECMSKO ;WAS ERROR IN FIRST WORD ? €cc2 i8R IF NO ECWRD1 ;CLEAR 2ND WORD ADDRESS €CC1 sPRINT WORD CORRECTED SECWRD1,ECBAD1 ;SAVE THE SECOND BAD WORD ECMSK1,-(SP) sPUT THE UPPER MASK ON THE STACK 001408 8IC ECMSK1,BECWRD1 001406 001414 000002 001414 000172 001414 001402 001414 7 163216 163204 163210 8IC BIS . —— —— 5€Q 0108 MAIN PROGRAM 016116 016120 60 016126 61 016134 62 016142 63 016144 64 016150 65 016152 66 016156 68 016160 69 016166 . SECWRD1.(SP) ;CLEAR ERRONEOUS ONE BITS FROM UPPER MASK (SP)+,8ECWRD1 ;SET DROPPED BITS ;CLEAR ERRONEOUS ONE BITS FROM DATA WORD B3 JRIUOBO RPOT PERF - NN s po COB® Y PR MAIN PROGRAM 39 EXER MACRO vO04.00 PC,LINOCT s TYPE ECWRD 057771 056610 001412 024366 056610 163114 024366 056610 .PERIOD +BLNKS2 016302 016306 016310 016314 016320 016324 016330 016332 016336 005737 001414 104414 013746 004737 013746 005216 004737 001203 001414 024366 001374 40 016406 41 016412 42 016416 104414 013746 004737 104414 017746 004737 104414 000402 104414 104414 000207 5E0 0104 024366 001374 033412 032742 056345 016342 016344 016350 016354 016360 016364 016370 016374 016400 016404 41 s HEADER 104414 013746 004737 013746 004737 004537 000006 104414 104414 013746 004737 104414 017746 004737 104414 004537 000006 104414 10:35.:08 PAGE +LINIOM 016210 016214 016220 016224 016230 016234 016240 016242 016246 016252 016256 016262 016266 016272 016276 001441 1-DEC 8% 001406 ECC1: WRDPOS, -(SP) PC,$5820 :S.OREPLZ ECBADO, -(SP) PC.LINOCT +BLNKS2 SECWRD, -(SP) PC.LINOCT +BLNKS2 ECWRD1 ECCXx + SCRLF ECWRD1, -(SP) PC,LINOCT WRDPOS, -(SP) 033412 032742 ;PUT ECWRD ON THE STACK sPUT THE WORD POS ON THE ;CONVERT IT TO DECIMAL STACK sTYPE IT (REPLACE LEADING ZEROS) ;:TYPE 6 DIGITS sTYPE .’ s TYPE 2 BLANKS sPUT ECBADO ON THE STACK s TYPE ECBADO s TYPE 2 BLANKS ;PUT SECWRD ON THE STACK s TYPE SECWRD ;TYPE 2 BLANKS sPRINT THE NEXT WORD ? :BR IF NOT :CR-LF ;PUT ECWRD1 ON THE STACK : TYPE ECWRD1 ;PUT THE WORD POS ON THE STACK ;INC TO SECOND WORD OF BURST sCONVERT IT TO DECIMAL sTYPE IT (REPLACE LEADING ZEROS) sTYPE 6 DIGITS .t'” 057771 056610 001420 024366 056610 163020 024366 056610 056241 001203 ECWRD, -(SP) '] .' s TYPE 2 BLANKS :PUT ECBAD1 ON THE STACK s TYPE ECBAD1 s TYPE 2 BLANKS ;PUT SECWRD1 ON THE STACK s TYPE S8ECWRD1 s TYPE 2 BLANKS EXIT ECC2: ECCX: $ERROR BURST WAS NOT TRANSFERED TO MEMORY ;CR-LF ;RETURN - Sy CIRUOBO RPOTM PERF EXER MACRDO vO4.00 1-DEC 83 10:32:28 PAGF 42 5EQ 0105 MAIN PROGRAM e sROUTINE TO CHECK ERROR REGISTER 03 FOR THE BAD SECTOR BIT sCALL NEB N : [ I 3 16420 8 016426 9 016430 10 016434 032760 001002 062716 000207 100000 000:30 JSR .- SPOTCK: BIY BNE 18: ACD RTS PC,SPOTCK sCALL ROUTINE sRETURN HERE IF BAD SPOT sRETURN HERE #BSE , SRPER3(RO) ;SEE IF BSE BIT IS SET, 02,(5P) PC sADJUST RETURN ADDRESS. sEXIT 1 IS FOUND, ELSE :BRANCH IF SO, ELSE cga.’l!'i TO DISPLAY THE SECTOR WHICH GAVE THE HARD ERROR : : 032777 001520 016001 066016 001002 005726 39 016550 40 016556 44 016572 45 016576 48 016610 49 016612 016046 004737 005716 001403 006316 i€1601 000410 162701 122760 001002 162701 062706 104414 104414 001021 104414 010146 004737 104414 012146 004737 104414 50 016616 012146 004737 104414 52 53 54 55 56 57 104414 012702 010146 004737 104414 020160 016622 016626 016632 016634 016640 016644 000010 162510 JSR PC.PRTBAD sCALL ROUTINE PRTBAD: BIT oSW3, 8SWR sPRINT THE BAD SECTOR ? :nwc‘ (RO),(SP) ;SUBTRACT THE WORDS NOT TRANSFERED (SP)e sRESTORE STACK BEQ MOV MOV 000172 000020 000170 & TST 18: 000022 032126 001000 001203 056473 RTS CLR MOV JSR TST 000024 2%: 3%: 056567 000010 024366 056610 000172 S$: 6%: sREMANDER = O DISPLY DISPLY ,SCRLF ,LIN1iM sCR-LF ;1PRINT THE MEADER BNE SUB ADD 34 04 ,R1 04,5P cMPB 05, $CODE(RO) DISPLY ,LIN11 4% R1,-(SP) PC,.LINOCY ,BLNXS3 1BR IF NOT :SUBTRACT HEADER SIZE FROM ADDR ;RESTORE THE STACK POINTER s1WAS OPERATION READ HEADER & DATA ? iBR IF NOT s+TYPE ‘ADDR s+TYPE THE ADDRESS :TYPE 3 BLANKS (R1)+,-(SP) PC.LINOCT MOV JSR (R1)+,-(SP) PC,LINOCT ,SCRLF siCR-LF DISPLY ,LLIN11A 1 TYPE ,BLNKS2 1 TYPE 2 BLANKS ,BLNXS1 MOV MOV JSR ..R2 R1,-(SP) PC.LINOCT cMP R1,$RPBA(RO) DISPLY HEADER' 1PUT THE ADDRESS ON THE STACK MOV JSR DISPLY 4% (SP) ;BR IF IT IS - COMPLETE SECTOR TRANSFERED ;CONVERT THE RESIDUAL SECTOR INTO BYTE COUNT sSUBTRACT IT FROM THE END ADDRESS sFINISH THE SIZING ;SUBTRACT FULL SECTOR FROM END ADDR (IN BYTES) 1WAS OPERATION READ HEADER & DATA ? DISPLY 024366 001203 $EXIT--NO WORDS XFERRED -(SP) sMAKE THE UPPER DIVIDEND O $SSEC(ROY, -(SP) ;DIVIDE THE WORDS XFERED BY THE SECTOR SIZE PC,$DIV sDIVIDE 23 (sP) (SP),R1 3 0256.+2,R1 @5, $CODE(RO) DISPLY 024366 056611 PC BEQ ASL SUB B8R su8 cMPB BNE 024366 056607 8s s1BR IF NOT $RPBA(RO),R1 sPUT THE END ADDRESS INTO R1 SWRDL(RO),-(SP) ;FIND THE BEGINNING OF THE SECTOR 1PUT WORD ON STACK 1 TYPE THE 1ST HEADER WORD 1 TYPE 1 BLANK 1PUT WORD ON STACK s TYPE THE 2ND HEADER WORD ' ADDR DATA* 18. DATA WORDS PER LINE 1PUT THE ADDRESS ON THE STACK :TYPE THE ADDRESS 1PRINTED ALL THE SECTOR ? CIRIVBO RPO7T PERF MAIN PROGRAM EXER MACRD vO4.00 1-DEC 83 10:3::28 PAGF 42 | 58 59 o0 61 62 63 016650 016652 016656 016660 016664 016666 00:412 104414 012146 004737 005302 001366 65 66 67 68 016674 016676 016702 016706 000754 104414 104414 000207 64 016670 104414 056611 024266 001203 001203 001203 8s: SEQ 0104 BEQ DISPLY MOV JSR DEC BNE 78 ,BLNKS]1 (R1)+,-(SP) PC.LINOCT R2 63 B8R IF ALL PRINTED s TYPE 1 BLANK tPUT THE DATA ON THE STACK 1 TYPE THE DATA 1DECREMENT THE MORIZONTAL COUNT :BR IF NOT AT THE END OF THE LINE BR DISPLY DISPLY R1S 5% ,SCRLF ,SCRLF PC sRESTORE iCR-LF sCR-LF sRETURN DISPLY 78: D9 ,SCRLF 1CR-LF THE WORDS/LINE COUNT ‘ | ! | B CZRJIOBO RPO7 PERF EXER MACRD vO4.00 1-DEC-83 10:52:28 PAGE 43 E9 5EQ 0107 e fi-oo- O NS e MAIN PROGRAM sROUTINE TO DO A RECALIBRATE USING ACTIVE DPB sCALL: ] B [l 016710 016714 016722 016730 016734 016736 016734 000107 041364 000027 RE TURN RECALT: MOV 18: Fi T 13 14 016740 15 016744 16 016746 17 016752 MOV JSR 3s: 18 016756 MOve MOVB JSR . WORD BR ST BEQ JSR MOV MOvVe MOVB 19 016762 20 016766 CLR CLR 21 016772 22 016776 RTS o0P8 , RO :0PB ADDRESS RO, 24 jLOAD THE DPB ADDRESS PC.RECALTY SRPCS1(RO), SPREVO(RO) ORECAL , SCOMND(RO) ;SAVE THE PREVIOUS COMMAND 1LOAD THE NEW COMMAND RO,RPO7 1START THE RECALIBRATE 14 tORIVER DIDN'T ACCEPT THE COMMAND 0 $TATUS(RO) 34 1DPB ADDRESS +SEE_IF FINISHED +IF EQ NO PC ,READDR sDECREMENT THE ADDRESSES (SP)+,SPREVA+2(RO) sMOVE THE CYLINDER ADDRESS (SP)+,SPREVA+1(RO) tMOVE THE TRACK ADDRESS (SP)+,SPREVA(RO) tMOVE THE SECTOR ADDRESS $CYL(RO) 1CLEAR THE CURRENT CYLINDER ADDRESS :EEC(.O) .&;&m CURRENT TRX/SEC ADDRESS ° sROUTINE TO A RECAL WITH NO DPB ACTIVE : sCALL [l 3 [l 000107 041364 050752 050736 RE TURN RECALO: MOVB 18: JSR GENDPB B8R TST 24: BEQ RTS QORIVE,GENDPB PC.RECALO ;DRIVE ADDRESS ORECAL , GENDPB + $COMND sRELCALIBRATE COMMAND RO,RPO7 1DRIVER ENTRANCE 14 GENDPB+$TATUS '2“‘: :DRIVER DIDN'T ACCEPT ;SEE IF FINISHED i8R IF NOT FINISHED :OP8 ADDRESS FOR COMMAND THE COMMAND Fo CIRI0BO APOT PERF EXER MACRD vO4.00 1-DEC 83 10:352:28 PAGE 44 5€Q 0108 MAIN PROGRAM ' ' ' N ' MOV MOV MOV MOV JSR RE TURN [ 000004 000006 000002 050734 000173 177776 041364 050745 050744 050746 > 2 READMD: MOVE MOVE MOV MOVE MOVE 050736 050740 050752 ~ > St S et S ri e vt TP sUTILITY READ MEADER ROUTINE : sCALL 2¢: 000006 000006 ADD RTS ' P [ : ' b3t T S 4(SP),GENDPB .« TRK + TRACK ADORE SS 6(SP).GENDPB+$SEC 2(SP),GENDPB+ $CYL (RO),GENDPS OROMD,GENDPS+ ;ORIVE sSECTOR ADDRESS ;CYLINDER ADORESS NMUMBER ' 0-2,GENDPB + SWCNT huuuo CTR = 2 JAPO7 sORIVER muct ;0P8 ADDRESSFOR COMMAND 14 ;ORIVER DIDON'T ACCEPT COMMAND GENDPB.STATUS 3F INISMED? 24 s8R IF NOT (SP),6(SP) JADJUST STACK FOR RETURN 6,5P JADJUST RETRUN POINTER +RE TURN JRETRY THE PRESENT OPERATION : ' ' 000016 001325 000002 000016 44 001322 3 MOV JSR RE TURN RE TURN2 JRETRY COUNT JRETRY UNSUCESSFUL s SUCESSFUL RE TRY .nom IF A DIFFERENT ERROR OCCURS DURING JRETRY, THME ROUTINE EXITS TO ‘ERPRC1’ PC,GODRIV $TATUSCRO) 14 2¢ RETRY.1 02,(5P) 64 2¢: g; zzn.ouwno) .‘om TERMINATE NORMALLY ? ST MASK 115 m msn 07 34: BNE ST BNE B8R e a4 1BR IF NO BNE as: 38 SRPER1(RO) 7 54 07, MASK JRE-START ORDER ;ORDER FINISHED? i8R IF NOT ;B8R IF ERROR + INCREMENT RETRY COUNT + INCREMENT RETURN :GO T0 EXIT 18R IF NOT IMAKE SURE THMAT THE DRIVE ERROR REG IS CLEAR i8R IF NOT ;CONTINUE RETRY +EWN ERROR? BIT eBIT1, SRPDSCRO) ;'EWN' BIT MASK, SRPER1(RO) 8EQ BR 001322 T.RETRY hv SRETRY: JSR 18: ST 8EQ 8MI INCE ADD B8R 001322 S0 017174 51 017202 52 017204 S3 017212 54 017214 S5 56 017216 57 017224 MOV JSR GENDPB BR ST 8EQ MOV 14: RO ;0P8 ADDRESS os:cion.-(sn SECTOR ADDRESS OTRACK, -(SP) s TRACK ADODRESS OCYLINDER, -(SP) sCYLINDER ADDRESS PC ,READDR BEQ 74 St 7 STILL SET? iNO, REPORT DIFFERENT ERROR 1SET, RETRY ;SAME ERROR? 1BR IF NOT C2RJ0BO APOT PERF EXER MACRD vO4.00 1-DEC-83 10:852:28 PAGF 4.1 GY 3£Q@ 0109 MalN PROGRAM S8 017226 S0 017232 0 017 61 0172642 68 0172604 o4 017250 oS 017254 105287 123787 001327 001325 001324 000207 004787 024354 004737 024136 005726 s 01725 000207 68 017260 104418 055650 69 017264 000137 007636 001325 58 o8 7 8s: INCE CP8 RETRY.) RETRY RETRY.1 s INCREMENT RETRY COUNT ;DONE ? /1S JSR JSR st oC JRE JREPORT DIFFERENT ERROR PRINT LINE7 JADJUST STACK POINTER FOR DIRECT RETURN Ane $0€ 1RY LINES LINE? (5P)e /TS »C DISPLY ,LINSM P ERPRC | JOR IF NOT DONE +PE TURN +'DIFFERENT ERROR DURING RE TRY" IREPORT THE ERROR H CIRIOBO MPOT PERF EXER MACRD vOS8.00 1| -DEC 83 10:52:20 PAGE &5 SEQ o010 MAIN PROGRAM JROUTINE TO UPDATE TvE PERFORANCE SUPPWRY STATISTICS 1 f sCALL: - ; ’ o LI FRAR [ oo e oemgn 10 017308 g:on 000006 017570 gn :;a:.'.': 008237 017570 1 {‘s gnn guu' . ASR I ) ”amz gzamnm REES S anx e o i‘gm 003550 50008 se.Siatss [ e gy PaCTOR STVERT 10 & MO CORT 90 (R0) .FACTOR ;sustaact S’ — £0. 4CODE(R0) 5% S17e0e SSiTsY oSooie aunu 005766 000008 fs'v '&&‘23 ) MY oL MARIIS WTOTL+2(RO) 041100 M 017416 0016 ®€Q B SN S seeoss é:x‘ms fi 000060 zs:{nu 005726 §. 7 017450 mmmm &8‘628 063760 017570 000036 40 017466 005560 000040 41 017472 063760 017570 000072 AOC 45 017514 012746 041100 "oV &a i sosres oooucs 01753 912660 nm’n’ nov g o) O1732¢ 904737 S%ou3e -4 B if omu' :{m ci27e0 005560 m' 000070 000066 3 gmu’ Tyt ss 17564 S7 017566 005726 7 64: 7 9 vES - -— :’u't.mn--mmmr m-«nsv 9041100, - JGET LOW JGET WIGM DIVIDEND OTvine 1 ion :gu REP©OvCOUNTER LINIT YET ? ¥ w0 o 2150 ;AD ANY CARRY - SOF Biven isv g‘gh"”' :=; w'%'nn' P 02, $CODE(RO) .suvgmuamn g FACTOR,+2(RO SROPAS(RO}ADD ANY JADD MORDS READ PER PASS :i:t‘mgusumn 44 017510 ouus' mg INITIAL AQORESS g °SMTOTL+8(RO .::J '“"u’- e’JGETCanmyLOW WOV M 01276 :” e, Srem T TSNg "0 ETIOR o o é 017366 016066 ngnmw 017376 —— ADD =c ow ST RTS v:3..-:&-«&» +ADD WORDS READ TO REP COUNTER m&-«: :’9; SGET nxoo” SRTOTLAG(RO) ' 4ADD MY cuuao‘«vi CAR m' mmmxsa 'm' 3'&:0:'". 1OTVIDE OY 1 K10°6 o1, IRTOTL(RO) o:im.u-o) te . (SP)e sUPDATE The ro"v'u AR08 READ 1ADD ANY CARRY JGET WIGH € LOW REMAINDER OFF STACK e 191D 8ep IGET CONTER LIIT YET 7 ?':;o.m“‘” MIGHReACH READOER (SP)e JGET QUOTIENT OFF STACK w~ EMER MACRD v08 .00 | JEC 0% 10:52:0% Pk &5 ) g‘lflfl OVLOOO 19 FCTOR; .w%0 o e o ——— — | ———— i — . —— %’“’”!‘m‘.fll" 10:32:78 PacE & 1k Gl . sac 1otu“nmwm-wflw“mu 2 33 — — o — ey aw~ EER FRORD V08 .00 | -SEC 88 10.%2.09 PucE &7 mm mm%tfifi%% SEE i - - S e P - 5 #E e — - - 3 S e — ———— " . a— - —— . o_— G —— e e - m aw~0‘~~..l¢. 90-52-20 Puck @ ! e = | e CIRJOBO APO7 PERF EXER MACRD v04.00 1-DEC-83 10:32:28 PAGE &9 N9 MAIN PROGRAM 1 sSTART TvE COMMWAND FOR THE DPB IN RO sCALL: a H 8 020242 010037 020252 9 020246 004037 041364 10 020252 000000 11 020254 000000 12 020256 012600 ' RE TURN 19: MoV JSR GODRIV: MOV 2¢: , 13 020260 062760 000001 000052 14 020266 15 020272 16 020300 17 020302 18 020310 19 020314 005560 000054 21 020326 000207 MORD HALT MoV 1OP8 ADORESS uo. -(SP) 1SAVE RO O ;ORIVE BLOCK ADORESS RO, 2 RO.RPO7 SP)e, RO n.ooinc(ao) ADC ionoa(ao) cHp BEQ ADD ADC ADD 5s: 0P8, RO PC . GODRIV ADD ADC 000034 000012 001412 062760 000001 000046 005560 000050 062760 000001 000076 20 020322 005560 000100 JSR - $ 020240 010046 "oV w S ' D f sCURRENT DPB ADDRESS sCALL THE REJECTED REQUEST ;RESTORE RO HERE s INCREMENT THE OPERATION COUNT mva.a(ao).ocmao)fiom COMMAND REQUIRE A CYLINDER CMANGE ? g iBR 01, $SEEXS(RO) m SEEK COUNT PER PASS $SEEKS-2(RO) SADD ANY CARRY 1,$STOTLC(RO) ; INCREMENT SEEK COUNT TOTAL 1ADD ANY CARRY 510 CIRIOBO RPOTM PERF EXER MACRO vO4.00 1 -DEC 83 10:32:28 PAGF MAIN PROGRAM nul,ee sROUTINE sCALL i N : OX® 116060 000166 000010 000012 000174 000222 016060 016060 016060 016060 116060 116060 016060 112760 122760 001473 004737 032777 001467 000744 000146 000142 000136 000004 012704 013705 004737 010560 042760 001002 000010 001466 021572 000020 000377 016060 016060 005460 012760 020566 020572 020574 105760 100407 112760 177776 031500 000020 sCALL ROUTINE 'NN' 'WT* 3 ‘T SEQPAR: 000010 021412 000010 021412 PC,SEQPAR ‘W' 000052 012704 004737 000427 JSR : : 000054 :DPB8 ADDRESS RE TURN sWHERE 005760 001010 005760 001005 012704 004757 000453 oDPB ,RO : 3 020330 020334 020336 MOV MOV H ONN, SPACK(RO) 1$: 'R* 000021 000020 000004 000120 000400 000022 4 000026 000024 S¢: COMMAND= 1 COMMAND= O (NOT USED IN ROUTINE) :+IS THIS THE FIRST OPERATION ? ;BR IF NO BNE MOV JSR 1s O$SEC,.R4 PC,CKLMTS MOVB MOV $RPCS1(RO), SPREVO(RO) $SEC(RO), $PREVA(RO) 1 SAVE CURRENT PARAMETERS sSAVE PREVIOUS TRACK/SECTOR ADDRESS MOV $RPDA(RO), $SEC(RO) sCURRENT SECTOR £ TRACK ADDRESS 3 ;B8R IF NO sGET INDEX TO SECTOR ADDR STORAGE IN DPB 31GO CHECK DISK ADDRESS LIMITS :BR IF NOT AT END OF SEQUENTIAL ADDRESSING SCYL(RO), SPREVA-2(RO) $RPDC(RO),$CYL(RO) MOV JSR 0$SEC.R4 PC.CKLMTS MOVB MOV MINSEC(RO), $SEC(RO) MINTRK(RO), $TRK(RO) 3 $SAVE PREVIOUS CYLINDER ADDRESS ;CURRENT CYLINDER ADDRESS sGET INDEX TO SECTOR ADDR STORAGE IN DPB :GO CHECK DISK ADDRESS LIMITS :BR IF NOT AT END OF SEQUENTIAL ADDRESSING sRESET SECTOR ADDRESS sRESET TRACK ADDRESS MOV MOVB cMPB MINCYL(RO),$CYL(RO) sRESET CYLINDER ADDRESS 04, $CODE(RO) :1SET CODE TO READ DATA 0-2,$PACK(RO) :WAS WRITE DATA IN PROGESS ? JSR BIT PC, SEOP 0SWO4 , 8SWR BEQ 000020 -1 .WERC(RO) BR 3s: DISK -2 COMMAND= 1ST BEQ 160454 COMMAND=+ IS THIS THE FIRST OPERATION ? BR 000012 000024 000026 THE :GET COMMAND NUMBER OWERCoZ(flO) MOV 000010 000011 OF TST BNE MOV 2%: READ OR WRITE CAN BE ONE OF THE FOLLOW NUMBERS; BR 000027 000032 000034 000010 000012 5EQ 0117 TO SETUP PARAMETERS FOR A SEQUENTIAL : 3 S50 84 :BR IF YES (START TESTING, 94 ;BR IF NO 24 ‘'T' COMMAND) sTHIS IS THE END OF PASS 3D0 NOT DROP DRIVE AT EOT (SWO4=1) ? stMUST SURE ADDRESS IS NOT ‘BSF' TRACK MOV MOV JSR MOV B8IC BNE INCB MOV MOV NEG MOV @4$SEC,.R4 sGET INDEX TO SECTOR STORAGE WRDCNT RS sWORD COUNT IS MAXIMUM PC,CHKWC sCHECK WORD COUNT FOR MAXCYL/MAXTRK RS, $WRDL(RO) 1GET WORD COUNT 0377.0|RDL(R0) $1IS IT LESS THAN ONE SECTOR WORD COUNT ? 4 1BR IF NO S$WROL +1(RO) 1SET TO ONE SECTOR $WRDL.CRO), SWCNT(RO) 1STORE FOR 2'S CWLEFENT WORD $WRDL(RO), $HLDWC(RO) sHOLD WORD FOR ‘RELBUF* ROUTINE SWCNT(RO) ;CHANGE WORD COUNT TO 2'S COMPLEMENT 0256.,8SSEC(RO) .secroa SIZE FOR READ OR WRITE TSTB BMI $PACK(RO) 6 MOvVB €4 ,3CODECRO) 1'R' OR ‘W' COMMAND FOR THIS DRIVE ;BR IF WRITE ;CODE FOR READ DATA ? QWRTDAT, SCOMND(RO) sGET PATTERN CODE PC sRETURN sPATTERN CODE :SET PARAMETERS SELECTED INDICATOR $PACK(RO) sSET *T* (SP)« ;CLEAR STACK LEVEL SNEXT(RO) MAIN COMMAND FLAG IN DPB TABLE s;CLEAR 'PARAMETER SELECTED' INDICATOR 1 JUMP TO MAIN BACKGROUND LOOP < RS,$SPATTC(RO) @-1,SNEXT(RO) —— 8s: 9s: :OP CODE PC.GETPAT A —— ——- 78: ? ————————— 006340 1BR IF YES 1CODE FOR WRTDAT 1LOCKED IN "READ ONLY" MODE & 000137 000026 000130 000i30 5% 02,$CODE(RO) RODONL ¥ UP FOR EXIT U 105060 005060 005726 000024 000002 $SET . 020652 177777 68 ;ORIVE CODE *OR OPERATION 78 - 020640 020644 001424 000002 000161 021352 000030 ORDDAT, SCOMND(RO) 000002 ——————— . 020634 000171 —— el 020612 62 020616 63 020620 020626 112760 000415 005787 001366 112760 112760 004737 110560 012760 000207 SEG 0118 i e S8 020602 59 020610 EXER MACRO vO4.00 1-DEC 82 10:32:28 PAGE S0-1 —— CIRJIOBO RPOT PERF MAIN PROGRAM ClIO CIRJOBO RPOT PERF EXER MACRDO vO4.00 1 -DEC-83 10:352:28 PAGE S1 DO 5EQ 0119 O NP N Bt e MAIN PROGRAM sGENERATE PARAMETERS FOR THE OPERATION sCALL : MOV o0P8 ,RO ;DPB ADDRESS 3 [l [l 037206 001424 GENPAR: JSR 1ST BNE BIY BNE MOV JSR cHe BHIS 160242 000010 032102 001502 000002 1%: 000124 000126 2%: sCYCLE THE RANDOM NUMBER GENERATOR 1s 18R OSuO0 , ISWR 1s 08.,%5 PC.GETREM RS.RATIO 14 02,.RS 31BR IF SET - READ ONLY sREAD/WRITE SELECTION DIVISOR aGET SELECTION VALUE sDETERMINE IF READ OR WRITE :BR IF READ sSELECT WRITE DATA COMMAND 1SELECT ADDRESS 1 SELECT READ OPERATION CODE ;SWAP BYTES IN RS 04 ,RS 1 TABLE OFFSET FOR READ CODE RS, SNCODE(RO) sMASK OUT ALL BUT BIT O ;COMMAND SELECTION C(IK TO CONTROL BLOCX $RPDACRO), SNSEC(RO) 1SECTOR AND TRACK sCYLINDER NUMBER RANDOM RANCYL sENABLE RANDOM ADDRESS SELECT ? s YES 1 1BR IF NO $SOPERC(RO) 000052 000124 000125 000126 YES 1SEE IF SWO SET $LONUM, RS RS SOPERC+2(RO) 000054 000124 021412 sLOCKED IN "READ ONLY" MODE ? SRPDC(RO), SNCYL(RO) THEAD: 001510 021230 PC, SRAND RDONL Y o*C1,.RS 177776 000146 000142 000136 PC ,GENPAR -3 ] 037306 000004 000122 000174 000222 JSR RE TURN :IS THIS THE FIRST OPERATION ? ;IS THIS THE FIRST OPERATION ? 24 :BR IF YES 18: OS$NSEC . R4 PC,.CKLMTS sGET INDEX TO SECTOR ADDR STORAGE IN DPB 3GO CHECK DISK ADDRESS LIMITS 2s: HINSEC(RO).ONSEC(RO) 3s :BR IF NOT AT END OF SEQUENTIAL ADDRESSING tRESET SECTOR ADDRESS MINTRK(RO), SNTRK(RO) sRESET TRACK ADDRESS MINCYL(RO), SNCYL(RO) sRESET CYLINDER ADDRESS 14 tRE-CHECK FOR 'BSF’' TRACK RANSIZ +GO CHECK FOR RANDOM WORD SIZE CZRJIOBO RPO7 PERF EXER MACRD vO4.00 1| -DEC-83 10:32:28 PAGE S2 E10 5€Q 0120 sGENERATE A RANDOM CYLINDER ADDRESS BETWEEN VALUES "MINCYL' €& "MAXCYL® 021062 021066 021072 021074 021100 021102 021106 021112 000134 000136 RANC YL : 000136 032102 000136 000126 18: 35553 % 3347£833 33578832© §§§2§§3§ znvO OB YR NE Al e MAIN PROGRAM MAXCYL(RO),RS HDCK(N).IS HMVL(M).IS $GET MAXIMUM CYLINDER ADDRESS s"MINCYL® AND "MAXCYL® THE SAME ? 1BR IF THEY ARE $GET NUMBER OF ALLOWABLE CYLINDERS 'C GE TREM .mm DIFFERENCE TO USE AS DIVISOR 1GET THE RANDOM AUGMENT RS, INCYL(RO) lSY“ CYLINDER ADDRESS IN DPB MINCYL(RO),RS sNEW CYLINDER ADDRESS sGENERATE A RANDOM TRACK ADDRESS BETWEEN VALUES *MINTRX' 016005 026005 001407 66005 005205 004737 066005 110560 000140 000142 RANTRK ; 000142 032102 000142 000125 18: £ ‘MAXTRKX' MAXTEA(RO) RS MINTRK(RO),.RS 1GET MAXIMUM TRACK ADDRESS :smTM(N).'S 1GET NUMBER OF ALLOWABLE TRACKS s INCREMENT DIFFERENCE TO USE AS DIVISOR 1GET THE RANDOM AUGMENT sNEW TRACK ADORESS :1STORE TRACK ADDRESS IN DPB 14 PC.GETREM MINTRK(RO),RS RS, SNTRK(RO) $'MINTRK' AND 'MAXTRK' 1BR IF THEY ARE THE SAME ? sGENERATE A RANDOM SECTOR ADDRESS BETWEEN VALUES ‘MINSEC’ 016005 001407 004737 110560 000144 000146 RANSEC: 000146 032102 000146 000124 MAXSEC(RO),RS ?}NSEC(M).RS MINSEC(RO),RS RS PC,GETREM MINSEC(RO),RS RS, SNSEC(RO) & ‘MAXSEC’ 1GET MAXIMUM SECTOR ADDRESS 3 'MINSEC' AND 'MAXSEC' THE SAME ? 1BR _IF THEY ARE 1GET NUMBER OF ALLOWABLE SECTORS s INCREMENT om TO USE AS DIVISOR m SY“ SECTOR ADDRESS IN DPB ADDRESS JUST GENERATED IS NOT ‘BAD SECTOR FILE' 012704 004737 000404 004737 000137 000124 021412 037206 021062 2%: @INSEC, R4 ;S.CKU"S +GET _INDEX TO SECTOR ADDR STORAGE IN OP8 +GO CHECK DISK ADDRESS LIMITS PC, $SRAND RANCYL ICYCLE THE RANDOM NUMBER GENERATOR 1GO GENERATE NEW ADDRESS 1BR_IF NOT AT END OF SEQUENTIAL ADDRESSING CIRI0BO RPOT PERF EXER MACRD vO4.00 1 -DEC 83 10:52:28 PAGE S8 F10 SEQ 011 i 3 ¥RRER JGENERATE A RANDOM BUFFER LENGTM BETWEEN 6 € THE VALUE IN “WRDCNT' RANSIZ: MOV 157 001466 001500 e SReRRRR OB IO NS ah, e PROGRAM BNE ING JSR cw 8GE 2 RS PC , GE TREM RS, 24 BR RANSIZ 24 mov JSR . Ra OINSEC PC, CHcuC 38: C8 02, INCODE(RO) 082102 037206 000124 021572 000002 000122 WROCNT RS RANDWC 000377 BNE 8IC as: = MOV M 377,85 S RS, SUROL(RO) sGET MAX WORD COUNT sSELECT A RANDOM WORD COUNT ? NOT IF R 1B s INCREMENT THE MAXIMUM WRD CNT uoxvm.vmvn.a mcumusstmor 18R _IF NO ICVG.! THE RANDOM NUPMBER GENERATOR sGET INDEX TO SECTOR STORAGE WORD COUNT IS TOO LARGE TO FIT +SEE_IF 1IN REMAINDER OF TRACK, 1IF SO, THEN ADWUST m COUNT TO FIT ON TRACK, .fl"! OPERATION ? 18R _IF NO l‘!?'“ PARTIAL SECTOR ? 18R IF NO, ELSE, sMRITE AT LEAST ONE SECTOR $WORD COUNT sGET A RANDOM PATTERN NUMBER 004737 000002 000122 RANPAT: CMP8 02, SNCODE(RO) 021352 000123 AT mm 000130 RANXIT: nt'n MOVE RS, SNPATC(RO) BNE JSR RANXIT PC,GETPAT :éx.mt(no) sWRITE OPERATION ? 1BR IF NO 1GET PATTERN CODE sMOVE PATTERN CODE TO CONTROL BLO0Cx 1SET PARAMETERS SELECTED INDICATOR sRETURN sROUTINE TO SELECT A PATTERN 001476 GETPAT: MOV ST 001476 037206 032102 44 021406 45 021410 18: 24 BEQ MOV B8R JSR JSR ST 8EQ ASL RTS 016. RS PATTERN 14 PATTERN,RS 24 PC. SRAND PC.GETREM RS GETPAT RS PC s SELECT PATTERN lfivzs‘! RANDOM PATTERN SELECTION ? :US! INDEXED PATTERN NO :CYM THE RANDOM NUMBER GENERATOR 1GET CODE ..u:sx:amm ZERO SELECTED ? :m CODE INTO TABLE INDEX GL1O CIRJIOBO APOT PERF EXER MACRD vO08.00 1-DEC-88 10:52:28 RL cPflS ROUT INE T L LAY MAIN PROGRAM ’ ' ] i3 . i L) SPOINTER R4 PC,OANTS MoV "oV JSR 2 TURN MERE IF NOT END OF SEQUENTIAL ADDRESSING § : R0 « DPR ADDRESS BEFORE CALLING TME ROUTINE 060004 026460 002008 016064 20 0216440 21 021442 002008 116064 23 021454 002002 19 021432 22 021450 g 126460 121460 116014 i~- Poiwien 000001 000142 000002 000142 000001 BGE "nOove 000136 000146 000136 121460 52 021474 105264 59 021534 40 021536 116014 126460 003407 116014 116064 005264 026460 003403 062716 41 021542 000412 43 021544 016046 44 021550 45 021552 46 021556 47 021560 48 021566 49 021570 TO SECTOR STORAGE BEFORE CALLING TTMTME ROUTINE STORAGE POINT IN OFS a«in.mcn) 1POINT TOIs TORINDER ADDRE BELOW MIN. SS ? MINCYL(RO) an gon.mrh ADDRESS BELOW MIN. ? 18: C 8 FIT & =] MINTRX(RO ) l(ll) RESEY TRACX TO MIN. ('r).“t gt? ADDRESS BELOW MIN. ? MOV MINSEC(RO),(Re) ofifl' SECTOR TO MIN. 000146 BGE sLOOK FOR MAX m LIMITS, FOR END OF SEQUENTIAL ADDRESSING AND 003404 535 021500 34 021506 35 021510 56 021514 7 021522 58 021526 OCL’. RETURN MERE TO RESET CISK ADDRESS sALSO CHECK THAT ADDRESS IS NOT ‘BAD SECTOR FILE' 30 021 51 021470 - k3 CRLMTS: ADD ov [[1¥3 "oV 000002 26 g 29 021 esces 21? ‘ 15 021412 16 021414 17 021422 18 021424 = 10P8 ADORESS JPOINTER TO SECTOR STORAGE (9SEC OR INSEC) IN 0PSB : AOORE S 1S ROUT INE 005316 026426 001004 126460 001742 000207 000144 $8: 000146 000001 000001 000140 000146 000142 000002 000002 000001 000134 as: S¢: 68: 000002 78 000002 000001 BLE Move I% B C8 BLE 000154 MINTRK(RO) . 2(Re) JINCREMENT TO NEXT CYLINDER BLE ADD 82.(59) 1ADJUST RETURN TO RESET DISK ADDRESS PARAMETERS ] FEL(RO),-(SP) (SP) JCET 1ST FE Erd 204, (59> & ‘ BEQ 1(R4). TRKLMT(PO) -mn:usrmmmr as DEC ce ] 84: mcuo) (Re) afl!' SECTOR ADDRESS 1(R4) TO NEXT TRACK ADDRESS z(“).flfl(”) TRACK ADDRESS OVER MAXIMUM ? 18R IF MINSEC(RO),(?))u“fl' SECTOR ADORESS MOV nove INC [ EEl 000156 ) ,MAXSEC(RO) .ngc't:mmmr P8 RTS 2(R4),MXCTLCROY' PC TRESET LTS ss CYLINDER ADDRESS OVER MAXIMUM ? JOMECK NOT TO READ OR WRITE BAD SECTOR TRACK CYLINDER (LAST CYLe1) JLOOK AT LAST USER CYLINDER IS THIS THE BAD SECTOR TRACK ? B8R IF YES sRETURN c» H10 W07 PERF EXER WACRD vO4.00 1-DEC 83 10:52:28 PAGE 55 naly % Lot nivemr‘uq'mu : B "Ov i ie : g ='8'.'.'.' CHAT L {1 eomes O W Mo :0 : TuRN WITH RS CONTAINING TTME OESIRED WORD COUNT ‘RS © DESIRED WORD 30 031010 Sororr ooMes Goms: g 021612 105760 000142 S8 - R—— E' 2 021630 026064 000134 000002 guun 126064 000140 000001 18: .iuuu 001016 OP MAXCTL(RO),20M) Eo MAXTRX(RO), 1(R4) o &ggg Sicoee 000148 37 orees oul!m” 000400 i 8a i £ s & 021676 003420 a8 031700 Oroess 021702 000416 a6 021708 000156 47 021710 005316 48 caini2 000002 49 021716 - T @ 001010 S0 021720 016046 000154 s R se: AXTAN(%0) v‘é‘g’i’&:fi) ' P ' s - . msmmo: NWMMM! RS MOV o® FEIRO),(SP) (SP) R4),(SP)e g B ifug (sP) DEC nOve cre 34 031734 03266 001744 000207 2 e| oV oV 33 021750 st 1ieeie 000001 55 021736 56 021740 g 8€Q A1 gums MDvTR gwua 126050 000140 000134 4 mgflt OR INSEC) In OF9 ‘ u“ I INDER (LAST Cvi.1) USER LAST (R0). -¢v) T _LAST T NEXT TO LAST TRACK w?osno: $P)es(5P)e e JGET 18T FE JLOOK A 1GE BR TRACK BEFORE BAD SECTOR TRACK ? '!S(WIMOM'O“ICM) 110 m=é.b<Mu_¢c.u«n.).mnu“mm.nuxmu. m o;emLItg TSTIREHATH i y ;| fes i l EE$3 34 1)S48 44 m~ ENER PRCRD v08.00 | DEC 98 100 P w1 w1 S0 018 VTTON 15 e ComTEn MOUTINE 70 COPRESS A LIST [l Y8 2ol ~F R AR _qil R{RIA2I2-32337ITILICRi| ARAR i e% !|+ i . “> m i §7 | —— . . i —— - — o — e — : Res ¥ fadia i"- e Sastta | 33733 g! g A- g A i 00 1 9C 82 0.0 PagE N7 2 " el — M10 (P - tae “ fp v re ot o tace soTNTER P? (hes g anes C gpes iR R X T s e Lhem: g Aned gpe m ot AT DL Y TR i ne e a8g B &5 03030 000137 orseds (&L 8 1 fi' W.l WwWin 39 EnTRANCE SADIAPE I CORIER L ne et e LbEX: g pABSs 4ne x pemect rane LD 30 & geon ssace 023088 Sordtg oo LINESD: :,-..- ioy o 163 164 0231350 165 023134 1160 004737 000011 024420 3 g‘ ? " Bl o |87708 toon mes compy rfififigg i an ' T SEC = S§ITSTART CYL = C0C TSTART TR S TT STAR ol - o Efi;)!-cv) InOvECve ToSTACK JSR J +TYPE IT IN DECIMAL ISPLY MOVe JSR TYPE 2 BLANKS $TRK(RO), (SP) PC.LINDEC .%’omu sTYPE IT IN DECIMAL —— A — i - —— i — . m——. . — — e mmrmcu MESSAGE GENERATION 166 023140 167 023144 168 023150 169 023152 170 023156 171 023162 {3 023166 104418 104418 mot-&tc&u.mamsvs 056610 055126 005046 116016 000010 004737 024420 104414 001208 000207 174 ,BLNXS2 ,LINSSS CLR “(SP) MOVE $SEC(RO),.(SP) JSR PC,LINDEC DISPLY ,SCRLF /TS PC JTYPE 2 BLANKS 3'START SEC » * JCLEAR STACK ;SECTOR ADDR TO STACK sTYPE IT IN DECIMAL sPRINT LINE SF OF ERROR MESSAGE ig 177 023170 178 023176 179 023200 180 023204 181 023210 182 023214 183 023220 184 023224 185 023230 186 023234 {:; 023240 DISPLY DISPLY N10O s'RPDA = XXXXXX 032777 001420 104414 016646 004737 104414 104414 016046 004737 104414 000207 000040 155756 LINESF: BIT BEQ 055061 DISPLY 000174 MOV 024366 JSR 056610 DISPLY 055051 DISPLY MOV 024366 JSR 001203 DISPLY 18: RTS io’g ;'CCC TT SS 191 023242 004737 024444 195 023262 104414 054747 197 023272 104414 054752 202 023314 203 023320 204 023324 116016 004737 104414 000033 024420 054747 206 023332 116016 000032 104414 000207 001203 192 023246 004737 024420 193 023252 104414 054726 194 023256 004737 024420 LINS.1: 196 023266 004737 024420 RPCA = XXXXXX* 0SS, BSUR sSWITCH S SET ? 14 18R IF NOT ,LINDAS :'RPDA = $RPDACRO), -(SP) ;PUT SE SECTOR/TRACK ADDRESS ON THE STACK PC.LINOCT sTYPE IT .msz nm 2 BLANKS .LINCAS $RPDCCRO), -(SP) .m DESIRED CYLINDER ADDRESS ON THE STACK PC.LINOCT sTYPE IT ,SCRLF PC PREV ADR = CCC TT SS° JSR PC.READDR ;DECREMENT TRACK AND SECTOR ADDRESS DISPLY PC,LINDEC .S {PRINT 'S’ ;PRINT ‘PREV ADDR' JSR rc LINDEC DISPLY JSR PC LINDEC JSR DISPLY ,LINPS ;TYPE IT IN DECIMAL {PRINT *T* :TYPE TRACK IN DECIMAL TTYPE SECTOR ADDRESS 198 023276 016046 000034 199 023302 004737 024420 200 023306 104414 054726 201 023312 005046 MOV $PREVA+2(R0), -(SP) ;PREVIOUS CYLINDER JSR PC,LINDEC ;TYPE IT IN DECIMAL DISPLY T {PRINT * T CLR *(SP) sMAKE ROOM ON THE STACK 205 023330 005046 CLR 207 023336 208 023342 ggg 023346 004737 024420 gg 213 023350 214 023354 215 023360 216 023364 221 222 SPREVA+1(R0),(SP) ;PREVIOUS TRACK ADDRESS PC,LINDEC ;TYPE IT IN DECIMAL .S {PRINT ‘S MOVB $PREVACRO),(SP) JSR DISPLY RTS -(SP) sMAKE ROOM ON THE STACK PC,LINDEC ;TYPE IT IN DECIMAL ,$CRLF PC :'START CyL= CCC 104414 054772 004737 104414 024420 055006 016046 000034 217 023370 016046 000222 218 023374 004737 024420 gg 023300 MOVB JSR DISPLY 000207 LINS.3: DISPLY ;PREVIOUS SECTOR DDRESS END CyL= CCC' ,LINS3 LINE JSR DISPLY PC, Lmoec ,LINEN3 ;TYPE IT IN DECIMAL {PRINT * END CYL' RTS PC MOV MOV JSR '38 & 3C' ENTRANCE $PREVA+2(R0), -(SP) ;PREVIOUS CYLINDER $RPDCCRO), -(SP) ;PRESENT CYLINDER PC,LINDEC ;TYPE IT IN DECIMAL ;*ACTUAL CYL= CCC TRK= TT' —— co——n. —— CZRIUOBO RPO7 PERF EXER MACRO v04.00 1-DEC 83 10:32:28 PAGF ERROR MESSAGE GENERATION ROUTINES 223 023402 224 023406 oo 023412 226 023416 227 023422 <28 023426 229 023430 230 023434 23 023440 232 023444 233 234 235 236 c37 238 239 240 104414 013746 042716 004737 104414 005046 116016 004737 104414 000207 055022 063364 LIN3.4: DISPLY 000175 024420 001203 5EQ 0130 ,LINA3 sPRINT oBIT12,(SP) PC,LINDEC sCLEAR THE FORMAT BIT s TYPE IT IN DECIMAL MOV CYLNDR, -(SP) DISPLY LLINT3 BIC JSR 010000 024420 055041 Bl S57-4 sPRINT RTS PC ,S$CRLF :'BUFFER ADR= XXXXXX LINE4: 055140 241 242 BIT BEQ DISPLY NMBR WRDS XFRD= XXxx' 0BITO06,$TATUS(RO) ;DATA ERROR ? 18 :BR IF NOT ,LINMA sPRINT 'BUFFER ADR= MOV JSR $WROL(RO), -(SP) ;BUFFER SIZE PC,LINDEC s TYPE IT IN DECIMAL MOV SUB $RPBA(RO), -(SP) ;VALUE IN BUFFER ADDR REGISTER $BUF(RO),(SP) ;SUBTRACT STARTING ADDRESS ASR JSR DISPLY RTS ,LINS4 ;BUFFER ADDR ON STACK sCONVERT TO OCTAL & PRINT sPRINT ‘WRD CNT= ,LINX4 3’ (SP) sCONVERT INTO A WORD COUNT ,S$CRLF PC sCR-LF sRETURN PC,LINDEC NMBR WRDS XFRD = 000172 LINES: DISPLY 000172 000240 000002 000172 040000 1SEE _IF RH70 1BR IF NO $BACKUP THE BUFFER POINTER OOITll.QRPCSS(RO) 1 SEE WHICH WORD HALF DIDN'T COMPARE 1 +IF EQ, EVEN HALF DIDN'T COMPARE 92, SRPBA(RO) 1BACKUP THE BUFFER POINTER AGAIN 8$RPBA(RO), -(SP) 1'EXPCTD' DATA - AT THE BUFFER LOCATION PC,LINOCT 1 TYPE IT MOV JSR MOV ADD $RPDB(RO), -(SP) PC,LINOCT $RPWC(RO), -(SP) S$WRDL(RO),(SP) MOV JSR MOV DEC BIT OSSEC(RO).-(SP) 1SECTOR SIZE ON THE STACK PC,$D +DIVIDE WORDS XFERED BY SECTOR SIZE (SP)O.(SP) tMOVE REMAINDER UP THE STACK (SP) sDECREMENT WORD POSITION BY 1 o8IT14, ORPC52(RO) 1IS 'WCE' SET ? CLR 000176 ;LEAVE THE CPU BITS 04, SRPBA(RO) 'EXPCTD DATA’ :BACK THE ADDRESS UP sCHECK THE CPU (RH) TYPE SUB MOV JSR DISPLY 000022 032126 0tC174000,(SP) 030000,(SP)« 14 SuB 1%: sPRINT cHP BNE BIT BEQ WORD POS= Xxx' ,LINDS 92, SRPBA(RO) $CPUOP, -(SP) 8IC 000004 004000 RECEVD DATA= XXXXXX SUB MOV °* s:TYPE IT IN DECIMAL sPRINT LINE 5 OF ERROR MESSAGE :'EXPCTD DATA= XxXXXXX 055215 000002 001234 003777 °* $BUF(RO), -(SP) PC,LINOCT DISPLY 1%: WRD CNT= XXXX MOV JSR DISPLY 243 244 245 246 247 ' -(SP) ;CLEAR STACK WORD $RPDA+1(RO),(SP) ;PUT TRACK ON STACK PC,LINDEC s TYPE IT IN DECIMAL DISPLY 000016 ' TRK= CLR MOvVB JSR sPRINT LINE 4 OF ERROR MESSAGE 000100 *ACTUAL CyL= sACTUAL CYLINDER BEQ ,LINBS 1PRINT ‘'RECEVD DATA’ -(SP) tUPPER DIVIDEND TO ZERO 24 ;RECEVD DATA FROM BUFFER s TYPE IT .uoao LENGTH ON STACK ;MAKE INTO A POSITIVE NUMBER 1BR IF NO CIRJIOBO RPOT PERF EXER MACRO vO4.00 1-DEC B2 10:32:28 PAGF ERROR MESSAGE GENERATION ROUTINES 280 023674 o81 023700 c82 023704 013746 042716 284 023712 285 023716 286 023724 162716 032760 001401 290 023740 gé 023744 000002 004000 005316 104414 055253 104414 001203 004737 000207 024420 293 104414 013746 004737 104414 013746 004737 104414 104414 104414 000207 055270 063364 024366 056610 063366 024366 056610 056613 001203 104414 016046 004737 104414 104414 016046 004737 104414 000207 055323 000232 024366 056610 055333 000234 024366 001203 334 (SP) ,LINPS JSR PC,LINDEC RTS PC DISPLY sSUBTRACT 1 FOR AN ODD WORD sPRINT ‘WORD POS’ s TYPE THE POSITION ,SCRLF LINESA: DISPLY MOV JSR DISPLY MOV JSR DISPLY DISPLY DISPLY RTS JOXXXXX LLINSS CYLNDR, -(SP) PC.LINOCT ,BLNXS2 CYLNDR+2, -(SP) PC.LINOCT ,BLNKS2 ,LINXS ,SCRLF PC XXXXXX XXXXXX XXXXXX* s "HEADER CONTENTS OF ERROR SECTOR’ sHEADER POSITION sTYPE IT sTYPE 2 BLANKS ;HEADER POSITION 2 sTYPE IV sTYPE 2 BLANKS LINESB: DISPLY MOV JSR DISPLY DISPLY MOV JSR DISPLY RTS RPEC2 = XXXXXX' «LINEPS s . 'RPEC1 SRPEC1(RO), -(SP) ;PUT REGISTER CONTENTS ON THE STACK PC.LINOCT sTYPE IT ,BLNKS2 sTYPE 2 LLINEOS ;' RPEC2 $RPEC2(R0O), -(SP) ;PUT RE GISTER CONTENTS ON THE STACK PC.LINOCT sTYPE 1 ,SCRLF PC sRETURN 1*SECTOR IS ECC CORRECTABLE' 104414 104414 000207 055345 001203 327 ;gg 333 DEC DISPLY sPRINT LINE 6 OF ERROR MESSAGE ;S-“; 330 024070 g;é 024074 28: $'RPECL = XXXXXX 320 g 02£%6 000240 $1BR IF NO 02,(SP) ;SUBTRACT 2 FOR A DOUBLE WORD #8IT11,8RPCS3(RO) 3 SEE WHICH WORD WALF DIDN'T COMPARE 23 +IF EQ, EVEN HALF DIDN'T COMPARE ;PRINT LINE SB OF ERROR MESSAGE 3383 323 024056 324 024062 2% SUB BIT BEQ i 'HEADER FROM ERROR SECTOR 307 310 024014 311 024020 312 024024 313 024030 314 024034 315 024040 316 024044 317 024050 gig 024054 BNE ;;LEAVE THE CPU BIT $SEE IF RM70 sPRINT LINE SA OF THE ERROR MESSAGE 22:; 296 023746 297 023746 302 023752 023756 023762 023766 023772 023776 303 024002 304 024006 3382 024012 cHe sCHECK THE CPU (RM LINE6: DOISPLY DISPLY ,LINB6 ,SCRLF RTS PC sPRINT 'SECTOR IS ECC CORRECTABLE sPRINT LINE 6A OF THE ERROR MESSAGE 3 'SECTOR READ CORRECTLY AFTER N RETRY(S)' 104414 000406 055400 LINEGA: DISPLY BR ,LINC6 LING.2 sPRINT 'SECTOR READ CORRECTLY AFTER N RETRY(S)® sTYPE THE REST OF THE LINE sPRINT LINE 6C OF THE ERROR MESSAGE s ' CORRECTED ON N RETRY(S)’ cO——————————————— 289 023734 030000 $CPUOP, -(SP) 0*C174000,(SP) #30000,(SP )+ e - 287 023726 288 023730 001007 MOV BIC 5E0 0131 e 283 023710 022726 001234 003777 57 5 CIR JOBO RPO7 PERF EXER MACRO vO4.00 1 OEC 83 10:32:28 PAGE S7-6 ERROR MESSAGE GENERATION ROUTINES 055435 LINESC: DISPLY 8R 229 sTYPE THE REST OF THE | INE 3+UNCORRECTABLE AFTER N RETRY(S)’ 342 024104 g;g 024110 104414 000400 055465 LINE6D: ggc; DISPLY B8R sRETRY COUNT 358 024112 359 024114 360 024120 005046 113716 004737 3322 024134 000207 361 024124 362 024130 104414 104414 024420 055453 001203 ,LINUOG LING.2 3+UNCORRECTABLE AFTER N RETRY(S)" sF INISH TYPEOUT LING.2: CLR MOVB JSR 001325 DISPLY DISPLY RTS 365 -(SP) RETRY+1,(SP) PC,LINDEC ,LINRG ,SCRLF sCLEAR STACK sRETRY COUNT sTYPE IT IN DECIMAL :* RETRY(S)" PC sPRINT LINE 7 OF THE ERROR MESSAGE 33:9' 1 TOTALS; ERRORS:XXX 377 024136 104414 378 024142 379 024146 016046 004737 381 024156 382 024162 383 024164 384 024170 012746 060016 004737 004737 380 024152 385 024174 386 024200 387 024204 388 024210 389 024214 390 024216 391 024222 024226 024232 024236 024242 024250 024252 g: 024254 104414 104414 104414 104414 012746 060016 004737 004737 104414 104414 104414 032777 001401 000000 055574 LINE7: 000102 024420 055615 037404 032526 057771 057632 055633 000066 000207 154704 1¢: ,LIN?T s TOTALS; ERRORS $TOTALCRO), -(SP) :T0 STACK PC,LINDEC :TYPE IT IN DECIMAL MOV ADD JSR JSR OSMTOTL, -(SP) RO,(SP) PC, $0820 PC, $SUPRL DISPLY DISPLY DISPLY MOV ADD JSR JSR 037404 032526 057771 057632 001203 100000 DISPLY WRDS WRITN:XXXXX X10t6 WRDS READ: XXXXX X10+6° MOV JSR DISPLY 000056 400 & DISPLY DISPLY DISPLY BIT BEQ HALT RTS ,LIN7X ,PERIOD ,MSGX10 ,LIN7R @SRTOTL, -(SP) RO,(SP) PC, $0820 PC, SSUPRL ,PERIOD ,MSGX10 ,$CRLF 15,8SuR 1s PC ;PRINT * WRDS WRITN' ;ADDRESS OF LOW WORD ON STACK s CONVERT sPRINT sTYPE * :TYPE * X10%6° sPRINT ‘' WRDS READ’ :LOW WORD ADDRESS s CONVERT ;PRINT IT l"“ . sTYPE * .c X10%6' iCR-LF $SEE IF 'HALT ON ERROR' 1BR IF NOT sSWITCH 1S HALT sPRINT LINE 7A OF ERROR MESSAGE 1 TOTALS; SEEKS= XXXXX MIS POS ERRORS= XXX 412 024256 413 024262 414 415 416 417 418 419 420 421 3 CORRECTED ON N RE TRY(S) sPRINT LINE 6D OF THE ERROR MESSAGE ;:g 392 393 394 395 396 397 L ING6 LING.2 — 104414 000403 5EQ 0132 024266 024270 024274 024300 024304 024310 024314 024320 104414 012746 060016 004737 004737 104414 104414 016046 004737 104414 055535 000076 037404 032526 057771 055512 000112 024420 055555 LINE7A: %3&1 ADD JSR SR DISPLY DISPLY MOV JSR DISPLY LIN?P :&STOTL. -(SP) 2 TOTALS; - SWITCH 1S SKI ERRORS= XXx' SEEKS= * 1 TOTAL SEEKS 1DEVICE TABLE ADDRESS (SP) PC, 80820 1CONVERT THE SEEK COUNT PC, $SUPRL ,PERIOD ,LIN7M 1’ MIS POS ERRORS= ' $MISPOCRO), -(SP ) 1 TOTAL ERRORS +TYPE IT IN DECIMAL PC,LINDEC ,LIN7S 1’ SKI ERRORS= * R 236 024076 fi; 024102 D11 CZRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC 83 10:32:28 PAGE S7-7 ERROR MESSAGE GENERATION ROUTINES 422 024324 423 024330 424 024334 425 024340 426 024346 427 024350 :g 024352 016046 004737 104414 032777 001401 000110 024420 MOV JSR 001203 100000 000000 000207 18; 430 434 024360 :gz 024364 HAL T RTS SSKI(RO), -(SP) PC, L INDEC ,SCRLF 05W15, ISUR 1 PC 104414 004737 000207 055650 LINES: 022342 DISPLY JSR RTS ,LINSM PC,LINE2 PC 437 ;OCTAL TYPEOUT ROUTINE 439 : MOV 4‘3 : RE TURN sCALL: 443 024366 444 024372 016646 004737 000002 033442 446 024402 447 024410 062737 104414 000005 448 024412 449 024414 :gg 024416 452 453 454 012637 18: 012616 000207 016646 463 024440 4‘2; 024442 012616 000207 468 104414 ' : 000002 033412 032526 057771 .SBTTL ;ADDRESS THE LAST 6 ASCII DIGITS sTYPE IT MOV RTS (SP)+,(SP) PC LMORD (SP)+, 18 © ;GET THE ADDRESS OF THE ASCII STRING s ADDRESS ;CORRECT THE STACK sRETURN NUM, -(SP) iPUT THE NUMBER ON THE STACK 2(sP), -(SP) 1SET UP STACK FOR CONVERT JSR PC,LINDEC RE TURN JSR JSR PC, $5820 PC. $SUPRL sCONVERT IT TO DECIMAL sTYPE IT (LEFT JUSTIFIED) MOV RTS (SP)+,(SP) PC sRESTORE STACK POINTER ,PERIOD sTYPE .° GENERAL SUPPORT SUBROUTINES sDECREMENT THE SECTOR-TRACK ADORESS ' : MOV 3 RETURN JSR 0P8, RO PC,READDR ] ;0P8 ADDRESS sON RETURN THE STACK CONTAINS THE FOLLOWING: 475 ; :;z ; 476 o5..1¢ DISPLY 471 474 ADD DISPLY LINDEC: MOV sCALL: :;g sPUT NUMBER IN PROPER LOCATION ON STACK sCONVERT THE NUMBER TO OCTAL sCALL: 469 470 2(5P), -(SP) PC, $5820 sLEFT JUSTIFIED : ' 004737 004737 sPRINT LINE 2 OF ERROR MESSAGE ;ROUTINE TO CONVERT THE INPUT NUMBER TO DECIMAL AND TYPE IT ' 460 024424 461 024430 :g_s' :BR IF NOT sSWITCH 15 MALT sPUT THE NUMBER ON THE STACK MOV 024412 000000 456 :g; 462 024434 sCR-LF sSEE IF MALT ON ERROR - SWITCM 15 SET NUM, -(SP) LINOCT: MOV JSR 024412 455 459 024420 ;CONVERT & PRINT IT sTYPE IT IN DECIMAL 3 *DIFFERENT ERROR DURING RETRY' 438 445 024376 SEQ 0133 (PRINT LINE 8 OF THE ERROR MESSAGE :;5 433 024354 DISPLY 817 8EQ 154606 S : b 4(SP) = SECTOR ADDRESS 2(SP) = TRACK ADDRESS (SP) = CYLINDER ADDRESS CZRJI0BO RPO7 PERF EXER MACRO vO4.00 1-DEC 85 10:52:28 PAGE S7.8 GENERAL SUPPORT SUBROUTINES %, 5P 6(SP).(SP) 6(SP) 4(SP) 162706 Y 000152 000154 1DECREMENT THE STACK POINTER tMOVE THE RETURN ADDR DOWN THE STACK .am STACK FOR SECTOR sCLEAR STACK FOR TRACK SRPDA(RO),6(SP) .)SEC!O ON STACX 000174 000175 IRIIE 016616 005066 005066 116066 116066 016066 005766 001403 Fll 18: 2%: SRPDA+ 1(RO ) , 4( 5P TRACK -ADDRE $S SRPDCCRO),2(SP) sCYLINDER ADORESS 6(SP) {SECTOR 0 ? ' JBRANCH IF SO 6(5P) sDE ONE SECTOR as 1BRANCH TO EXIT aCsP) JALSO ON TRACK O ? H BRANCM IF SO SECLMTCRO), 6(SP) JLAST SECTOR 4CSP) " ONE _ TRACK a8 JEXIY 2(5P) ALSO ON CYLINDER O ? a BRANCH IF SO SECLMT(RO).6(SP) ILAST SECTOR TRKLMT(RO) . 4C 5P) {GET LAST TRACK 2(5P) ;DECREMENT ONE CYLINDER COUNT LSBTTL G611 wwil CLOCK CHECK ROUTINE i i!! il sROUTINE 70 CHECX FOR wwil-L OR xwil-P CLOCKS 710 CLFLG !S”! “NO a.aar " AVAILABLE ERRVEC, -(SP) i STACK OCHCLK] ,ERRVEC T chnon m VECTOR FOR P-CLOCK CHECK uu FoR 01,CLKFLG JSET P-CLOCK SLPVEC . R1 iXW11-P VECTOR ADORESS MUSYR. (R1)e SSETUP KW11-P VECTOR T0 ®Re, (R1) 'SET INTERRUPT PRIORITY 0-1667. ,O0LKCSE; LORD COUNTER BUFFER WITH 16 031, SR 1SET KULLP INTERRPT. CNT B 10US. REPEAT MODE CxCLKS 014.(5P) 1SETUP RETURN ADDRESS 024730 000004 MoV ST MoV CKCLK2, ERRVEC oILKS o-1,0L¢FLG nov .(& 1 ~N N~ ~ 042777 000207 MOV MOV 154356 MOV u.-.nc.n (R1)e B8R 024736 CXOLK2: m 057714 14: 001150 032024 003522 000004 005737 001410 00404 042777 1$: 177777 001310 001306 026352 000100 e a0 001310 CxCLK: CLR "oV 024656 000004 "oV ST 154460 000001 001510 MOV 001302 "oV 026352 "oV 000300 MmOV 174575 154432 MoV 000131 154422 MOV B8R 024664 CwOLK] ¢ m 000300 % &% § § £ §% ¥PdEzs 3 [ £8 333 - b3 $3 4 222858 ruELLy % =8 BENERRNNEYS et WO nn - OB v Ne i e . :3 ;: sg MACRO vO4.00 1-DEC-83 10:32:26 PAGE S8 TYPE ISTE 8EQ N MALY 24%: P CXCLKS: MOV RTS 1SET'® ERROR TRAP VECTOR FOR L -CLOCK CHECK sCHECK FOR Xwil-L 1SET L-CLOCK FLAG 1XKW1l-L VECTOR ADDRESS sSETUP Kwil-L VECTOR 1SET INTERRUPT PRIORITY TO 6 l“' KW1l-L INTERRUPTY 14,(SP) 1SETUP RETURN ADDRESS ,NEDCLK "flL%fiM!IflSVSM $AUTOB 24 $GETA2 START (SP)e+ ,ERRVEC PC i RUNNING l. IF NO MODE ? 1 ABORT sMALT s TRY AGAIN tRESTORE THE ERROR VECTOR s THIS ROUTINE IS USED TO SMUT OFF INTERRUPT TO THE SYSTEM CLOCK 1CALL PC,CLKOFF JSR " 1CALL ROUTINE 001310 000101 154270 00V100 154266 CLKOFF: TST 8EQ 8mI 19¢: 2¢: CLKFLG 2 14 gc :%ox.om 8IC RTS €100, 98LKS PC lg m AVAILABLE ? IF NO l. IF L-CLOCx ISHUT OFF KuWll-P INTERRUPT 1SHUT OFF KuWil-L INTERRUPT IEXIT KARI3E - H11 : i | §mM:;wm . m 68 025152 104401 056661 .3 m' w . Lm Ll 1TYPE 'DRIVE"' - — —— o ——— .~ —— 111 - 3 gBtyBe,gel : gv A i etot § R 109 Oooees Jossor ozsese —— m% 000104 g ol &N mg'"vE 000108 as§§ 000110 :5 it i 8O 7 OF SUvwaY if us am | i JTveg aval sz 33 i Bl Sht CI9.4080 9907 PUI £WR WACRO ¥O4.00 1 -SEC 83 10:82.28 SRGE 99-2 Ji1 5 JuIse -Ascaz &MW owe e setvog 10 TASCIz «Cmorsorrs ' Was nfiv. $5071(R0), () 11 u‘frc ol ASCIZ R 7 v / 5 o3 Jyon reeout T WOu ., WARO(RO),-(39) 1i3AE menocRo) roB TveeOuT e :x :-::-::.-cm 1SAvE sscin0) FomTeOUT o et o v -5 e TU 5140 148 00 wh K1l ML s 1% 'b.c ‘ o : ’ mnmm “c U sls W' B ROWTVED gé..m"* Frm e OO TP (N?.) BT -.~~ ff H i Hi i 3 orom E’ E:mf;"., "‘Efi%’-""fi Sf.? i 1} 3 | BT E’ !:'...,......F’ :&w S, .-vfl i ma STOTAL MILL NOT B DMORDENTED BEYOWD 77777 (32767.) Y 16: T L”m . ’ cre S CHR SEDRD vOU 00 | IRC 9% 0. %00 e S e Mil - ' e opey | asiiigDl i [__ihd OUTINE 7O TWR TE BLPSED O YW g“ fl :"4. ”) . f‘flfi ' (w). 0w ’..DM. e fiié;achLaa.. *Eéf“"' 2mm m%83fmmig.fmlmwfmi«@. Mm: BN TR SSITITISITRARARARA ,,;"’;r_w.;, l 12757 ’7‘"‘" “MM THE STACK 8 SOWZ RUNN & ING SOMZ ? w&’d‘%- s1acx @ oz JINTRWL 001314 DISPLAY INTERVAL FINISHED ? SET PERFORMANCE SUMMARY DISPLAY FLAG CIRJOBO APOT PERF EXER MACRD vO4.00 1-DEC-83 10:52:28 PAGE &1-1 kWil CLOCK CHECK ROUTINE 58 026526 59 626532 005037 000002 001472 38 CLm RT1 INTRWL .2 CIRJOBO RPOT PERF KWll CLOCK EXER MACRO v04.00 1-DEC 83 10:32:28 PAGF 62 Bl 5EG 0143 CHECK ROUTINE :COMMAND DE.CODE ROUTINE sCALL: : MOV JSR RETURNL RETURNZ 026534 026540 026542 026544 026552 026556 026564 026570 026574 026610 026614 005737 100375 104412 012737 013704 012764 005037 104401 177776 000010 KSR1: 18: + SCRLF 121527 103514 142715 122765 001003 004737 000507 122765 001003 004737 000500 122765 001003 ROLIN 2s: 000124 000101 000067 000060 177770 000124 177777 3% 030110 000104 RPADR, R4 «COMMA PC, $TKINT PC,CLKOFF LENTCOM 177777 A4s: Ss: SERVICE ? sSAVE THE REGISTERS sSET PRIORITY TO 4 tGET RP/RH BASE ADDRESS ;CLEAR THE ;CR-LF 'CONTROL C' FLAG :13SAVE 8SWR FOR TYPEOUT s sCONTENTS OF SWITCH REGISTER 33GO TYPE--OCTAL ASCIICALL DIGITS) sINITIALIZE TTY KEYBOARD $SHUT OFF CLOCK INTERRUPT WHILE WAITING : 'ENTER COMMAND' sREAD THE KEYBOARD :GET ADDRESS OF INPUT STRING (SP)+,RS CFLAG JSR PC,CKCLK RS @' T,(RS) 9 ¢'A,(RS) s YES :EQ TO AN ‘A (RS),0'7 1DRIVE NUMBER GREATER THAN AN ASCII 7 ? INC cMP8 BEQ cHPB BEQ cMPB BHI sWAS (*C) :BR IF NO TYPED? :ANY DRIVES ASSIGNED ? +BR IF YES ;JUMP TO START 38 124 (RS),e'0 124 @tC7,(RS) 'T,-1(RS) 4% 13¢ @'D,-1(RS) Ss PC.DROPD 177777 TTy MOV TST BEQ TST BNE JMP PC,.NEWASN 027700 000123 oPR4 ,PS YES +BLNKS]1 « SMSWR 2 SSWR, -(SP) TYPOC JSR JSR TYPE THE :ANY DATA TRANSFERS UNDER WAY 1BR IF s TYPE ELAPSED TIME sTYPE ', sTYPE 1 BLANK sTYPE 'SWR = 033510 024770 060061 024574 SR PC,S$TIME 104402 004737 004737 104401 BY s SYSTEM BUSY RETURN TYPE JSR MOV 003522 SET sCLEAR MASSBUS CONTROLLER TYPE TYPE TYPE 001542 IS NORMALLY sROUTINE IN INTERRUPT MODE OCLR,RPCS2(R4) CFLAG CLR 001334 3 ' CFLAG' :RETURN AFTER KEYBOARD SERVICED DTUW 056653 056611 034736 152334 004737 005205 122715 001465 122715 001410 121527 101117 026734 026740 026742 026750 026752 026756 026760 026766 000200 040640 000040 001334 001203 026226 PC,.KSR TST BPL SAVREG MOV MOV MOV 004737 104401 104401 104401 017746 104411 012605 005737 001405 005737 001141 000137 026716 040626 21,CFLAG 138 @'S,-1(RS) 68 sSTART SYSTEM CLOCK sPOINT TO SECOND CHARACTER :EQ TOA *'T* 2 1BR IF IT IS :BR IF 1DRIVE 1BR IF sLEAVE ;EQ TO IT IS NUMBER LESS THAN AN ASCII O ? IT IS ONLY LOWER 3 BITS IF CHAR NOT 'A* 'T! 1BR IF NOT EQ sASSIGN DRIVE FOR TEST $EXIT ;EQ TO 'D’ ? 1BR IF NOT EQ :1OROP DRIVE $EXIT :€Q TO 1BR 'S’ IF NOT EQ CIRUDBO RPCT7 PERF EXER MACRD vO04.00 1-DEC 83 10:32:78 PAGE &2 1 KWll LlcZ SEG 0144 CLOCK CHECK ROUTINE 026770 026774 026776 27004 027006 027012 027014 027022 027024 027030 027032 027040 027042 027046 027050 027056 027060 027064 027066 027074 027076 027104 027106 027114 027116 027124 027126 027134 027140 027142 027146 027150 027154 027160 027162 027166 027174 027200 0047387 PC, SCMND 000471 122765 177777 032777 152132 001012 005737 001053 001047 004737 000453 6s: 138 8s 78: 122765 001043 004737 177777 8s: 122765 001034 005737 001026 032777 001022 177777 9s: 000444 104413 005777 052777 005037 000207 STATISTICS 1EQ TO 'w’ ;BR IF NOT EQ ;LOCKED IN "“READ ONLY"” MODE ? 1BR IF YES s IS SWITCH O SET ? tBR IF SET, CAN'T DO "W’ COMMAND sWRITE DATA ;EQ 10 'R’ 2 ;:BR IF NOT EQ sREAD DATA :NO sLOCKED IN "READ ONLY" MODE ? :BR IF YES 3+ IS SWITCH O SET ? tBR IF SET, CAN'T DO ‘W’ sALL DRIVES ? 001413 126527 101015 004737 000407 104401 000601 104401 000137 sEXIT sEXIT 122765 126527 103411 142765 sTYPE 177770 030144 10%: 057773 11%: 060036 026552 12%: 151774 000100 177776 13%: 151764 124 9+C7,1(RS) PC.WATPAK tLEéS THAN O Y ;CHOP OFF THE HIGHER BITS ;ASSIGN DRIVES WITH WT COMMAND sTYPE 'CAN'T WRITE IN READ ONLY MODE* : TRY AGAIN s TYPE ' INVALID COMMAND' : TRY AGAIN 83TKB oBIT06,38TKS PS PC COMMAND sRESTORE RO - RS sCLEAR THE TTY BUFFER MESSAGE :SET TTY INTERRUPT ENABLE ;SET PRIORITY BACK TO ZERO ;RETURN CIRJDOBO RPOTM PERF EXER MACRO vO4.00 1-DEC 83 10:52:28 PAGE 63 DL SEQ 0145 sROUTINE TO PROCESS THE ASSIGN REQUEST (' T°, 027202 027204 027210 027214 027220 111504 005037 0050387 104401 104411 012600 005737 001365 105710 001414 105760 001006 122710 001410 122710 001403 104401 000747 005237 122704 ASSIGN: 001334 18: 001426 TMMOVB CLR CLR TYPE RDL IN MOV TST BNE 1ST8 BEQ 1ST8 001334 000131 000116 060163 2%: 000101 3s: 001430 031356 057041 031356 040630 001542 031332 027400 027406 027410 027416 027420 027424 027426 027432 027434 027436 027442 057041 031356 040630 001542 027444 040630 027444 031332 4%; 001542 ASGN3: 1BR IF YES s WAS RESPONSE A CARRIAGE RETURN (DEFAWLT 'N')? 24 @'Y ,(RO) 1BR IF NO sHAS IT A 'Y' 1(RO) N,.(RO) QUNTASN,ASNMSG sWAS IT TERMINATED WITH CARRIAGE RETURN ? :BR IF YES ;BR IF YES s TYPE BAD ENTRY MESSAGE s TRY AGAIN sD0 NOT CHANGE DRIVE PARAMETERS sASSIGN ALL DRIVES ? :BR IF YES ;ERROR MESSAGE XXDP sLOADED FROM THIS DEVICE ? ;Lwiv. ASNMSG 3'LOAD DEVICE' MESSAGE ADDRESS 1BR IF NO sLOADED FROM THIS DRIVE ? Ofi IF NO ;DRIVE ALREADY ASSIGNED ? 2% PC.ASGN3 ;BR IF IT IS 3SEE IF DRIVE ON THE SYSTEM ASNERR sEXIT ERROR PC sRETURN R4 OUNTASN,ASNMSG 1START WITH DRIVE O ;ERROR MESSAGE 24 g}fl.fll t1BR IF NO .tflonoeousam THIS DRIVE ? XXDP BITB BNE RESPONSE ? mAS IT A 'N' RESPONSE ? ATABIT(R4),ASNLST ASGN2 : 1%: 4 sREAD THE ENTRY :1SAVE ADDRESS OF RESPONSE sWAS (*C) TYPED? ;lfl IF YES ASGN2 28: 031356 sCLEAR CONTROL C FLAG sASSUME CHANGING DRIVE PARAMETERS 33 14 XXDP ,R4 1s 001430 027452 1s (RO) ®'A RS 027444 001430 (SP)+ ,RO CFLAG DRVPAR 1%: COMMANDS) s TYPE 'CHANGE DRIVE PARAMETERS ?° 1s 001430 ‘W' MSPRM .BADENT ASGN1 : OR sPUT DRIVE @ IN R4 3 a4 ‘R, (RS),Ra CFLAG DRVPAR 4 =§azszzz§=§zg O® YO NS al e KWll CLOCK CHECK ROUTINE :LNEV.ASMSG ;LOADED FROM THIS DEVICE ? 3+'LOAD DEVICE' ATABIT(RC).ASN.ST MESSAGE ADDRESS sALREADY ASSIGNED ? PC.ASGN3 sASSIGN THE DRIVE RC o7 sALL DRIVE CHECKED ? 1 PC PC,ASNERR 3s s INCREMENT DRIVE ¢ 1NO s YES 1ERROR MESSAGE : TO LOOP ATABIT(R4),ASNLST 1DRIVE ALREADY ASSIGNED ? ASGN4 iBR IF IT IS CZRJIOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 63-1 Ele SEQ 0146 kW1l CLOCK CHECK ROUTINE S8 027454 110437 050734 61 027466 004737 017000 105764 040534 MOVE R4,GENDPS JSR PC,RECALO TST8 DRVSTACRA) 59 027460 006304 60 027462 016400 002056 ASL MOV 62 027472 006204 ASR 63 027474 64 027500 65 027502 66 027504 67 027510 68 027514 69 027522 70 027524 71 027530 72 027532 73 027536 001451 100443 004737 004737 032760 001461 001426 104401 056661 104401 010446 027544 027546 104403 002 75 027550 76 027554 104401 104401 77 027560 000004 005737 001015 74 027542 027547 030164 031070 000 004737 78 027564 79 027566 006304 004737 81 027600 113760 BEQ 8MI JSR JSR 8IT 8EQ 000200 ST BNE 001203 TYPE TYPE MOV TYPOS BYTE 056653 056611 18: 030402 80 027572 016464 002056 001566 030162 82 027606 006204 85 027612 012737 057031 105764 040544 83 027610 :9' 027620 88 027624 000026 000207 000137 89 027630 90 027632 91 027634 92 027642 001405 100010 012737 000407 031332 031356 ASGN6: ASGN7: 056760 031356 012737 056775 031356 18: 95 027654 012737 056667 031356 2%: 98 027666 012737 057056 031356 ASGNS: :3 85;:45; % 027662 99 027674 000137 000137 031332 031332 38: R4 sMAKE R4 BYTE INDEX ASGN7 ASGNG PC,CLROPS PC.GETID 8ILV, SRPDS(RO) ASGNS s8R IF DRIVE OFFLINE OR NONEXISTENT 18R IF DRIVE UNSAFE sCLEAR BLOCK FOR DRIVE JUST ASSIGNED sGET DRIVE SERIAL NUMBER .mmumt SECTOR SET ? i8R IF NO DRVPAR 18 ,SCRLF ,DRVMSG R4, -(SP) sRECALIBRATE DRIVE sORIVE AVAILABLE? 1CHANGE DRIVE PARAMETERS ? i8R IF NO 1CR-LF s TYPE 13 TYPE DRIVE NUMBER 33GO TYPE--OCTAL ASCII 14 TYPE 2 DIGITCS) JSR Pc.m'onv MOV BLKADR( ), NEWUNTCRA) R4 ASL JSR ,COMMA ,BLNXS1 'DRIVE" 11SAVE R4 FOR TYPEOUT .BYTE umss LEADING ZEROS sTYPE * sTYPE 1 BLANK s TYPE DRIVE SERIAL NUMBER PC DRVPRM sMAKE R4 WORD INDEX ;GET THE DRIVE'S ADORESS LIMITS PACK,#PACK(RO) +SET COMHMAND. INDICATOR RTS Pc sRE TURN MOV ONOTSAF ,ASNMSG ;' UNSAFE' TSTB DRVTYP(R4) :ORIVE PRESENT? ;0.0TPRS.ASHSG .Anoael SS OF 'NOT PRESENT' MSG MOVB ASGN4: JMAKE R4 WORD INDEX ;PUT BLOCK'S ADDR INTO RO 2 0 TYPE TYPE 033050 sGET DRIVE NUMBER R4 BLKADR(R4 ), RO ASR JHP ASNERR ;0P ADDRESS sMAKE R4 BYTE INDEX MESSAGE ADORESS :TO ERROR ROUTINE BEQ BPL MOV B8R 1t 2¢ ONOTRP ,ASNMSG ) MOV OUNTOFF ,ASNMSG ;ADDRESS OF ‘DRIVE OFFLINE' MESSAGE ONINLEV,ASNMSG ;ADORESS OF .ngv JMP MOV JHP ASNERR ASNERR i8R IF NOT 18R IF DRIVE OFFLINE ;ADDRESS OF 'NOT RPO7* MSG JEXIT 170 ERROR ROUTINE ‘NON-INTERLEAVED' 17O ERROR ROUTINE MESSAGE Flc - RPO7 PERF EXER MACRD vO4.00 1-DEC 83 10:32:28 PAGE &4 XKW1l CLOCK CMECK ROUTINE 1 2 +'D’ 4 027700 S 027702 012708 000010 6 027706 122715 000101 7 027712 001403 DROPD: 8 027714 111508 10 027722 136437 040630 001542 12 027732 146457 040630 001542 9 027716 012708 000001 11 027730 001417 13 027740 146437 14 027746 006304 040630 COMMAND (ROUTINE 10 DROP A DRIVE) 18: sSTART WITHM DRIVE O s COUNTER ;OR0P ALL DRIVES ? i8R IF YES R3 ‘sn RS FOR ONE DRIVE BICB ATABIT(RA),AUTLST DEC 8EQ INC B8R MOV JSR 8R RTS RS sANY MORE DRIVES ? at 18R IF NOT R4 14 OUNTNOT ,ASNMSG ;ADDR OF *NOT ASSIGNED® MESSAGE PC. ASNERR sREPORT IT 2 PC ASL 005308 2¢: 001410 000755 012737 056710 031356 38: 004737 031332 000766 000207 as: g Re o8, A3 o A.(RS) 18 BICB 032100 {2 gze;g 016464 002056 001544 17 027760 18 027762 19 027764 20 027766 21 027770 22 027776 23 030002 g 030008 CLR MOV CP8 8EQ ) MOV 8118 B8EQ '.'2". uls). nnmn:.ms 38 ATABIT(R4),ASMLS 1GET DRIVE NUMBER JORIVE ASSIGNED ? 18R NOT iDELETE THE ;DELETE DRT DRIVE FROM THE ASSIGNED LIST aon AUTO ASSIGN LIST MAKE ADDR INTO A WORD INDE :.‘xmu).msiui +PUT ADDRESS IN DROP LIST 'S’ COMMAND (ROUTINE TO TYPE DRIVE PERFORMANCE SUMMARY) 28 030006 030006 29 030012 30 030016 31 030020 32 030022 33 030026 34 030030 35 030036 013746 122715 001416 111504 136416 001404 116437 000411 001542 000101 040630 040630 001542 37 030040 012737 056710 031356 38 030046 39 030052 40 030054 41 030060 42 030062 004737 031332 070413 105737 001542 001410 004737 025020 44 030072 45 030076 104401 104401 43 030066 104401 47 030102 057407 000207 14: 2¢: 58 001203 057573 030102 012637 001542 48 030106 SCMND: as: MOV CP8 8EQ MOVE 8IT8 BEQ MOVB B8R MoV ASMLST,-(SP) ;3PUSH ASNLST ON STACK @A, (RS) sALL STATISTICS ? 2 xr YES (RS).Re T DRIVE WM SR nrnxmm (SP) .xs THIS DRIVE ASSIGNED ? 18K IF o nnmu).usn.s :GET DRIVE ASSIGN BIT 38 GUNTNOT,ASNMSG ;ADOR OF *NOT ASSIGNED' MSG ,DASH13 BB *ecisancrmenes JSR B8R TST8 BEQ JSR PC.ASNERR as ASMLST as PC,STATPR TYPE TYPE .SCRLF .MSGCON TYPE MOV RTS (SP)+ ASNLST PC 1 TYPE ERROR MESSAGE JEXIT + ANY oaxvt ASSIGNED ? .r IF NO s TYPE ALL STATISTICS JCR-LF L TYPE *CONTINVING..." , 3 ;P0F STACK INTO ASNLST CIRJI0BO RPOT PERF EXER MACRD vO4.00 1-DEC 83 10:352:28 PAGE &5 Gl2 S5EQ 0148 kWil CLOCK CHECK ROUTINE 3 f 050110 ; 030114 +'7T° COMMAND (ROUTINE TO TEST A DRIVE) 005037 000137 030162 oO27202 NEWASN: CLR S 8 030120 ‘: 030126 $SEY *T* COMMAND INDICATOR 1G0 TO THME ASSIGN ROUTINE 'R COMMAND (ROUTINE TO DO SEQUENTIAL READ DATA) 012757 000137 000001 027202 030162 3 15 0301352 PACK ASSIGN REDAPK: MOV od #1,PACK ASSIGN tSET ‘R COMMAND INDICATOR sASSIGN THE REQUESTED DRIVE W COMMAND (ROUTINE TO DO SEQUENTIAL WRITE DATA) 012757 177777 {; 030140 000137 027202 030162 5 DATAPK: MOV P #-1,PACK ASSIGN $SET ‘W' COMMAND INDICATOR sASSIGN REQUESTED DRIVE $'WT* COMMAND (ROUTINE TO DO WRITE DATA AND TEST A DRIVE) 18 050144 19 030150 116515 012737 22 030162 000000 000001 177776 20 030156 000137 027202 030162 WATPAK: MOVE MOV PACK: S 1(RS),(RS) #-2,PACK ASSIGN 1ADJUST DRIVE NUMBER ADDRESS $SET ‘WT* COMMAND INDICATOR .WORD O s TEMPORARY STORAGE FOR COMMAND INDICATOR 1JAMP TO ASSIGN ROUTINE H1Z % 7 PERF EYER MACRD v04.00 1-DEC 83 10:52:28 PAGE &0 1 OrECx ROUTINE ROUTINE TO CLEAR TTME DPB FOR TME ASSIGNED DRIVE 1 i& B3 "0y JR ] S 5 z Rt R0 ann ;0P8 ADDRESS sRO * DPS ADDRESS BEFORE CALLING THE ROUTINE H 9 030164 030164 010186 10 030178 ©0CS7S7 030166 010 030170 010446 omg o1 11 030200 001078 u; 030202 010008 CLROPS 040100 000002 012703 000114 162703 000002 001374 062708 000026 36 030304 57 030312 sm 0015 {u 002076 2: 38 000001 030372 012604 030374 012603 030376 012601 47 030400 000207 mov CLR SuB BNE a ASLE MOV MOV NEG MoV MOV 000024 2 :so”gg 062760 000002 000022 % 030370 012605 02, JADDRESS OF FIRST LOCN 10 B€ CLEARED < ICTL - SCOMND> +2, RS MPBER OF LOCNS TO BE CLEARED FROM POMER FAIL .uagn" - “,guYESADORE $S JGET g'y TM) o ’ ? Ty e 3 OVER TTME *SREG* LOCATION 0 INEXT - STATUS»+2, RS NMPIBER OF 70 BE CLEARED SJCLEAR LOCATIONS *$TATUS® = * SNEXT" 02,R3 ;O0NE CLEARING YET ? 24 R IF WO < SORVSN- OF IRST> A4 sSKIP OVER *OFIRST', MIN/MAX ADRS JLINITS AND ‘CYL, TRX, SEC S« IRPCSS-SDRVSN>+2.R3 NPBER OF L 10 8€ CLEARED (R4 ). .&un TIONS *SDRVSN® - * SRPCSS’ o2,R3 JO0NE CLEARING YET 7 3¢ OR IF NO MOV 000002 113760 001512 000030 106360 000030 132760 001403 ADD OV ADD MmOV Qn suB BNE ADO 13PUSH RS ON ST 2sPUSH R4 ON ST .hwnnusust SOME MOVE BEGCOD, $CODECRO) JINITIALIZE JINITIAL %LOCATIONS CODE 58 030316 013760 001516 000020 59 030324 013760 001516 000004 40 030332 000004 41 030336 012760 000400 000022 42 030344 012760 000001 000114 43 030352 030360 s . 3 030264 113760 001514 000024 uomg as RO . R4 ot 4BNE - P -y 1 ag 27 030250 012703 000062 28 030254 g 030256 162 000002 0 030262 001374 35 0302 s sPUSH A1 ON ST . (5P) Re, (5P "s, -(SP) 11 16 703 000002 g 03083 uoag g{;n 3.-(9) OV “Ov "oy BN MoV 13 030204 708 000002 14 030210 012708 000012 19 030224 20 030230 21 030234 5 030236 23 030242 25 030244 v BIT8 BEQ . ] ADD MoV MOV MOV MOV RTS R1 GET TME AC lw ;&a&n) 0P CODE .m%xu CODE T, PATTIC(RO) JPATTERN SPATTC(RO) sCONVERT CODE TO A TABLE INDEX . SMROL(RO) JBEGINNING WORD SNCNTCRO) ;VALUE FOR DATA SWONT(RO) ' IT INTO 2'S COMPLEMENT 0256, , 0SSECCRO) sINITIAL VALUE OF SECTOR SIZE 01,9PASSC(RO) sPRESET PASS COUNT T0 1 #1.0CODECRO) &% COMMAND ? s8R IF NOT (SP)+ RS 11POP STACK INTO RS pC ' 02,0SSECC(RO) (SP)e.R4 (SP)e.RS (SP)e.R1 ;ADD MEADER SIZE TO SECTOR SIZE 11POP STACK INTO R4 13POP STACK INTO RS 11POP STACK INTO R1 NER MACRD v08.00 1-DEC 03 10:52:28 PAGE o7 i TO GEY MOUTINE M~ ¥} 1 I[12 ' 3 ' LtS vy < ORVPRN: mOV ~e. () 1 :‘. W IRST(RO) 1 SEE T TR s 10 16: St(“\.“N'.(.Q (N).mm(“; O 38 TStomer 1ARE YOV -:md‘:‘ i (RQ) ,MAXSEC(R c. e EER ., WINIU CYLINDER AOORESS Ris XA 3 gs % g3 % amfiu ; "SeMesesesRasesaseSsasesewe g: ::?’ :}g_ 62 030664 63 030670 010360 010460 000144 000146 f o +LOAD SECTOR LIMIT FOR ECTOR LINIT FOR Ji12 I " V08 .00 1 -JEC-08 10:52:20 PagE o7-3 i Lamg SEUNSS (o) IST FE CLDoRR 7 n HE peRa ? i v- | 0RD ¥O4.00 1-5U83C 10:12:28 uck 8 Kle S SUO ¥ LUE9 l SLI0 CISho0 OUTINE 15 GET WE ASORSS LIWITS FOR G CUMENT ORIWE TR T scanm AL SouT e | pammasng iS 15 | B @ 2 naaazggiaaaza W0 « 0P ADMSS SFORE CALING W ROUTDE e E A E E g i B T e e §. , '"‘Efi:;'7r]s ‘gggaasasar!=a..~ ;5;.:£§?E§§=““_‘ rm ‘g_m-n- - — 'fiummm - —tal-ytPP Z C2 0 - <Ay < i ] E‘:‘-’ & ’ -] N ~h -~ e . . G i+ M2 . — . S o R:i3iARm“mz._mm . 1Se : i ; TRtBAPtb : SEQ > _m1Lf:iA& B —— APO7 PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGE g:atm ENTRY ROUTINE 71 . —— — —— o ——— ——— N12 - s TYPEOUT ASSIGN/DROP ERROR MESSAGE sCALL: ' MoV [ RE TURN B OB O NS ' 0012083 ASNERR: 056661 ASNMSG: JSR PC . ASNERR OMESADR ,ASNMSG ;ERROR MESSAGE ADORESS TYPE ,SCRLF sCR-LF TYPE MOV DRVMSG R4, -(SP) sTYPE *DRIVE® 1 sSAVE R4 FOR TYPEOUT TYPOS BYTE BYTE 2 O TYPE ,QUES TYPE .WORD arts © PC 32 33 TYPE DRIVE NUMBER :3GO TYPE--OCTAL ASCII s3TYPE 2 DIGIT(S) .*sur'atss LEADING ZEROS s TYPE SPECIFIC MESSAGE sMESSAGE ADDRESS ;DROP DRIVE IF A FATAL ERROR OCCURS sCALL: : RETURN JSR PC,DROP DROP: CLR CLR MOVB BICB BICB venn MOV TYPE RO,DDRVS(R4) . SCRLF : 031362 031366 031370 031372 031400 031406 031410 031414 031420 031424 031430 031434 031436 005037 005004 111004 043626 010064 104401 104401 104401 104401 006204 010446 001544 001203 057641 057676 056661 031440 031442 031443 031444 031450 104403 146437 146437 006304 002 000 104401 000207 040630 040630 001542 032100 ;CLR PERMENANT ERROR FLAG ;CLEAR R4 FOR DRIVE uunnea (no) R4 ;MOVE DRIVE NUMBER TO R4 ATABITCR4),ASNLST ;REMOVE DRIVE FROM ASSIGNED LIST ATABITCR4),AUTLST ;DELETE DRIVE FROM AUTO ASSIGN LIST ASL R4 ;MAKE DRIVE NUMBER INTO A TABLE INDEX TYPE TYPE TYPE ASR .DROPNG .nssgn .DRVMSG R4 ;TYPE *2FATAL OR EXCESSIVE ERRORS' s TYPE *ON’ :TYPE 'DRIVE' ;DRIVE NUMBER TYPOS .BYTE 2 :3GO TYPE--OCTAL ASCII :3TYPE 2 DIGIT(S) TYPE RTS ,$CRLF PC MOV - BYTE 001203 18: R4, -(SP) O :PUT DRIVE IN DROP LIST :3SAVE R4 FOR TYPEOUT ::TYPE DRIVE NUMBER : 1 SUPPRESS LEADING ZEROS ;:CR-LF ;ROUTINE TO DROP DRIVE IF ERRORS BECOMES EXCESSIVE 031452 031460 031462 031470 031472 031476 032777 001006 023760 101002 000137 000207 000020 147474 001456 000102 031362 ABNRML: BIT 05404, 8SWR 1$: CMP BHI JMP RTS MAXER, $ TOTALCRO) ;CHECK TOTAL ERROR VALUE 1% :BR IF ERRORS DO NOT EXCEED MAX DROP ;DROP THE DRIVE PC . sRETURN BNE 13 :SEE IF SWITCH 4 SET ;BR IF IT'S SET —— e ) CIRUOBO RPOT PERF PARAME TER ENTRY 1 EXER MACRD vO4.00 ROUTINE 1-0EC 82 10:%.:/8 PAGE sROUTINE T CHECK 72 FOR END OF 5EG 0156 PASS AND END OF TES? CLA CIRJIDBO RPQ7 PERF EXER MACRD VO4.00 1 -DEC 83 10:3°:°8 PAGF END ¢ PASS ROUTINE 1 .SBTTL 7% SEQ 0157 END OF PASS ROUTINE 1100000000000 000000000000000000000000000000000000000000000000000s s *INCREMENT THE PASS NUMBER ($PASS) soIF soIF 031500 031500 031502 031504 $EOP: 010446 111004 18: 105737 001150 136437 001110 156437 040630 032100 040630 032100 031532 026037 000114 001474 031542 031550 031552 031556 031562 031566 031572 031600 031602 032777 001031 000020 147404 104401 104401 057407 057477 031612 031614 031620 001062 005237 005237 031634 031642 032777 001022 031654 104401 031510 001410 031530 000441} 031512 031520 031522 031540 031606 031624 031632 031644 031650 103435 15718 BEQ BIT8 BNE BISB BR 2%: cMP BLO R4, -(5P) (RO),R4 :SAVE R4 sMOVE DRIVE NUMBER $AUTOB ;RUNNING IN AUTO MODE ? 2t iBR IF ATABIT(R4), AUTLST ;IS DRIVE ALREADY ASSIGNED TO AUTO LIST ? 64 :BR IF YES ATABIT(R4), AUTLSY sADD DRIVE TO AUTO ASSIGN LIST 3s $PASSC(RO),PASSES :SEE IF AT END OF TEST 3s :BR IF NOT ASNLST aALL DRIVES ARE DROPPED ? BIC BR ©100000, $PASS 7 sAVOIY) NEGATIVE NUMBER BIT BNE @SWO08 , BSWR 44 sINHIBIT END OF PASS TYPEOUT (SwW08=1) ;BR IF YES TYPE .DASH13 sTYPE '-cccccccnnanaa. . 001544 @SWO04 , BSWR ;:TYPE END OF TEST MESSAGE (SW04=1) ? 3 :BR IF NO «SCRLF ;CR-LF « SCRLF ;CR-LF .DASH13 sTYPE ' --ccccccaaaa. ’ .MSGEOT sTYPE 'END OF TEST---ccccccccaaaaaan EOT' ATABIT(RG).AS&SY ;sDELETE DRIVE FROM ASSIGNED LIST sMAKE DRIVE NUMBER INTO TABLE INDEX RO DDRVS(R4) PUY BLOCK ADDRESS INTO DROP LIST 001216 001214 BNE INC INC 74 SDEVCT $PASS 001203 001203 146437 006304 010064 040630 042737 000452 MOV MOVB BIT BNE TYPE TYPE TYPE TYPE B8ICB ASL MOV 104401 104401 105737 THERES A MONITOR GO TO IT THERE ISN'T JUMP TO RTURN 001542 001542 TST8 100000 001214 000400 147312 3%: 001203 001203 031660 031664 031670 031674 104401 104401 004737 104401 057451 001203 026226 057401 TYPE TYPE JSR TYPE .MSGEOP « SCRLF PC,S$TIME .DASHS 031704 004737 025122 JSR PC,ONESUM 031710 031712 031714 031720 010346 010004 062704 012703 MOV MOV ADD MOV R3,-(SP) ;1SAVE R3 RO,.R4 sDRIVE'S BLOCK ADDRESS OORDPAS R4 ;ADD THE STARTING ADDR OF SECTIONS TO CLEAR o< OWERC ORDPASNZ R3 iNUMBER OF LOCNS TO BE CLEARED 031726 031732 031734 031736 162703 001374 012603 005260 SuUB BNE MOV INC 02,R3 St (SP)+,R3 $PASSC(RO) 031724 104401 005024 057407 057425 TYPE 44: 000036 000016 000002 000114 S$: CLR « SCRLF . SCRLF ? 104401 104401 031700 TYPE TYPE :BR IF NO s INCREMENT DEVICE COUNT ;s INCREMENT THE PASS COUNT +MSGSUM (R4). iCR-LF ;:CR-LF sTYPE 'END OF PASS' ;CR-LF : TYPE ELAPQ‘D TIME i TYPE ' ----1 TYPE ' SUMMARY' :TYPE ONE DRIVE SUMMARY aCLEAR LOCATIONS ‘' $RDPAS* 1DONE CLEARING YET ? 1BR IF NO s+RESTORE R3 + INCREMENT THE PASS COUNT - 'S$SOPERC' IN DPB CIRJIOBO RPOT PERF EXER END OF PASS ROUTINE 031742 031746 031750 0X1756 031760 021762 - CVR®NOVEWN 031764 031770 031772 031776 032002 032010 032012 105787 001404 023737 001402 , MACRO vO4.00 1-DEC 8% 10:3.:28 PAGE 7% | 001150 001542 6%: 005237 001375 005237 005237 042737 005327 000001 003013 012737 000001 032012 013700 001405 000005 004710 000240 000240 000240 000000 $ ASNLST ,AUTLST 8s (SP)+ R4 78: PC 032100 001216 001214 100000 AUTLST 8% tRETURN ;CLEAR AUTO ASSIGN LIST FOR NEXT PASS AND sWAIT FOR TTY $DOAGN :3YES : sRESTORE COUNTER $GET42: 8042,R0 $ENDAD : PC.(RO) :sGET MONITOR ADDRESS : sBRANCH IF NO MONITOR s sCLEAR THE WORLD ::GO TO MONITOR 001214 . .WORD {PC)o.O(PC)o $DOAGN $DOAGN: 177776 sRUNNING IN AUTO MODE ? 1SR IF NO sHAVE ALL DRIVES COMPLETED PASS IN AUTO MODE :BR IF YES sRESTORE R4 s INCREMENT DEVICE COUNT s s INCREMENT THE PASS NUMBER ssDON'T ALLOW A NEG. NUMBER 3:L00P? SENDCT: 001100 001212 033510 024574 006340 5EQ 0158 $DEVCT $PASS 2100000, $PASS (1PC)e. SEOPCT: 000137 032050 005037 012706 005237 004737 004737 000137 ;Mflm 032100 012604 000207 DL3 8(PC)e« $RTNAD: RTURN RTURN: PS OSTACK, SP AUTLST: s sSAVE ROOM . :SET PRIORITY TO O sRESTORE STACK s INCREMENT THE TEST NUMBER IN THE MAIL BOX $TESTN PC, $TKINT PC,CKCLK MAIN tMAKE SURE KEYBOARD INTERRUPT AND 0 sAUTO ASSIGN LIST (USED IN AUTO RUN MCDE) sSYSTEM CLOCK ARE STILL ON. sRETURN TO LOOP ? CZRJUOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 1 .32:28 PAGE END OF PASS ROUTINE .12 .:&HIK 3 Ls £ S 6 7 032102 8 9 10 11 013746 032106 032112 032114 032120 013746 010546 004737 012605 }2 032124 000207 12 032122 037306 037304 TO GET 3 MOV [l RETURN GETREM: MOV 032126 005726 .SBTTL F13 SEQ 0159 REMAINDER OF NUMBER ,RS THE RANDOM NUMBER ;DIVISOR INTO RS ;REMAINDER IS IN RS SLONUM, -(SP) 1STORE RANDOM NUMBER ON (SP)e sPUT THE DIVISOR ONTO THE STACK sDIVIDE THE RANDOM NUMBERS sPUT THE REMAINDER INTO RS sADJUST THE STACK POINTER MOV MOV JSR MOV SHINUM, -(SP) RS, -(SP) PC,SD1vV (SP)+,RS RTS PC 1ST 18 16 THE 74 ;UPPER PART THE STACK FOR DIVIDE INTEGER DIVIDE ROUTINE 17 1:08080808000004000000008000000080000000000000080008008000000004008002 18 19 s¢THIS ROUTINE WILL DIVIDE A 32-BIT TWO'S COMPLEMENT INTEGER 1*DIVIDEND BY A 16-BIT TWO'S COMPLEMENT INTEGER DIVISOR GIVING el 22 23 s¢DIVISION WILL BE PERFORMED SO THAT $¢SAME SIGN AS THE DIVIDEND. soCALL : 20 ;oA 16-BIT TWO'S COMPLEMENT INTEGER QUOTIENT AND A 16-BIT REMAINDER. 24 25 26 ie ;e MOV MOV LOW DIVIDEND, -(SP) HIGH DIVIDEND, -(SP) i JSR PC,.$01v STACK NO ERROR crcee seccccess 1o a7 gg i® RETURN e gg i 4% 32 gz on ie 35 T 2 TOP 2 DIVISOR, -(SP) REMAINDER QUOTIENT ssTHE HIGH DIVIDEND MUST BE <« 1/2 :3AS LARGE AS THHE DIVISOR 1 sQUOTIENT € REMAINDER ARE ON THE STACK OVERFLOW 00000 sesssceses DIVIDE BY ZERO 00 ALL ZEROS ALL ZEROS sessscsscscsses ALL ONES ALL ONES L 3_6’ :1#NOTE: THIS ROUTINE WILL LINK TO THE DIVISION SUBROUTINE (*'M.DPID'). 38 032126 39 032130 40 032134 41 032136 42 43 44 45 46 MOV THE REMAINDER IS OF THE 032142 032146 032150 032152 032156 47 032162 48 032166 49 032170 S50 032172 104412 016605 005004 016602 016603 005000 005001 004737 010166 010366 104413 012616 000207 000026 000030 000032 032250 000030 000032 $OIV: SAVREG MOV CLR MOV 26(SP),RS Ra 30(SP),R2 MOV CLR CLR JSR MOV 32(SP),R3 RO R1 PC.M.DPID R1,30(SP) R3,32(SP) RTS PC MOV RESREG MOV (SP)+,(SP) sSTORE RO - RS 1DIVISOR ;OTHER DIVISOR WORD sUPPER DIVIDEND WORD ;LOWER DIVIDEND WORD ;:CLEAR OTHER DIVIDEND REGISTERS 1GO TO THE DIVIDE ROUTINE tREMAINDER ON THE STACK 1QUOTIENT ON THE STACK sRESTORE RO - RS sMOVE RETURN UP THE STACK CZRIOBO RPOT PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGE DOUBLE DIVIDE ROUTINE 7S F13 5EQ 0160 x 1390 0 0 0 0 00000000000000000000000000000000000800000000000000000b 4 DOUBLE DIVIDE ROUTINE $¢THIS ROUTINE WILL DIVIDE A 32-BIT TWO'S COMPLEMENT INTEGER S s*DIVIDEND By A 32-BIT TWO'S COMPLEMENT INTEGER DIVISOR GIVING : ':Cs“&l. SIGN AS THE DIVIDEND. (3 7 oA 16-BIT TWO'S COMPLEMENT INTEGER QUOTIENT AND A 32-BIT REMAINDER. s*DIVISION WILL BE PERFORMED SO THAT THE REMAINDER IS OF THE : b 10 ie il ;e 12 ie 14 {2 P ie 3% 19 ' 20 gé LOW DIVIDEND, -(SP) MOV LOW DIVISOR, -(SP) JSR RE TURN PC.$0BDIV MOV ;e ;e %; MOV MOV ie 13 2 ie 3o MIGH DIVIDEND, -(SP) NO ERROR cesee scsccsns 2 -4 ;e 22; $oNOTE: 104412 27 032176 28 032202 29 032206 30 032212 351 032216 0 016604 016605 016602 016603 005000 005001 000026 000030 000032 000034 REMAINDER REMAINDER QUOTIENT s sQUOTIENT £ REMAINDER ARE ON THE STACK OVERFLOW 00 ssssssss ALL ZEROS DIVIDE BY ZERO 00000 ALL ZEROS ALL ZEROS sssssscsssssses ALL ONES (MSD) ALL ONES (LSD) ALL ONES 34 032226 010066 33 032222 MOV MOV MOV MOV CLR CLR 26(SP) .R4 30(SP).RS 32(SP).R2 34(SP).R3 RO R1 000030 MOV RO, 30(SP) 000034 MOV R3,34(SP) 004737 032250 35 032232 010166 000032 37 032242 38 032244 104413 012616 010366 g : 36 032236 THIS ROUTINE WILL LINK TO THE DIVISION SUBROUTINE ('M.DPID'). $DBDIV: SAVREG JSR MOV RESREG MOV 172 HIGH DIVISOR, -(SP) STACK TOoP s3THE MIGH DIVIDEND MUST BE « 33AS LARGE AS THE DIVISOR L 23 26 032174 = .SBTTL - 1 sSTORE RO - RS sHIGH DIVISOR WORD sLOW DIVISOR WORD sUPPER DIVIDEND WORD sLOWER DIVIDEND WORD s+CLEAR OTHER DIVIDEND REGISTERS PC.M.DPID 3GO TO THE DIVIDE ROUTINE R1,32(SP) sREMAINDER ON THE STACK (LSD) (SP)+,(SP) sREMAINDER ON THE STACK (MSD) ;QUOTIENT ON THE STACK ;:RESTORE RO - RS sMOVE RETURN UP THE STACK GL3 CIRJOBO RPOT PERF EXER MACRD vO4.00 1-0EC 83 10:32:28 PAGE ¢ " DOUBLE PRECISION DIVISION SUBROUT INE 5 .SBTTL ] sCALL ® ' N ; ' 000040 26 032310 27 032312 28 032314 29 032316 30 032320 31 032322 32 032324 33 032330 032332 35 032334 36 032340 006102 006101 006100 005716 001410 005016 066601 000002 005500 005516 000004 000404 000002 000002 000002 006108 060501 38 032344 39 032346 005516 40 032350 000006 005500 51 032400 060400 S2 032402 S3 032404 000241 006103 S5 032412 56 032414 57 032416 000242 000207 062706 54 032406 062706 M.OPID: MOV MOV MOV NEG NEG s8C ADD ADC ADD 8CS CLR M.DP40: ROL ROL ROL ROL ST BEQ CLR ADD ADC ADC ADD BR M.0P41: ADD ADC ADC ADD M.DP42: ADC ST 8EQ INC DEC 8GT ROR 8CS ADD ADD 000010 000006 cLe M.DP44: ROL ADD cLV M.DP50: 32 005516 005716 001401 005203 005366 003347 006003 103404 060501 REMAINDER AFTER DIVISION * RO-R1 (RO=MSD) QUOTIENT AFTER DIVISION = R2-RS (R2+MSD) ss0, -(SP) R4, -(SP) RS, -(SP) 2(5P) 8sP 2(5P) 85P A1 RO 2(SP), RO ¥ DPSO \SP) RS R2 R1 RO 8sP M.0Pa1 esP 2(sP),.R1 RO 8sP s+ I 4(SP),RO;¢M.0P42 RS.R1 RO asP s I R4,RO j<8sP 8sP o8 R 6(SP) M.DP40 R3 M.0P44 RS,.R1 R4,RO RS 010,5P PC B 012746 010446 010546 005416 061601 005500 066600 103445 005046 S0 032376 DIVISOR * R4-RS (R4 <MSD) 3 ] H ' 14 032250 15 032254 16 032256 17 032260 18 032264 19 032266 20 032272 21 032274 22 032276 23 032302 24 032304 41 032352 42 032354 43 032356 44 032360 45 032362 46 032366 47 032370 48 032372 49 032374 DIVIDEND * RO-R1-R2-RS (ROMSD} s RETURN i g 37 032342 DOUBLE PRECISION DIVISION SUBROUT INE 5 1: 25 032306 SEQ 0181 §-> s I je- sCOUNTER FOR DIVISION CYCLES sMIGH ORDER ;LOW ORDER DIVISOR TO THE STACK sFORM NEGATIVE JVERSION OF THE DIVISOR sPERFORM THE INITIAL SUBTRACTION +IF CARRY THEN OVERFLOW MAS OCCURRED THIS IS A LONGER LASTING CARRY BIT ;TEST “CARRY“ INDICATOR sIF NO “CARRY" THMEN ADD ELSE SUBTRACT ;CLEAR UP FOR NEXT TIME 1ADD -(DIVISOR) ;SET "CARRY" ;ADD +(DIVISOR) 3SET “CARRY" 1SET “CARRY* sTEST THE UPDATE INDICATOR +IF ZERO FORGET IT ;NO CARRY POSSIBLE MERE sDECREMENT COUNTER :BRANCH IF MORE TO DO sADJUST STACK BY 4 WORDS JOBO RPO7 PERF EXER MACRD vO4.00 1-DEC-8% 10:52:208 PAGE PRECISION DIVISION SUBROUT INE S8 082422 59 052424 nm; 00020 by RS PC o1 ) H13 INARARERZAZILSRS0TnLrNs0goremomg, 5 3 — o ——— o — ——— — o— —— e— M& [13 o : o — - g ), LT R E- o LI ey ’?;}.-'2. g g.(.) o o e o TMIS A9 ? - =, 1% ) E ?.(.)0 ol c.;.'..'o?:v = e o gemon. () W IRST ACORESS OF ASCIZ STRDNG ;% i|3 sl i JRIN N B TP CAL DIy, I;c-a., n T FOR TERMINATOR “l“ o"& VALESS Swis-) T e = i}8 m w0 "maCmo e . . 1Y K13 A0 1-98C 08 10:52:20 Pugk TM SOUTINE 70 EALACE LEMITNG JID0S I ' s - — | —— TR In p j RGN | A9 3% A MFERIC STRING wiTM SPaCES ST Rdive L13 Uy sop oEFRET X m IGITS O I TR ascin § wisg K0 .“ ulTM A Pace et :E'!:..." | £ ! 1 ‘ . osn +1 pop— 03307 {0 IR 47 033144 48 0335150 49 033152 101004 =um 005 000205 CSRAITIRE., - samare Tt B OCH "..'wo- .m — 19 ’w .'.!. o“’ ORIVE SERIAL WMIGER FIELD ms i o0 & 0&" i T s RE mmu-u.g mmsema 83 T . ';ux amm IVE SERIAL NRER Veo F 'mrumr BRESRC ' ' 10CTAL : 121127 45 033140 46 0335142 . : 44 035134 103407 samomess @ mnm S 121127 03351352 3 10 * OFS ACORESS BEFORE CALLING TMTME ROUTINE f 033 : -, TER BETUEEN 0-7 INR2 AS A iILESS TMAN ZERO? 1YES -- BRANCH 1GREATER THAN SEVEN? 1 YES -- BRANCH 1GET THE 1STRIP AMAY THE ASCII sADJUST FOR sRETURN sTHIS ROUTINE IS USED TO CHECK AN ASCII CHARAC sAND DETERMINE IF IT IS A DIGIT BETWEEN 0 AND MOV #ADR ,R1 JSR RS,Cx.DEC RE TURNL RETURNZ 033154 033160 033162 033166 033170 033172 033176 033200 (R1),0'0 1s 3 - ll2 * DIGIT sLESS THAN ZERO? (R1),0'9 1 (R1),R2 ®'0,R2 (RS)e RS - s THIS ROUTLNE WILL CHECK AN ASCII CHARACTER TO sDETERMINE WHAT IT IS. sCALL MOV s ADDRESS OF ASCII CHARACTER JSR sCHECK CHARACTER ;sUNKNOWN CHARACTER sCARRIAGE RETURN = (R1)=ADR+1 ;COMMA &+ (R1)=ADR+1 ;PERICD = (R1)=ADR+1 ;DIGIT BETWEEN O AND 7. ;:DIGIT BETWEEN 8 AND 9. sR2 = DIGIT = (R1)=ADR-1 033154 033126 @ — (Rl) (Rl)." N 000054 172 — 2 % O e S5 S0 B0 S 80 0 RETURN RETURN RETURN RETURN RETURN RETURN (Rl)o.' 1¢ RS,.CK.DEC 44 (RS)+ (RS)« (RS)+ (RS)« (RS)+ R1 (R5),R5 RS : "CARRIAGE RETURN"? ;:YES -- BRANCH ;: "COMMA"? ;YES -- BRANCH ; "PERIOD"? zYES -- BRANCH : "DIGIT"? sNO -;OCTAL ;DIGIT ;:DIGIT BRANCH ? BETWEEN 8-9 BETWEEN 0-7 ;:PERIOD ;sCOMMA ;CARRIAGE RETURN ;MOVE POINTER TO NEXT CHARACTER ;sUNKNOWN CHARACTER ;RETURN — . — o — ZRUOBO RPOT PERF EXER MACRD vO4.00 1-DEC-82 - TYPE ASCIZ, LEFT JUSTIFY 10:3.2:°8 PAGE 83 14 5EQ 0169 S$SUPRL e s THIS ROUTINE CHECKS AN ASCII STRING FOR LEGAL 4P ND Nl :CHARACTERS AND FORMS A DECIMAL VALUE BINARY NUMBER :CALL 3 MOV MOV JSR ODO® RETURN RETURN = RETURN RETURN RETURN RETURN 033254 033256 033260 033262 033264 033266 033270 033274 033276 033300 033302 033304 033306 033319 033314 033316 033320 033322 033324 033326 033330 033334 033336 033340 033342 033344 033346 033350 033352 033354 033356 033360 033362 033364 033366 ' 033370 033372 033374 033376 033400 033402 033404 033406 033410 CK.DIG: #ADR,R1 ONUM,R2 RS5,CK.DIG ADR1 ADR2 ADR3 ADR4 ADRS ADR6 sADDRESS OF ASCIZ STRING R4, -(SP) :SAVE R4 :SAVE R3 ;SAVE THE MAX. R2 R3 R4 RS,CK.CHR 033202 04 RS R3 R3,-(SP) R3 R3 (SP)+,R3 R2,.R3 RS5,CK.CHR 033202 IN R2, tMAX. MAGNITUDE OF INPUT NUMBER s1CHECK DIGITS s “CR" ONLY ENTERED -- R2=0 s "PERIOD” ONLY ENTERED -- R2+0 s ILLEGAL CHARACTER OR INPUT TOO LARGE 1 "CR" -- R2 = NUMBER : "COMMA” -- R2 = NUMBER s "PERIOD” -- R2 sSTART WITH O = NUMBER SIZE ON THE STACK sCHECK ONE CHARACTER s ILLEGAL CHARACTER :CARRIAGE RETURN ;sDIGIT 0-7 ;0DIGIT 8-9 :STEP RETURN POINTER PAST “CR” & “PERIOD” RETURNS : INPUT NUMBER »2 :SAVE 2 ;.‘ 148 :1(22)+(28) = 210 ;sUPDATE THE INPUT NUMBER 1CHECK ONE CHARACTER s ILLEGAL CHARACTER ;CARRIAGE RETURN :'l.ll 3¢: a%: S$: 64: 7¢: 8%: 9¢: (R1) 8s (R4). (R4). (R4). R3,(SP) 94 84 (RS). (RS). R4 ,RS R3,R2 (SP)e (SP)+,R3 (SP)+,R4 (RS),RS RS -- R2=? s1DIGIT 0-7 ;:0IGIT 8-9 :DOES A “CR" FOLLOW THE “PERIOD"” 1BR IF NOT s INCREMENT THE RETURN 1 INCREMENT THE RETURN s INCREMENT THE RETURN ;CHECK THE MAGNITUDE OF THE NUMBER :BR IF ENTERED NUMBER TOO LARGE 1BYPASS INCREMENT s INCREMENT RETURN PAST INVALID RETURN 1 INCREMENT RETURN 1SETUP RETURN POINTER sENTERED VALUE sCLEAN MAX, SIZE OFF OF STACK 1RESTORE R3 tRESTORE R4 ;1GET RETURN ADDRESS 1 RETURN CIRIOBO RPOT PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE TYPE ASCIZ, LEFY JUSTIFY s THIS ROUTINE Pl2RV U SRR S$SUPRL WILL 84 Clda CONVERT 5EQ 0170 A 16-BIT UNSIGNED BINARY sUNSIGNED DECIMAL ASCIZ NUMBER. s CALL H MOv 3 RE TURN : : sNOTE: F 033412 033420 033424 033430 033434 033436 016637 012746 004737 012666 V00207 000002 033436 037404 000002 033436 000000 $SB2D: 18: NUMBER, -(SP) JSR PC,$5820 ;CALL sADDRESS OF THE 1ST ASCIZ CHAR IS ON THE STACK THE SYSMAC LIBRARY, MOV 2(SP), 1% $SAVE RTS PC ;RETURN .WORD TC AN sPUT THE NUMBER ON THE STACK THE PROGRAM REQUIRES THIS FORM OF MOV JSR MOV NUMBER '$SB2D', NOT THE VERSION ON REV C AND LATER e1s,-(SP) PC, $DB2D (SP)+,2(SP) THE BINARY NUMBER 1SET THE POINTER sCALL THE DOUBLE LENGTH CONVERT :PICKUP THE POINTER 0,0 s THIS ROUTINE WILL CONVERT A 16-BIT UNSIGNED BINARY NUMBER TO AN sUNSIGNED OCTAL ASCIZ NUMBER. ;CALL H : : 3 016637 012746 004737 012666 000207 000002 033466 037600 000002 033466 NUMBER, -(SP) PC, 35820 ;PUT THE NUMBER ON THE STACK sCALL ;ADDRESS OF THE 1ST ASCIZ CHAR IS ON THE STACK :NOTE: THE PROGRAM REQUIRES THIS FORM OF '$SB20', NOT THE VERSION ON $S820: MOV MOV JSR MOV 2(SP), 18 18, -(SP) PC, $0820 (SP)+,2(SP) .WMORD 0,0 : 033442 033450 033454 033460 033464 033466 MOV JSR RETURN 1%: THE SYSMAC LIBRARY, RTS PC REV C AND LATER $SAVE THE BINARY NUMBER :SET THE POINTER s:CALL THE DOUBLE LENGTH CONVERT sPICKUP THE POINTER ; RETURN CIRJIOBO RPOT PERF EXER MACRO vO04.00 1-DEC-83 10:32:28 PAGE AS TTY D14 5EQ 0171 INPUT ROUTINE LSBTTL 1 TTy INPUT ROUTINE 3 0 0 0 0 0 0 0000008000000800000000000000000008000000000000000000 033472 033474 023476 033500 .ENABL LSB $TKCNT: . WORD $TKQIN: .m $ TKQOUT : .WORD $TKQSRT: .BLxB $ TKQEND =, 033507 0 0 0 7 s sNUMBER OF ITEMS IN QUEUE : s INPUT POINTER 3 sOUTPUT POINTER :3T7TY KEYBOARD QUEUE .EVEN s¢TK INITIALIZE ROUTINE 3#THIS ROUTINE WILL INITIALIZE THE TTY KEYBOARD INPUT QUEUE s*SETUP THE INTERRUPT VECTOR AND TURN ON THE KEYBOARD INTERRUPT RETURN 033510 033514 033522 033530 033536 033544 033559 033556 005037 012737 013737 012737 012737 005777 012777 000207 033472 033500 033474 033560 145412 000100 5 033474 033476 $TKINT: 145402 RTS PC, $TKINT $ TKCNT $3CLEAR COUNT OF ITEMS IN QUEUE @3 TKQSRT, $ TKQIN $3MOVE THE STARTING ADDRESS OF THE $ TKQIN, $ TKQOUT $3QUEVE INTO THE INPUT € OUTPUT POINTERS. @3 TKSRV,80TKVEC s s INITIALIZE THE KEYBOARD VECTOR 0200, 80TKVEC .2 $3"BR” LEVEL 4 83TKB AG H #100,88TKS : sENABLE TTY KEYBOARD INTERRUPT PC :sRETURN TO CALLER ;#TK SERVICE ROUTINE 1¢THIS ROUTINE WILL SERVICE TME TTY KEYBOARD INTERRUPT 1#BY READING THE CHARACTER FROM THE INPUT BUFFER AND PUTTING :¢IT IN THE QUEUE. soIF THE CHARACTER IS A "CONTROL-C” (*C) STKINT IS CALLED AND $4UPON RETURN EXIT IS MADE TO THE “CONTROL-C” RESTART ADDRESS (CTRAP) 033560 033564 033570 033574 033576 033602 033602 033610 033614 033622 033626 033632 033634 033642 033644 033644 033652 033654 117746 042716 021627 001002 005726 000002 021627 001007 104401 004737 005726 000137 3 $TKSRV: 145376 177600 000021 30%: 000003 034715 033510 034756 000007 000176 001154 022737 000007 033472 104401 001176 001004 83TKB, -(SP) o+C177,(SP) (SP),o$XON 30¢ (SP)e cHP (SP),e3 1s RTI BNE 021627 001004 022737 001500 MOve 8IC cHe BNE 1ST 1¢: 28: « SCNTLC PC, $TKINT (SP)e. CTRAP (?).07 2 OSWREG, SWR 6¢ 07, $TKCNT 3¢ « $BELL ; sPICKUP THE CHARACTER :3iSTRIP THE JUNK 33IS IT A RANDOM XON? 3 sBRANCH IF NO 31 sCLEAN RANDOM XON OFF STACK s sRETURN 13IS IT A Cmflifl. c? 131BR IF NO 3:TYPE A CONTROL-C (*C) :sINIT THE KEYBOARD 1 sCLEAN UP STACK 1 sCONTROL C RESTART $3IS IT A CONTROL G? 31 tBRANCH IF NO 13IS SOFT-SWR SELECTED? 131GO0 TO SWR CHANGE 13IS THE QUEVE FULL? 1 sBRANCH IF NO $13RING THE TTY BELL CZRJIOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 85-1 TTY El4d SEQ 0172 INPUT ROUTINE 033660 033662 033664 033670 033672 033676 033700 033704 033706 033712 033716 033722 033724 033732 033734 033740 033744 033746 033752 033754 033760 033764 033770 033776 034000 034006 005726 000451 021627 3s: 145262 145254 31%: 145250 177600 000021 000100 (SP). 5 (SP),e23 CLR 83TKS 1ST8 88 TKS 145226 32%: 000040 177510 033474 033474 033507 033500 033474 1 orC177,(SP) MOV €100,88TKS 3 sBRANCH IF NO $ sREENABLE TTY KEYBOARD INTERRUPTS INC cHP $TKCNT (SP),0140 TST 324 (SP). BPL MOVB 88TKkB, -(SP) cMpP BNE (SP)+,021 318 RTI 313 BLY cp B8GT 44 (SP),e175 4 4% MOVB (SP)e+ ,88TKQIN Ss: RTI 000175 "%Et". CHARACTER OFF OF STACK $:25 IT A CONTROL -S? 3 sBRANCH IF NO 13DISABLE TTY KEYBOARD INTERRUPTS 31 3CLEAN CHAR OFF STACK $IWAIT FOR A CHAR 3:LOOP UNTIL ITS THERE 1:GET THE CHARACTER $sMAKE IT 7-BIT ASCII BNE BIC 033472 000140 012737 000002 TSTY BR cMe 8IC INC cHP BNE MOV #40,(SP) $TKQIN $TKQIN, #$ TKQEND Ss @$TKQSRT, s TKQIN 33IS IT A CONTROL -@? 1 sRETURN 3 sCOUNT THIS CHARACTER $3IS IT UPPER CASE? 1 :BRANCH IF YES uIS IT A SPECIAL CHAR? 1 sBRANCH IF YES ..m IT UPPER CASE $3AND PUT IT IN QUEUE HU'DATE THE POINTER 13GO OFF THE END? : sBRANCH IF NO s 3sRESET THE POINTER 3 sRETURN 1300888800804 00804088880808804000884000808000800008080880808002000000000 022737 000176 105777 100121 117746 042716 021627 001300 145134 001154 145130 177600 000007 :1¢SOF TWARE SWITCH REGISTER CHANGE ROUTINE. s*ROUTINE IS ENTERED FROM THE TRAP HANDLER, AND WILL 1#SERVICE THE TEST FOR CHANGE IN SOF TWARE SWITCH REGISTER TRAP soCALL WHEN OPERATING IN TTY INTERRUPT SCKSWR: CMP OSUWREG, SWR 13IS THE SOFT-SWR SELECTED BNE 15¢ $3EXIT IF NOT 1578 88TKS :13IS A CHAR WAITING? BPL 15¢ s3IF NOT, EXIT MOVB 88TKB, -(SP) 13 YES 8IC ce BNE otC177,(SP) (SP),e7 ssMAKE IT 7-BIT ASCII $13IS IT A CONTROL-G? s3IF NOT, PUT IT IN THE TTY QUEUE 31 3AND EXIT 11060000000000000000000000000000000004008400000000000000000000008008 034044 034052 034054 034056 034066 034074 034100 034104 034110 123727 001674 005726 004737 005077 112737 104401 104401 013746 104402 001150 033510 145072 000001 034727 034734 000176 001151 3*CONTROL IS PASSED TO THIS POINT FROM EITHER THE TTY INTERRUPT SERVICE 1*ROUTINE OR FROM THE SOF TWARE SWITCH REGISTER TRAP CALL, AS A RESWLT OF A 3 #CONTROL -G BEING TYPED, AND THE SOFTWARE SWITCH REGISTER BEING SELECTED. mnoo o 64: cHPB 1 3ARE WE RUNNING IN AUTO-MODE? BEQ 1 sBRANCH IF YES TST (SP)O 1 3CLEAR CONTROL -G OFF STACK JSR PC, $TKINT $3FLUSH THE TTY INPUT QUEUE CLR 94TKS 131DISABLE TTY KEYBOARD INTERRUPTS 01, $INTAG MOV 13SET INTERRUPT MODE INDICATOR $GTSWR: TYPE TYPE MOV TYPOC + SCNTLG » SMSWR SWREG, - (SP) 1 sECHO THE CONTROL-G (*G) 13 TYPE CURRENT CONTENTS 1 1SAVE SWREG FOR TYPEOUT 13GO TYPE--OCTAL ASCIICALL DIGITS) CIRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE 85-2 S€EQ 0173 INPUT ROUTINE 117746 145026 177600 021627 001015 000003 034715 000006 001151 000100 034756 CLR 1578 B8PL 144764 8s: 000025 034722 000006 000015 10%: 144712 15¢: 164 1:PR0MPT FOR NEW SWR 7% 33IF NOT TRY AGAIN 94TxB, -(SP) orC177,(SP) 1 1PICK UP CHAR 1 sMAKE IT 7-BIT ASCII (SP),e3 9 33IS IT A cm -C? 31 sBRANCH IF NO s3YES, ECHO COGM € (*C) uCLt UP STACK -(SP) -(SP) 83TxS +SONTLC % ,5P $INTAG, 01 8s 0100,887xS CTRAP nIS IT A CONTROL -U? 6,5P uxocfin oUS INPUT +SCNTLY 19¢ (SP),0S 164 4(SP) 11$ 2(SP) ,85WR 0’ SP S$INTAG, 01 18%: .DSABL (SP),.(SP) » SQUES LS8 BRANCH IF YES 1 3SAVE NEW SWR $13CLEAR UP STACK $3ECHO <CR> AND <LF> €100,847TxS : 001202 $3IS IT A <CR>? 3 sBRANCH IF NO $3YES, IS IT THE FIRST CHAR? 15¢ LIt 17s: vts tox:: "c&o‘m v (W) $ILET'S 7!7 XY AGAIN @ UUUU 000002 177776 REENABLE TTY KEYBOARD INTERRUPTS? nflm IF NO $3sALLOW TTY KEYBOARD INTERRUPTS -C RESTART 3 sCONTROL (SP), 025 10¢ ¢t 144670 11%; 144 « SMNEW N NAAAeN -~ 042716 78: - 145032 1YPE CLR @ 105777 100375 19%: 353252388 33 S33%% $2R3EN 034140 034144 034146 034152 034156 034164 034166 034174 034745 La) 034130 034134 104401 005046 005046 ma 034112 034116 034120 034122 034126 e TIy Fl4 20¢ ASCII 33IS THIS THE FIRST CHAR 1 sBRANCH IF YES 1sNO, SHIFT PRESENT 14+ CHAR OVER TO MAKE 1] ROOM FOR NEW ONE. 31 sKEEP COUNT OF CHAR 13SET IN NEW CHAR $13sGET THE NEXT ONE 13TYPE 2<CR><LF> 1 $SIMULATE CONTROL -V 150808888808000800000080880000800800800000000008000000000000080000008 CIRJIOBO RPOT PERF EXER MACRD vO4.00 1-DEC-85 10:32:28 PAGE #5-3 TMY Gl4a SEQ 0174 Ivwur ROUT INE $oTHIS ROUTINE WILL INPUT A SINGLE CHARACTER FROM Teg TTy i ' ROCHR RETURN HERE 1. $3GET A CHARACTER FROM THE QUEUE s sCHARACTER IS ON THE $INITH PARITY BIT STACK STRIPPED OFF ' SROCHR: MOV MOV - 19: 033472 033472 033476 033476 033507 033476 24: (SP),-(SP) 4(SP), 2(SP) 11PUSH DOWN THE PC AND 1:THE PS CLR CLR MOV a(SP) -(SP) 0648, -(SP) ISt eTeowt sMAIT ON A CMARACTER DEC MOve INC S$TKCONTY “W.‘(’) $ TRKQOUT lum THE COUNTER ua ONE CHARACTER 1sUPDATE THE POINTER RTI 13GET READY FOR A CHARACTER 313PUT NEW PS ON STACK $3PUT NEMW PC ON STACK 13:POP NEW PC AND PS g: ;m.nm.omn;o:vvmmr MOV OITKQSAT , $TKQOUT ;;RESET THE POINTER RTI 1 IRETURN 11000000000000000000000000000000000000000000000000000000000000000 $oTHIS ROUTINE MWILL INPUT A STRING FROM THE TTY soCALL: L. 5 0® ROL IN RETURN HERE SROLIN: MOV 034676 034715 18: 28: CLR MOV cP 000177 106: COw8 B8LOS ROCHR MOve BNE TSY 000134 034674 034674 pArrmm 034676 Ss: 000134 034674 034674 11SAVE R3 &% 13BR IF YES 313GO READ ONE CHARACTER FROM THE TTY 31:GET CHARACTER -(SP) OSTTYIN.RS OSTTYIN1S. RS (SP)+,(R3) orn (R3) (9) 1:CLEAR THE RUBOUT KEY 1:GET ADDRESS ;BUFFER FULL? 11IS IT A RUBOUT 118R IF NO 131IS THIS THE FIRST RUBOUT? 13BR IF NO $3TYPE A BACK SLASH MOV DEC cw 8LO ®-1,(SP) B R3S, 08TTYIN 4% 13SET THE RUBOUT KEY 13BACKUP BY ONE 13sSTACK EMPTY? 13BR IF YES BR TSTY BEQ MOV8 Fi ] (SP) 7 o'\, 9 13G0 READ ANOTHER CHAR. 3 sRUBOUT KEY SET? 11BR IF NO 13sTYPE A BACK SLASH CLR SP) TYPE 78 R3,-(SP) (1] *'\,9 MOVS TYPE 034674 034674 1 sADDRESS OF FIRST CHARACTER WILL BE ON THE STACK s s TERMINATOR WILL BE A BYTE OF ALL 0'S BNE MOVve TYPE 64: $3INPUT A STRING FROM THE TTY CcMPB BNE .9 (R3).9¢ .9 9 #25,(R3) 8s IISEY\' Y0 TYPEOUT THE DELETED CHAR, 11GO YYPE 1;CLEAR THE RUBOUT KE 13IS CHARACTER A cm u? 313BR IF NO g!‘uoo /PO 7 g EXER MACRO vO4.00 1-DEC-83 10:52:28 PAGF 85 -4 H14 SEQ 1S INPUT ROUT 034564 104401 034722 034572 03457 034600 034602 122718 00101 10501 104401 000022 034570 000726 034606 034612 034614 034620 034622 034626 034632 034636 034640 034644 034650 034652 034654 034656 108401 00071 104401 0007 111357 1 122723 % 1 1 005726 012603 011646 016666 034664 012766 034672 GO0002 034676 034715 034722 034727 034734 136 136 136 015 034674 034675 2 034745 8s: 034676 001202 as; 034674 $s: 034674 000015 177777 001204 000004 000002 034676 000004 9: 103 107 012 040 o8 M wE 001208 000 000 040 TYPE 88 : OMNEM: siTYPE A 022,(R3) s (") . 1315 CMARACTER A “*R*? ' ¥ N0 ' e ssTYPE A "CR* & =F*~ TYPE on YE 8e v% T O®8 BNE CLR8 TYPE ST "oV "oV MOV MOV sTIVIN 2 L I0ES is R3),9 9 MBYTE BYTE O O .ASCIZ 7 ATl STTYIN: .BLKB : JASCIZ 015 s JASCIZ 015 SCNTLG: .ASCIZ MSMR: .ASCIZ 116 L IONTLWY i #15.(R%). -1(RS) (sP)e (SP)+ A3 (SP), -(SP) a(sP), 2(5P) osTTYIN, &(SP) 11G0 START OVER - 1 TYPE THE INPUT STRING 1160 ANOTHER CHACTER ssTYPE A * 7 JOLEAR TTME BUFFER AND LOOP 1 1ECHO THME CWARACTER 1 1OMECK FOR RETURN ' IF NOT RETURN ’" RETURN (THE 1S) ssTYPE A LINE FEED 3 sCLEAN RUBOUT KEY FROM THE STACK 1 IRESTORE RS 13ADJUST THE STACK AND PUT ADDRESS OF THE " FIRST ASCII CHARACTER ON 1T s JRETURN ug-m‘m FOR ASCII OWR. TO TvPE T TOR 1S JIRESERVE 15. BYTES FOR TTY INPUT /7%C/7e1%veld> 44 “C* /%W/relSreld>» 5 ;CONTROL *“U* /9G/<15»¢12> 33 "G~ <15<12>/SuR » / NEM = 7/ s THIS ROUTINE WILL PROCESS THE (*C) CHARACTER S 034756 012737 000001 O001334 CTRAP: MOV 8 034776 005237 033474 g 67 034764 005257 oun; 176476 034770 112777 000015 9 035002 023727 12 035020 000002 033474 033507 10 035010 001008 11 035012 012757 033500 033474 14: INC MOVE BNE MOV RTI LCFLAG S Teny #15,9¢TKQIN $TRQIN 1SET THE ¢ 'JPUT JUPDATE THE POINTER $ TKQIN, 84 TKOEND ;GO TM END ? 1 18R IF YES SSTKQSRT, $TKQIN ;RESET THE POINTER JRET * FLAG TMI mfin 'RETURN’ CHARACTER IN QUEUE CIRI0B0 WPOT PERF EXER MACRD vO4.00 1-DEC-83 10:52:28 PAGE 8 1 ERROR WANOLER ROUT INE LSBTIL ERROR wDLER ROUTINE :3mmmwmmnnnmcmm. JOSAVE THE ERRORTTEM MPBER AND THE ACORESS OF THE ERROR CALL ot GPTIONS PROVIDED BV TWIS ROUTINE ARE: oSzt WALT sosul SELL ON ERROR - o 03%022 035026 E 035410 035034 035040 35046 010157 01320 093080 6078 083070 01773 035030 7 001316 035072 OISTIT 0351 R 0851 fitm 0351 757 035156 WOV ”» sS4 0011 PR 144008 000004 035210 177766 R1.DRVNO JORIVE MPBER - N SOF T -Su AT TENT 108 ASCISTER CONTENTS 115eT e CROR e TLAG IT MITIOESA 186 OVERAGR? 1 - TME ITEM BYTE SAVE %:-J‘ oI1 TPRINTOUTS ? ’ 1 0Be T LET THE FLAG GO 10 ZER0 (TSTIONEDISRAY | OTIRAY TEST MASER G SAROR FLAG Jeemu SERTRL e $ICOUNT THE MPBER OF EARORS Naylmpliod sgr.hu 1SEE 17 LOGP O ENROR1S SET (5P),SERMPC 3iGET ADDRESS OF ERROR INSTRUCTION O177,0ITEM8 41SEE IF TMIS & e 8€Q MOV 1003¢ s 004§ ERRVEC.-(SP) OA - ov 1717, nov 035406 . Do MOV 033202 QL2737 035220 000004 OLS7ST ssCLEAR 1 we I 10 000177 001130 03517 01 18SAVE 0513, asu = ROY o33iee Goteay oo 035166 022757 177777 035406 035174 ootus + 1ERRORENT AND N-EAROR ITEM MIDER ?‘v oY 777 002000 144046 011657 N FOV . RS ATTN 164108 oolle Meaose 033110 10se0F 001176 033116 003237 o1 035120 EMOR m.g& 035088 108257 111 O ERROR TeIBIT EAROR TYPEOUTS 00 4 : " " o) LISETUP T4MOVE 17§ FAIL xulv. CAL o o T S—— MAS CPU ERR REG TIMEOUT INOICATION OF ERROR VECTOR * TRAP* RETURN ADORESS CPU ERROR REGISTER 10 CPSAVE FOR TEST 033330 OLS7ST 17ITYY 035408 10000: MOV 033226 oL2716 344444 rov o 035234 012657 000004 (SP)e ERAVEC 3 RESTORE CONTENTS OF ERROR VECTOR 035200 0332¢6 001420 022737 177777 035406 0-1.CPSAVE 035250 035256 000001 035406 035260 032757 001414 4 000001 177766 042737 10010: l 035266 115737 001130 10 035276 112737 000177 0011 035302 000402 10024 MOV : g 1 8EQ 8IC ROVE NVE BR 0.(5P) 20048 $8IT00.CPSAVE 10044 08IT00.177766 +4SET CPU ERROR REGISTER TIMEOUT INDICATOR 1iSE TURN ADORESS € 50 MAS CPU ERR REG TIMEOUT INDICATION 3sSEE IF POMER MONATOR BIT IS SET IN CPU ERR REG +* ox 1+ TTME BIT FOND SET SITENS. IBSAVE 5 JHAKE TBSAVE NON-ZERO FOR ERROR CALL o177 SHTEE T T sITENe T SPECIR. SOMER PALL SOIVTER H 1 1BRANCH OVER IBSAVE CLEARING — S i SEQ 017 | —— 114 &m&@g‘a MACRD v08.00 1-JEC 8% 10:52:28 PagE -1 095508 105087 083410 i SR oy m: % - Jia Iesaw So ssCLEAR IBSAVE SO %0 TIE TWROUGH ExITS T Ir SeY ToRou " L SIP TR ouTs 11G0 70 VSER ERROR AQUTINGE drw I EnT ] E Rm!Z- 035 i % 000 214 R :.fisfl g i 5 S y LR TEE 18 4 g "%QW Lt 80 % T [ —— .:%'Eo..-mHLBEATION 18 S0 G, A ERROR CALL %G cowens | H Comin e soack (Jxfl.l" 10:32:20 PagE &7 K14 TR (s1TE I GReat Ion nunmm “ (maTe), Ry nu—. B O3ass Golo0e 033430 015768 001N T o gmeemoe E’ —— st oV e, () wfi. 2 m.g % m"fl 000177 R 2y 2 1% g :" ull m“:‘;un.:::n-'um = Z.'?‘:?u:-:“ e TR T o o et 10 0 g“ .Mtugu.r..ws Ei e D OF . o i . ST e ::"s.w.m' - Efimm E::&-ux;mcmm- ge gm0 :ofi - EE— o= & Sh o . . Twe TM éfi?fi‘.”i“ :"; ORO), () yisAE GROX. vOm TE BF e B o e RS 5 ~E "1 " B Sreesorameman., O3S714 O3STS0 001132 035406 PFECHS: .MORD PFTSTN, SERRPC,CPSAVE.O — .:".’..".'f YTE* R e Bh et TM "R m M +sCORTATN TEST WIRER FOR ¥ BIT FRmoR —— ———— mflw PERF EXER MACRD w0400 l-“-.l’”tliafl PAGE 8 LSBTR TR ROUTINE {SROUTINE 10 T1YPE ASCIZ WE soTHE ROUTINGE MILL INSERT A MASER OF WAL -z;t sl ..-mé " ] 5 AINS THE ¥ TERS AFTER A aivns :3 oanng FILL AFTER. m e1) USING A TRA® INSTRUCTION NSE FEED. w AS e &m CHARAC TER . m. N e 'C MESADR s IMESADR 1S FIRST ADDRESS OF AN ASCIZ STRING STPRLG 1315 TMERE A TERMINAL? - TYPE "€ SADR L] e STYPE: 1 TYPE 1 TSTE [N WALT 1 MmOV déa.‘ P [1] OAPTENY, 1 IN T % PC.IATYS T T0 APT BNE 608 11 YES, . SKIP TYPE Gg RTI a:. :.fl.(’) 1 sRETURN 1 iBRANCH IF <MT» g‘n ;t.:lu.(sn 1 iBRANCH IF NOT <CRLF> ST (SP)e T IT8 8€Q MOV 618: 620: 2¢: 608: 38: a8 JSR MOVE BN ST MOV ADD CLRE Ss: 74; $1SAVE RO u:?ADDRESS OF ASCIZ STRING 62 33N, GO CHECK FOR CONSOLE GAPTSPOOL . SENVM ;; N 10 APT 624 33N0,GO CHECK RO, 614 11SETUP MESSAGE ADDRESS FOR APT .WORD O BITE OAPTCSUP, SENVM TYPE 68: - 1100 r YES sMALT MERE IF NO TERMINAL (RO)e,-(SP) as (SP)e (SP)+ RO 02,(5P) SCHARCNT + IMESSAGE ADORESS SUPPRE SSED ' CHARACTER TO BE TYPED ONTO STACK 318R IF IT 1SN'T THE TERMINATOR 131F TERMINATOR POP IT OFF THE STACK 3 tRESTORE RO 1 sADJUST RETURN PC 13:POP <CR><LF> EQUIV $3TYPE A CR AND LF ' TER COUNT BR JSR 2% PC,.STYPEC BNE MOV 2 SNULL , -(SP) 33IS IT TIME FOR FILLER CMARS.? DECB 1(SP) :3DOES A NULL NEED TO BE TYPED? CMP8 BLT JSR ‘I'Cl SFILLC.(SP)s 64 PC. $TYPEC ;CNN!CN.T 313GET NEXT CHARACTER $:G0 THIS 13IF NO GO GET NEXT CHAR. 11GET @ OF FILLER CMARS. NEEDED T THE NULL CHAR. 11BR IF NO--GO POP THE NULL OFF OF STACK 13G0 TYPE A NULL uEO NOT COUNT AS A COUNT i . —— —— o ——— ;n.ao RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 88-1 N14 - YPE ROUTINE sMORIZONTAL TAB PROCESSOR 036144 000007 036262 8s: 9s: MOvV8 JSR 81718 BNE ST BR STYPEC: - TST8 143010 BPL MOV 8IC 143004 177600 000023 10¢: 142734 000002 000002 1$: 3 :sSTRIP EXT:&‘M BITS CcMPB 8 $CHARCNT : . WORD $TYPEX: RTS :sWAIT FOR CHAR :3GET CHAR :3sSTRIP IT s3WAS IT XON? ::BR IF NOT (SP)« :sFIX STACK 8sTPS 10¢ 2(SP),8sTPB s sWAIT UNTIL PRINTER IS READY 'CHARCNT $TYPEX OLF ,2(SP) $TYPEX i s YES--CLEAR CHARACTER COUNT 0 PC ; sCHARACTER COUNT STORAGE OCR 2(SP) 036262 000012 :sCHAR IN KYBD BUFFER? $3BR IF NOT ::GET CHAR 88 TKS 101 847KB, (SP ) #177600, ( SP) @$XON, (SP ) 101 102%: 000002 000015 98TKS 10 83TKB, -(SP) ::.Mt 102¢ 142760 177600 142742 (SP)e« 28 s sREPLACE TAB WITH SPACE :3TYPE A SPACE 3 sBRANCH IF NOT AT 13sTAB STOP 3 :POP SPACE OFF STACK 33GET NEXT CHARACTER ,(SP) 0177600,(SP) @$XOFF ,(SP) 101%: 142764 o PC,.STYPEC (PC)+ :3LOAD CHAR TO BE TYPED INTO DATA REG. ::IS CHARACTER A CARRIAGE RETURN? : ;BRANCH IF NO s sEXIT :3IS CHARACTER A LINE FEED? : sBRANCH IF YES ; sCOUNT THE CHARACTER —— - — - SEQ 0181 JRIOBO RPOT PER EXER MACRD vO4.00 BINARY 10 OCTAL (ASCIIY AND TYPE 1-DEC-83 10:32:28 PArE .SBTTLL BINARY 89 SEG 0182 TO OCTAL (ASCII) AND TYPE g;....0“..“0‘.‘..0...00‘0..‘.0.00‘.00“...““0‘.0.‘0‘000.00“. :*THIS ROUTINE IS USED TO CHANGE A 16-BIT BINARY NUMBER TO A 6-DIGIT :*OCTAL (ASCII) NUMBER AND TYPE IT, :‘ERPOS-- -ENTER HERE TO SETUP SUPPRESS ZEROS AND NUMBER OF DIGITS TO TYPE ie ;e Ls ;0 MOV NUM, -(SP) ;: sNUMBER TO BE TYPED .8YTE N ;sN=1 TO 6 FOR NUMBER OF DIGITS TO TrPE TYPOS ie .BYTE i® ie :sCALL FOR TYPEOUT :3M=1 OR O by :31=TYPE LEADING ZEROS : :0=SUPPRESS LEADING ZEROS i e :#$TYPON- - -ENTER HERE :#$TYPCS OR soCALL: T e TO TYPE OUT WITH THE SAME PARAMETERS AS THE $TYPOC MOV TYPON NUM, -(SP) ' : sNUMBER TO BE TYPED :sCALL FOR TYPEOUT e SOEHPOC---ENTER HERE FOR TYPEOUT OF A 16 BIT NUMBER L e Ls ) 036266 036272 036300 036304 036310 036312 036320 036334 036336 036340 036342 036346 036350 036354 036360 036364 036370 036372 036374 036376 036402 036404 036406 036410 036414 036416 036422 036424 036426 036430 036513 000002 000001 036511 036511 036513 036510 TYPOC $TYPOS: MOV MOVB MOVB 320 $TYPOC: MOVB $TYPON: 036513 NUM, -(SP) 1 sNUMBER TO BE TYPED 8(SP), -(SP) 1(SP),SOFILL (SP)+,$0MODE+1 :?§ag) : sPICKUP THE MODE 33LOAD ZERO FILL SWITCH ;:;NUMBER OF DIGITS TO TYPE : sADJUST RETURN ADDRESS @1,80FILL $3SET FOR SIX(6) DIGITS MOV MOV MOV R3,-(SP) R4, -(SP) RS, -(SP) : :SAVE R3 :1SAVE R4 : $SAVE RS ADD 06 ,R4 1 3SUBTRACT IT FOR MAX. ALLOWED R3 1 sCLEAR THE OUTPUT WORD MOVB CLR 05, SOCNT ;?WEOI.RQ R4, $OMODE $OFILL R4 12(SP),RS 18: ROL RS 2%: ROL ROL ROL MOV ROL RS RS RS RS,R3 R3 53] THE ITERATION COUNT :sGET THE NUMBER OF DIGITS TO TYPE 1:SAVE IT FOR USE :13GET THE ZERO FILL SWITCH :sPICKUP THE INPUT NUMBER : sROTATE MSB INTO "C” ::GO DO MSB :sFORM THIS DIGIT 78 BNE 44 :+ s TEST FOR O BEQ INC Ss R4 BIC TST 4: 3 :3SET :3GET LSB OF THIS DIGIT 13 TYPE THIS DIGIT? :13BR IF NO DECB BPL 177770 ::SET THE ZERO FILL SWITCH #6,30MODE +1 MOVB MOVB MGV 3s: :sCALL FOR TYPEOUT MOVB @(V;B 036512 036511 000012 036512 MOV $OMODE €177770,R3 R4 1 3GET RID OF JUNK $ sSUPPRESS THIS 0? 13BR IF YES 1:DON'T SUPPRESS ANYMORE 0'S LAST 036432 Q%6436 036442 036446 036452 036456 036460 036462 036464 036466 036470 036472 036474 036502 036504 036506 036507 036510 036511 036512 052703 000060 000040 036506 036506 036510 5%: 68: B8s: SOCNT: SOFILL: $OMODE: 89 1 BIS BIS MOVB TYPE &' 0,R% &' ,R3 R% 88 .8 $OCNT BGT BLY INC BR MOV MOV MOV MOV MOV 2s 63 R4 .BYTE OCO0000 CIRUVBO RPO7 PERF EXER MACRO vO4.00 1 DEC 83 10:22:°8 PAGF BINARY TO OCTAL (ASCII) AND TyYPE RTI .BYTE .BYTE .BYTE .WORD ClL 2 (SP)+,RS (SP)+,R4 (SP)+,R3 2(SP),a(SP) (SP)+,(SP) 5€Q 0183 s sMAKE s sMAKE THIS DIGIT ASCII ASCII IF NOT ALREADY $3SAVE FOR TYPING :3GO TYPE THIS DIGIT : sCOUNT BY 1 ::BR IF MORE TO DO :3BR IF DONE : ; INSURE LAST DIGIT ISN'T A BLANK 33GO DO THE LAST DIGIT ;1 sRESTORE RS ;1 sRESTORE R4 : sRESTORE R3 :3SET THE STACK FOR RETURNING : sRETURN :sSTORAGE FOR ASCII DIGIT : s TERMINATOR FOR TYPE ROUTINE 33OCTAL DIGIT COUNTER s3ZERO FILL SWITCH : tNUMBER OF DIGITS TO TYPE JRJIOBO RPQOT PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE CONVERT BINARY TQ DECIMAL AND TYPE ROUTINE LSBTTL 90 DI5 K0 0184 CONVERT BINARY TO DECIMAL AND TYPE ROUTINE 15000000000000000000000000000000000000000000000000000000000000000 $#THIS ROUTINE IS USED TO CHANGE A 16-BIT BINARY NUMBER TO A S-DIGIT $¢SIGNED DECIMAL (ASCII) NUMBER AND TYPE IT. DEPENDING ON WHETHER THE s *NUMBER IS POSITIVE OR NEGATIVE A SPACE OR A MINUS SIGN WILL BE TYPED s#BEFORE THE FIRST DIGIT OF THE NUMBER. LEADING ZEROS WILL ALWAYS BE s *REPLACED WITH SPACES. soCALL: MOV $3PUT THE BINARY NUMBER ON THE STACK TYPDS 13G0 TO THE ROUTINE 1¢: 2s: 3 sPUSH RO ON STACK :3PUSH R1 ON STACK 13PUSH R2 ON STACK 3 sPUSH R3 ON STACK 13PUSH RS ON STACK $13SET BLANK SWITCH AND SIGN :3GET THE INPUT NUMBER :3BR IF INPUT IS POS. : sMAKE THE BINARY NUMBER POS. MOV MOV MOV MOV MOV MOV MOV BPL NEG MOV CLR MOV MOV CLR s sMAKE THE ASCII NUMBER NEG. : 3ZERO THE CONSTANTS INDEX :3SETUP THE OUTPUT POINTER :3SET THE FIRST CHARACTER TO A BLANK 3s:CLEAR THE BCD NUMBER 13GET THE CONSTANT s3sFORM THIS BCD DIGIT :3BR IF DONE 3+ s INCREASE THE BCD DIGIT BY 1 3s: oo @ TM o 177777 ~NOn 4% 64 1(SP), -1(R3) O:O.RZ o ,R2 R2,(R3). : sADD BACK THE CONSTANT : sCHECK IF BCD DIGIT=0 s3FALL THROUGH IF O :3STILL POING LEADING 0'S? :3BR IF YES s 3sMSD? $13BR IF NO 33 YES--SET THE SIGN 31 sMAKE THE BCD DIGIT ASCII ssMAKE IT A SPACE IF NOT ALREADY A DIGIT $1PUT THIS CHARACTER IN THE OUTPUT BUFFER 3 3JUST INCREMENTING 3 sCHECK THE TABLE INDEX :13GO DO THE NEXT DIGIT $13GO TO EXIT : sGET THE LSD 177777 177776 9 9¢: -1(SP), -2(R3) (R3) (SP)+,RS 33GO CHANGE TO ASCII 33WAS THE LSD THE FIRST NON-ZERO? $3BR IF NO 33 YES--SET THE SIGN FOR TYPING 13SET 1 sPOP 31 1POP 13POP THE TERMINATOR STACK INTO RS STACK INTO R3 STACK INTO R2 1:POP STACK INTO R1 CZRJIDBO RPOT PERF EXER MACRO vO4.00 1-DEC-83 10:352:28 PAGF 901 CONVERT BINARY TO DECIMAL AND T+PE ROUTINE 036700 0%6702 036706 036714 036716 036720 036722 036724 036726 036730 012600 104401 016666 012616 000002 023420 001750 000144 000012 036730 000002 MOV TYPE 000004 5EQ 0185 (SP)+,RO 313POP STACK INTO RO 2(SP) . 4(5P) s sADJUST THE STACK . $0BLK (SP)+,(SP) $DTBL : ELS ssNOW TYPE THE NUMBER 1 3RETURN TO USER CZRJIOBO RPO7T PERF EXER MACRO vO4.00 1-DEC-83 10:52:28 PAGE 91 FAD SEQ 0186 APT COMMUNICATIONS RCUTINE LSBTTL APT COMMUNICATIONS ROUTINE 1100080000000 000000000000000000000000000 70000000000 00000000000000 037204 087202 037204 SATY1l: SATYS: SATY4: SATYC: TMMOVB TMMOVB B8R MOV MOV MOV TST8 001226 001227 18: 28: BEQ cMP8 BNE 8178 BEQ MOV ADD TSY BNE MOV TS78 BNE SUB asn 001206 037114 177776 000004 035732 3s: 4% Ss: 037204 108 001226 001206 037146 037154 037170 037174 037176 037200 037202 037203 037204 1206 037204 037203 037202 11%: 001210 000004 12¢: MOV MOV BR MOV ADD MOV JSR . WORD 1ST8 BEQ TST BEQ ST BNE MOV ADD INC CLRB CLRB CLRB MOV MOV WFLG: SLFLG: $FFLG: ®TS .BYTE .BYTE .BYTE .EVEN APTSIZE = 200 APTENVY = 001 APTSPOOL= 100 APTCSUP = 040 01,.9FFLG 01, LG SATYC 01,.9FLG R1,-(SP) LG 54 OAPTENV, SENV 3s :.me « SENVM 84(SP),RO 02,4(SP) SMSGTYPE $370 REPORT FATAL ERROR 3370 TYPE A MESSAGE 1370 ONLY REPORT FATAL ERROR 13PUSH RO ON STACK $3PUSH R1 ON STACK 3 1 SHOULD YV= A MESSAGE? ssIF NOT: ugtlflm UNDER APT? B8R [l 13GET MESSAGE ADDR. 13BUMP RETURN ADDR. 1 3:SEE IF W/ LAST XMISSION? WAIT s3IF NOT: 33PUT ADDR IN MAILBOX 313FIND END OF MESSAGE :3SUB START OF MESSAGE 33GET MESSAGE LNGTH IN WORDS $3PUT LENGTH IN MAILBOX $3sTELL APT TO TAKE MSG. 13PUT MSG ADDR IN JSR LINKAGE ,,,'m RETURN ADDRESS :3PUSH 177776 ON STACK :3CALL TYPE MACRO 3 1SHOULD REPORT FATAL ERROR? s3IF NOT: BR 33IF NOT: BR 3 sRUNNING UNDER APT? 1 sFINISHED LAST MESSAGE? WAIT 33IF NOT: 13GET ERROR ¢ s TELL ‘*m RETURN ADDR. TO TAKE ERROR 1sCLEAR FATAL FLAG 31 sCLEAR LOG FLAG 1 sCLEAR MESSAGE FLAG 33POP STACK INTO R1 3 3sPOP STACK INTO RO 3 sRETURN 1 sMESSG. FLAG 313LOG FLAG 13FATAL FLAG CIRJIVBO RPOT PERF EXER MACRD vO4.00 1-DEC 83 10:32:28 PAGE 92 G1S SEQ 0187 RANDOM NUMBER GENERATOR ROUTINE LSBTTL RANDOM NUMBER GENERATOR ROUTINE 3300000000800 000000000000000000000000000000000000000000000 1000000 1oTHIS ROUTINE IS A DOUBLE PRECISION PSEUDO RANDOM NUMBER GENERATOR soWITH A RANGE OF O TO 2(+33)-1. e e o . SRAND : 18: 037306 037304 001057 047401 037306 037304 JSR PC., SRAND RE TURN s3CALL THE ROUTINE 1 sRETURN MERE THE RANDOM MoV M MOV MOV MOV MOV ASL ROL INC BNE ADD ADC ADD RO, -(SP) R1,-(SP) R2,-(SP) SLONUM, RO SHINUM, R1 0-7.R2 RO R1 R2 1 SLONUM, RO L} SHINUM, R 1 1PUSH RO ON STACK 13PUSH R1 ON STACK 11PUSH R2 ON STACK $3SET RO WITH LOW $3SET R1 WITM MIGM $3SET SMIFT 13SHIFT RO LEFT AND S IROTATE CARRY INTO R1 AND 3+ s3CHECK FOR DONE 1 sCONTINUE SMIFT LOOP 13ADD NUMBER TO MAKE X 129 : sPROPOGATE CARRY :3ADD NUMBER TO MAKE X 129 ADC Ri 3 sPROPOGATE CARRY RO, SLONUM 1 :SAVE RO ADD 01057 R0 ADD 047401 ,R1 MOV MOV MoV "V R1, SHINUM (SP)e,R2 (SP)s.R1 (SP)+.RO MOV R15 PC 1 sNUMBER WILL BE IN 3 3 SHINUM, SLONUM $4AD0 LOM CONSTANT $1ADD MIGM CONSTANT 3 1SAVE R1 1:POP STACK INTO R2 :3POP STACK INTO R1 11POP STACK INTO RO ufl URN JOBO RPOT PERF EXER MACRO V04, .00 1-DEC-83 10:52:28 PAGE 93 H15 SEQ 0188 AND RESTORE R0-RS ROUTINES LSBTTL SAVE AND RESTORE RO-RS ROUTINES 130008000000 000000000000000000800000000000000000000000000000000000 1oSAVE RO -RS soCALL¢ o SAVPEG JSUPON RETURN FROM SSAVREG THE STACK WILL LOOX LIKE: E P. -(+16) 1OT0 1 +2--<(+18) 1o o4.. e +8---RS 1o +6---R4 $3010---R2 $10¢12---R}1 j0+14---RO $SAVREG: 037322 010546 037330 Oleess 037334 01 037340 037344 016646 MOV MOV MoV MOV MOV MOV RO, -(SP) R1.-(SP) R2,-(SP) RS, -(SP) R4, -(SP) RS, -(SP) 11PUSH RO ON STACK u!usn R1 ON STACK R2 ON STACK u’\.‘ .3 ON STACK 1:PUSH R4 ON STACK 13PUSH RS ON STACK MoV MOV m g").-(,) SP),-(SP) 22(SP),-(SP) $3SAVE PC OF MAIN 1:SAVE PS OF CALL $3SAVE PC OF CALL MOV 000022 m 000022 22(5P), -(SP) 13 PS OF MAIN 1oRESTORE RO-RS soCALL: dnesneG:SREG: Y MOV MoV MOV MOV MOV "oV MOV MOV MOV MOV - 000022 D - 7346 037344 (SP). 22(S5P) (’;0.22(’) (SP)e, 22(S5P) (SP)e, 22(S5P) (SP)+.RS (SP)+ R4 (SP)+.R3 (SP)+ .R2 (SP)+ .R1 (SP)+.RO 1 IRESTORE PC OF CALL s sRESTORE PS OF CALL s sRESTORE PC OF MAIN 1 3RESTORE PS OF MAIN T STACK INTO RS 313POP STACK INTO R4 13POP STACK INTO R3 3:POP STACK INTO R2 1:POP STACK INTO R1 13POP STACK INTO RO J15 DOUBLE LENGTTM BINARY TO DECIMAL ASCIT CONVERT ROUTINE 10000000000000000000000000000005°40.%000000a 1y wsb00ibsR P20 0 $oTHIS ROUTINE WILL CONVERT A 32817 Ay MMBER TO AN NSICNED OF (¢ "Thaay | MBER TMUST BE soDECTMAL (ASCII) MPBER, TTME SIGN soPOSITIVE. seCALL ®NTR, -(SP) "oy s sPOINTER TO LOW WORD OF BINARY NUMBER e o JSR RE TURN L) — Hel =8g:.. U $0820: 103240 023420 001750 000144 SAVREG B OV RS 08 TR S8 We By Gom R2 R um PARTIAL (RS)e,(RS)e ssMOVE TO EXT TEN POMER s 3CHANGE PARTIAL TO ASCII [ 8IS MOVE DEC f3 D POINTER TrE DATA 1IPTOR 259) .02 #DECWVL ,RO R0, 2(5P) (R2)e M1 INC BR ADD 3 s THE FIRST ADDRESS OF ASCIZ 131IS ON THE STACK "oV OV "oV o] oV h: PC. 2040820 . WORD & RE SREG H SITHR .2, RS . /s ' Re)e A1 e 0./8 R3.(RO). ‘-t)o +1GET ADDRESS 'ON’SI’ STRING 1sPUT ADODRESS ASCIZ STRING On STACK 1IPIONP THE BINARY NUFBER u!' t&%‘ w CONVERS IONS $sSUBTRACT TEN POMER $10R IF TEN POMER TO LARGE $3ADD 1 TO PARTIAL 1 :LOOP 1iRESTORE SUBTRACTED VALUE SAVE IV A RO)e s s TERMINA s sRESTORE REGISTERS 1 sRETURN 131.0E09 $31.0E08 131.0E07 113200 2%0 041100 131.0E06 {ouoo $31.0E05 23420 111.0E04 17 0 1750 0 $31.0E03 131.0E02 — LSBTTL TR SR g e T p J15 1310600 131.0800 sdRESERVE STORAGE FOR ASCIZ STRING K15 BOUBLE LENGTw BIwaly 70 OCTAL ASCTT CoWERT LSBTTL DOUBLE LENGTTM BTNARY TO OCTAL ASCII CONVERT ROUTINE Jauts wour I A 32817 UNSIGNED SINARY MFBER T0 AN IS IOED CcInWILL RSCIT mrGen. - K s /POINTER TO LOW WORD OF BINARY NUFBER THE ROUT " " ADORE 55 FIRST ASCIZ OWR. IS ON TME STACK 9010820 s "o‘w 2 28 c % 5 SEe232323223 33veR3RRa3 24,2 1428 IPOINTER 10 DATA TABLE = o REGISTERS h = s :‘5&8!8558%3i§8!§!§3€!!§!9!; ot H e gs g&3 flfl‘ g aogsgaassaaasssaaassass FEEEREEREETREREatEsests e a L] L] 1400 ELEVEN CWARACTERS 1 1MASK ul.w wORD » sMIGH wORD <. TERMINATOR JGR =7 uflfl IN DATA TASLE 1617 CHARACTER o] ST e ron 1 POINTER AL IT ON THE STACK € TERS 1IRE 70 USER 3 sMASK 3 sMAKE AL S CHAR. ASCII ssPOSITION THE MASK FOR THE LAST DIGIT s3POSITION TvE NUBER FOR TME NEXT OCTAL DIGIT " 23GO PUT IT IN THE DATA TABLE s IRESERVE DATA TABLE SR S WD U BOSTES LTTL L HHE ii 012737 L15S V08 .00 1-DEC 83 10:32:28 PAGE % D P ROUTINES L W —— 0340, DIPURVEC +2 3 sPRID: Oy lm " s IPUSH n ON STACK 000026 o3 POMER DOMN L] OV oV "oy OV M OV ", -(5P) 3.-(93 > (v; s, - e L ~(SP) =u' () 1PUSH R1 ON STACK 3 1PUSH a ON STACK $PUSH RS ON STACK ' N4 ON STACK $1PUSH RS ON STACK 3 1PUSH r ON STACK B e 1 IMANG P "oV 000024 ."W' 00077 3 h " MS WP E L nlg UP VECTOR POMER P ROUTINE “WM.&"""” "oV $SAVRG, $P $SAVRE t&o FOR m "y 000024 M.m 18: » 0% [ o1 MmOV "oV "oV "M SPMRNG: 3 g 2 )0. SP)e, P, STACK INTO SSWR CTack 10" STACK INTO RS 11POP STACK INTO R2 T STACK INTO RO T "g INTO R4 1 POP ST INTO R3 @IPURDN , DOPURVEC 43 T ? POMER DOWN VECTOR 0340, *2 11PRIO: T TME POMER FAILURE .WORD MOV SP)e MSGPMR PC)e,(SP) B8R o .MORD O $SAVRG6: O mtm : ASCIZ 13POP STACK INTO R1 3 1POMER FAIL MESSAGE POINTER TIRESTART AT PURLP 1 IRESTART ADORESS 13THE POMER UP SEQUENCE WAS STARTED 13 BEFORE TME POWER DOWN WAS COMPLETE 1 3PUT THE SP MERE {POMER FAIL FLAG GOES MERE; FAILED= 1 <CRLF><LF>/"POMER UP” AT / s THIS ROUTINE HANDLES THE RETURN ON POMER UP. WAIT THREE (3) MINUTES AND ;00 AN AUTO RE-START TO *SIZMEM' . Rek 11 Qg - nhs COBNOVEUN ( 13P0P $3POP MmOV MOV TYPE SILLUP: MALT 042 {sSP).,@5uR Yo, igmtwcutmrmm\s b gv;-.u SPURAD : it'liu PMRFLG: LG M [ 01" 000024 000026 $SAVRG 14 040134 17777% PMRUP: INC RESET BNE CLR o0 .8 PS sTTY LOOP, WAIT FOR INCREMENT 1OF WORD ;CLEAR THE WORLD ;CLEAR PSW - 001007 i § 8RR 4 SETRITENZEI 27 Vo8 .00 1-DEC-88 10:52:28 PAGE 9%-1 "oy ) ) JSR B YPE 14: 2¢: 101 MSMALIT: Nr EruG ASMLST 24 MSWATT ¢rune e INTRVL +2, 08 BNE MOV "oV g BNE 15 2 L STRINT 24 —— SEQ 0193 #STACK, SP SECOND LR TS18 8t0Q TYPE ST oY LI k% § £ IR S0l S5 —— YBOARD sSYSTEM CLOCK ARE STILL ON. 1 TYPE _ELAPSED TIME IELEMR (*C) FLAG F 3 ANY unm ASSIGNED ? iTYPE &R ‘WAITING 8 WINUTES...TO START" JWAS (9C) TYPED? B ) 9400, CHGADR SORDERQ, RS (RS)e OBLKADR, 34 - SIZvEN _ASCII LASCIZ <«CRLF>/TYPE *C TO ABORT/ <«CRLF>/WALITING 3 MINUTES...TO START/<CRLF> ——— CZRJOBO RPO7 PERF EXER MACRO VO4.00 1-DEC-83 10:32:28 PAGE 97 e — - - — ——— e e S . - ———— —— it —— . . e . S N15 .SBTTL s — SEQ 0194 TRAP DECODER 1 —— TRAP DECODER 1100080000000 0000000000000000000000000000000000000000000000000000 soTHIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE “TRAP" INSTRUCTION $#AND USE IT TO INDEX THROUGH THE TRAP TABLE FOR THE STARTING ADDRESS s#0F THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL :+#G0 TO THAT ROUTINE. $TRAP: MOV MOV TST MOVB ASL MOV 040372 RTS RO, -(SP) 2(SP),.RO - (RO) (RO),RO RO $ TRPAD(RO),RO RO :1 :SAVE RO :3GET TRAP ADDRESS s sBACKUP BY 2 :3GET RIGHT BYTE OF TRAP :sPOSITION FOR INDEXING : s INDEX TO TABLE ::G0 TO ROUTINE :3THIS IS USE TO MANDLE THE “GETPRI” MACRO 040370 011646 016666 000004 000002 $TRAP2: MOV .SBTTL TRAP TABLE “M%\II (SP),-(SP) 4(sSP),2(SP) ssMOVE THE PC DOWN ;s sMOVE THE PSW DOWN ;sRESTORE THE PSW :#THIS TABLE CONTAINS THE STARTING ADDRESSES OF THE ROUTINES CALLED :#BY THE "TRAP” INSTRUCTION. 040372 040374 040376 040400 040402 040404 040360 035732 036312 040406 034100 040410 040412 . 040414 040416 040420 2 040422 034010 034352 034442 037310 037346 033100 000032 036326 036514 TRPAD: .WORD $TYPE $TYPOC $TYPDS $TRAP2 s sCALL=TYPE ;;CALL=TYPOC ;;CALL=TYPOS ;;CALL=TYPON ;;:CALL=TYPDS TRAP+1(104401) TRAP+2(104402) TRAP+3(104403) TRAP+4(104404) TRAP+5(104405) TTY TYPEOUT ROUTINE TYPE OCTAL NUMBER (WITH LEADING ZEROS) TYPE OCTAL NUMBER (NO LEADING ZEROS) TYPE OCTAL NUMBER (AS PER LAST CALL) TYPE DECIMAL NUMBER (WITH SIGN) $GTSWR ; ;CALL=GTSWR TRAP+6(104406) GET SOFT-SWR SETTING ; ; CALL=CKSWR ; ; CALL=RDCHR ;;CALL=RDLIN ; ;CALL=SAVREG ; ; CALL=RESREG ;;CALL=DISPLY TRAP+7(104407) TRAP+10(104410) TRAP+11(104411) TRAP+12(104412) TRAP+13(104413) TRAP+14(104414) TEST FOR CHANGE IN SOFT-SWR TTY TYPEIN CHARACTER ROUTINE TTY TYPEIN STRING ROUTINE SAVE RO-RS ROUTINE RESTORE RO-RS ROUTINE ROUTINE TO TYPE ERROR MESSAGES $TYPOS $TYPON $CKSWR $RDCHR $ROLIN $SAVREG $RESREG $DSPLY $TERM=, - $TRPAD CJRJOBC RPOTM PERF RPOTM DRIVER EXER MACRD V04,00 1-DEC 83 4 .SBTTL 5 S 13 16 040424 040434 040444 040454 040464 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 040474 000000 000000 040504 _ 040514 10:32:28 PAGE 000000 000000 18 19 20 000000 000000 RPO7 DRIVER :STORAGE FOR RPDS, 000000 000000 000000 000000 000000 RPSTUO: RPSTUL: RPSTU2: RPSTU3: RPSTU4: .WORD .WORD .WORD .WORD .WORD ¢€,0,0,0 0,0,0,0 0,0,0,0 0,0,0,0 0,0,0,0 :0S, :0S, :DS, :0S, :0S, ER1, ER1, ER1, ER1, ER1, ER2 ER2 ER2 ER2 ER2 ER3 ER3 ER3 ER3 ER3 STORAGE STORAGE STORAGE STORAGE STORAGE FOR FOR FOR FOR FOR 0©O0000 RPSTUS: .WORD 0,0,0.0 :0S, ER1, ER2 €& ER3 STORAGE FOR DRIVE 000000 000000 RPSTU6: RPSTU?: .WORD .WORD RPER]1, RPER2, 0,0,0.0 0,0,0,0 AND RPER3 ;:0S, :0S, ER1, ER1, & & & & & DRIVE © DRIVE 1 DRIVE 2 DRIVE 3 DRIVE 4 000 000 26 27 28 29 gg 000 000 000 000 000 25 040526 040527 040530 040531 040532 040533 DRVACT: 000 32 33 34 .BYTE .BYTE O © ;:DRIVE 0 ;:DRIVE 1 .BYTE .BYTE .BYTE .BYTE .BYTE O 0 0 0 0 ;:DRIVE 3 ;:ORIVE 4 ;:ORIVE S ;:DRIVE 6 ;:ORIVE 7 .BYTE 0O ;:DRIVE 2 :TABLE OF DRIVE STATUS INDICATORS (DRVSTA=8 BYTES) ;DRVSTA=0 IF DRIVE IS OFFLINE OR NONEXSITENT :DRVSTA>0 IF DRIVE IS ONLINE ;2 ;:DRVSTA<O IF DRIVE IS UNSAFE 37 040534 38 040535 39 040536 40 040537 41 040540 42 040541 43 040542 :g 040543 000 000 000 DRVSTA: 000 000 .BYTE .BYTE 000 000 000 46 .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE O O 0O ;ORIVE 0O ;:DRIVE 1 ;:ORIVE 2 © © ;DRIVE 3 ;:DRIVE 4 0 0 O ;:DRIVE S ;:ORIVE 6 ;:ORIVE 7 ;TABLE OF DRIVE TYPES (DRVTYP=8 BYTES) 47 ;ORVTYP= O IF DRIVE IS NONEXISTENT (DRVSTA=0, ALSO) 48 :DRVTYP= 4 IF DRIVE IS RPO7. 49 ;DRVTYP= S IF DRIVE gg IS RPO7 ;ORVTYP=-1 IF NOT RPO7 040544 040545 040546 040547 040550 040551 040552 040553 000 000 000 000 000 000 000 000 DRVTYP: .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE O 0 O 0 O 0 0 0 MOVING HEAD OPTION ;:DRIVE ;:DRIVE :DRIVE ;:DRIVE O 1 2 3 ;:DRIVE 4 ;:DRIVE S ;:DRIVE 6 :DRIVE 7 S ER2 £ ER3 STORAGE FOR DRIVE 6 ER2 & ER3 STORAGE FOR DRIVE 7 :DRVACT<0 IF DRIVE IS ACTIVE WITH AN ERROR RELOVERY OPERATION 23 040524 24 040525 56 57 S8 59 SEG 019% ; TABLE OF DRIVE ACTIVE INDICATORS (DRVACT=8 BYTES) :DRVACT=0 IF DRIVE IS IDLE ;:DRVACT>0 IF DRIVE IS ACTIVE WITH A COMMAND gé S2 S3 S4 SS 98 CIRUOBY RPOT PERF 1-DEC 83 10:32:28 PAGE 99 Ll 560G 0196 040554 040555 040556 040557 040560 040561 040562 040563 83888883 s TABLE OF DUAL PORT INITIALIZATION INDICATORS ;OPINT=0 IF INITIALIZATION IS NOT ACTIVE ON THE DRIVE sOPINT<O IF INITIALIZATION IS IN PROGRESS DPINT: .BYTE Y- .BYTE BYTE .BYTE BYIE AYIE .BYTE 0 :DRIVE O 9 :ORIVE O © O O sDRIVE ;:DRIVE ;:ORIVE ;ORIVE O O 1 2 3 4 S :DRIVE 6 :DRIVE 7 :TABLE OF PENDING DUAL PORT REQUESTS ;:OPRQ@S=0 IF THAT A DUAL PORT REQUEST IS NOT PENDING FOR THAT DRIVE :DPRQ@S<0 IF THAT A DUAL PORT REQUEST IS PENDING FOR THAT DRIVE 040564 040565 040566 040567 040570 040571 040572 040573 88888888 N s s o e[ > wN = CO®W i NNl RPOTM DRIVER EXER MACRDO V04,00 DPRQS: .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE 0 O 0 0 O 0 0 0 2 s TRANSFER WAIT FLAG (TRNSWT=1 sORIVE sORIVE s:DRIVE ;ORIVE s:DRIVE sDRIVE ;DRIVE sDRIVE O 1 2 3 4 S 6 7 WORD) = 040574 § ;THIS IS A ONE WORD QUEUVE. IT WILL CONTAIN THE ADDRESS OF :"OPB” OF THE I/0 OPERATION. : TRNSWT: .WORD O :SEARCH WAIT KEYS (SRCHWT=1 WORD) :THIS IS A ONE WORD QUEUVE THAT WILL CONTAIN A KEY FOR EACH OF s THE DRIVES THAT ARE PERFORMING A SEARCH COMMAND FOR THE I/0 040576 § ;REQUEST THAT IS AT THE TOP OF THEIR REQUEST QUEUE. ;EACH DRIVE IS ASSIGNED ONE BIT, STARTING AT BITOO FOR DRIVE 0. SRCHWT: .WORD O sRPO7 DRIVER ACTIVE FLAG (ACTDRV=1 BYTE) sACTDRV=0 IF DRIVER IS INACTIVE sACTDRV>0 IF DRIVER IS ACTIVE 040600 ACTORV: .BYTE O sSOFTWARE TIMER ROUTINE ACTIVE FLAG (ACTSTR=1 BYTE) sACTSTR=0 IF SOFTWARE TIMER ROUTINE IS INACTIVE tACTSTR>0 IF SOFTWARE 040601 ACTSTR: .BYTE O TIMER ROUTINE IS ACTIVE CIRUDBO RPOT PERF D16 100 5EQ 0197 : SAVE REGISTERS FLAG (SAVEFG=1 WORD) $SAVEFG <0 IF SAVE THE RHXX/RPO7 REGISTERS WHEN THE sOPERATION IS COMPLETED AS PER (DPB.14). sSAVEFG=0 IF SAVE THE RHXX/RPO7 REGISTERS, :(DPB+14), AFTER AN ERROR. 040602 SAVEFG: .WORD AS PER 0 s SEEK FLAG (SEEKFG=1 WORD) t SEEKFG=0 IF WHEN THE DISK ADDRESS ISN'T IN THE WINDOW =) > :FOR A DATA TRANSFER START A SEARCH COMMAND : SEEKFG<O IF DATA TRANSFER WILL DO IMPLIED SEEKS, :DISREGARD THE WINDOW 040604 177777 SEEKFG: . WORD -1 s TIMEOUT TABLE (TIMER=8 WORDS) 177777 177777 177777 177777 177777 177777 177777 177777 TIMER: -1 -1 -1 -1 -1 -1 -1 -1 :DRIVE sDRIVE s:DRIVE sDRIVE sDRIVE ;:ORIVE :DRIVE sDRIVE NN 040606 040610 040612 040614 040616 040620 040622 040624 WO s THIS TABLE CONTAINS THE TIME ALLOWED FOR AN OPERATION ;DATA TRANSFER UNDERWAY INDICATOR (DTUM=1 WORD) sDTUM<O IF NO DATA TRANSFER UNDERWAY sOTUM=+N (WHERE N=0 TO 7) IMPLIES DATA TRANSFER UNDERWAY ON DRIVE N 040626 177777 DTuM: .WORD -1 sATTENTION BITS TABLE (ATABIT=8 BYTES) ; THIS TABLE CONTAINS THE CORRESPONDING BIT sATTENTION BIT ATABIT: .BYTE .BYTE .BYTE .BYTE .BYTE 1 2 4 10 20 40 100 200 ;:DRIVE ;:ORIVE ;ORIVE :DRIVE :1ORIVE ;:DRIVE :DRIVE ;:DRIVE ~NOVMBWN-O - QO 1 NBin’ e RPOTM DRIVER FXER MACRD vO04.00 1-DEC -83 10:32:28 PAGE TO EACH DRIVES CZRJI0BO RPOT PERF RPO7 DRIVER EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 101 1 S 040642 € 040646 176700 000254 000050 23 24 25 26 27 28 29 30 31 32 33 34 35 000240 RPADR: RPVEC: RHMEXT: .WORD .WORD .WORD 176700 254,5+32. 50 1RHXX/RPO7 CONTROL STATUS REGISTER :VECTOR ADDRESS & BR LEVEL S5 ;OFFSET TO RPBAE :SEARCH DIFFERENCE IS 1 SECTOR 000001 :g 14 15 16 17 18 19 20 21 22 THE RHXX/RPO7), sRPVEC (THE VECTOR ADDRESS (254)), AND RPVEC+2 (THE BR LEVEL (5)). g %? 040650 S5EQ 0198 :STORAGE FOR RPADR (THE FIRST ADDRESS (776700) OF 4: 4 040640 E16 MXWNDMW: .WORD 1 sDEFINITIONS OF THE RHXX/RPO7 ADDRESS INDEXES 000000 000002 000004 000006 000010 000012 000014 000016 000020 000022 000024 000026 000030 000032 000034 000036 000040 RPCS1 RPWC RPBA RPDA RPCS2 RPDS RPER1 RPAS RPLA RPDB RPMR1 RPOT RPSN RPOF RPDC RPCC RPER2 000042 RPERS 000046 RPEC2 000044 000050 000052 RPEC1 RPBAE RPCS3 = 0 -2 = 4 =6 = 10 = 12 = 14 = 16 = 20 . = = = = = = 22 24 26 30 32 34 36 = 40 = 42 = 44 = 46 = S50 = S2 sCONTROL AND STATUS REGISTER @1 (DRIVE REG. 00) sWORD COUNT REGISTER (NOT A DRIVE REG) sUNIBUS ADDRESS REGISTER (NOT A DRIVE REG) sDESIRED SECTOR/TRACK ADDRESS REGISTER (DRIVE REG. 05) sCONTROL AND STATUS REGISTER #2 (NOT A DRIVE REG) :DRIVE STATUS REGISTER (DRIVE REG 01) ;ERROR REGISTER #1 (DRIVE REG. 02) sATTENTION SUMMARY PSEUDO REGISTER (DRIVE REG. 04) ;LNOK AHEAD REGISTER (DRIVE REG. 07) . :DATA BUFFER REGISTER (NOT A DRIVE REG.) sMAINTAINABILITY REGISTER (DRIVE REG. 03) :DRIVE TYPE REGISTER (DRIVE REG. 06) s SERIAL NUMBER REGISTER (DRIVE REG. 10) s:OFFSET REGISTER (DRIVE REG. 11) sDESIRED CYLINDER ADDRESS REGISTER (DRIVE REG. ;:OUMMY ADDRESS REGISTER (DRIVE REG. 13) :ERROR REGISTER #2 :ERROR REGISTER #2 (DRIVE REG. 15) :ECC POSITION REGISTER (DRIVE REG. 16) :ECC PATTERN REGISTER (DRIVE REG. :BUS ADDRESS EXTENTION REGISTER ;:CONTROL AND STATUS REGISTER @3 17) 12) F16 CZRJIOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 102 SEG 0199 RPOTM DRIVER O® AT N B iuNyee sRHXX/RPO7 DRIVER INITIALIZATION CODE s THIS ROUTINE WILL DETERMINE WHMICH RPO7 DRIVES ARE sAVAILABLE FOR TESTING AND SET THE DRVSTA INDICATOR ;70 THE PROPER STATE FOR EACH DRIVE. sNOTE: THIS ROUTINE CALLS DRVINT JSR RETURN PC.RPINIT : sCALL 3 H H H ¢NOTE: THE 'P' OR 'L’ 104412 013746 012737 004737 012701 012702 005021 020102 : 177776 000240 046052 040424 040604 RPINIT: 177776 18: 103775 012702 012721 020102 101774 040626 177777 :SAVE RO - RS 9<5432.>,80PS PC,.CLRQUE ORPSTUO,R1 @SEEKFG,R2 (R1)e CLR cMP BLO R1,R2 MOV MOV o0TUM,R2 @-1,(R1). 1$ R1,R2 24 005037 005037 005037 005037 013703 012723 013713 013704 012764 005001 004037 000401 105061 2%: SAVREG MOV MOV JSR MOV MOV CLOCK MUST BE STARTED DRVSTA DRVSTA.2 DRVSTA.4 DRVSTA+6 JSR 177770 177776 4%: S$: CLRB INC ;LAST ADDRESS TO BE CLEARED ;sCLEAR ;ARE WE DONE? :BRANCH IF NO :LAST ADDRESS s INITIALIZE ;DONE? sLOOP IF NO :SET ALL DRIVES TO OFFLINE RPVECO? (R3) RPADR,R :FIRST ADDRESS OF RHXX/RPO7 R1 RO ,DRVINT 44 Ss 040534 sFIRST ADDRESS TO BE CLEARED ;SETUP THE RHXX/RPO7 VECTOR 08ITOS, RPCSZ( R4) 3s: ;CHANGE THE PRICRITY TO S ;CLEAR ALL REQUEST QUEUES RPVEC,R3 @ISR, (93)0 000010 sSAVE THE PRESENT PROCESSOR STATUS DRVSYA(RI.) g0c7R1 (SP)+,80PS PC sMASSBUS INIT :START WITH DRIVE 0O + INIT THE DRIVE :'OVA* NOT SET OR PARITY ERROR sNORMAL RETURN :1SET DRIVE STATUS TO OFFLINE ;GO TO NEXT DRIVE sMASK OUT UNUSED BITS ;BR IF MORE DRIVES TO GO ;RESTORE THE PROCESSOR STATUS ;RESTORE RO - RS :BYE-BYE CN.,K?.O RPQOT PERF EXER MACRD vO04.00 1-DEC-83 10:32:28 PAGE 103 Glo SEQ 0200 IVER s THIS ROUTINE DETERMINES IF A DRIVE EXIST AND IF CALL IS :IS SET TO A "1", THEN MOL, DPR, DRY, AND VvV ARE CHECKED TO sINSURE THEY ARE ALL ON A "1”. AND DEPENDING ON THEIR STATE, ;ORVSTA IS SET TO THE PROPER CONDITION. RPADR,R4 sUNIBUS ADDRESS OF RHXX/RPO7 (RPCS1) R5,-(SP) :il.DPINT(Rl) :SAVE RS +SET THE DUAL PORT INITIALIZE FLAG QDRVNUM,R1 RO,DRVINT L 040554 DRVINT: 040534 040544 000010 000111 010000 1$: 000010 2s: 041224 041230 041234 041236 DRVSTA(R1) DRVTYP(R1) :START DRIVE STATUS AS OFFLINE ;+CLEAR THE DRIVE TYPE INDICATOR 3% ;BRANCH IF DVA SET 1% 6% :3RANCH IF NOT ;OTHERWISE EXIT 3s: RO,RD.RP :READ THE DRIVE TYPE REG. (SP)+,RS #5,0RVTYP(R1) 024040 €20040,RS 4 :%COQO.RS 000004 020042 04 ,DRVTYP(R1) :%OO‘Z’.RS 0%4042.“5 024042 4 177777 000121 045210 s SELECT A DRIVE DRVSTA(R1) :SET DRIVE STATUS TO OFFLINE #8IT11,RPCS1(R4) ;SEE IF DRIVE AVAILABLE DPINT(R1) 000005 020040 041212 041214 041222 SECOND TIMER sORIVE ADDRESS ©111,RPCS1(R4) ;D0 A DRIVE CLEAR COMMAND (& SEIZE DRIVE) 08IT12,RPCS2(R4) ;NONEXISTENT DRIVE? 24 sNO - - -BRANCH 1GO SET “IE" WITHOUT A “TRE" PC,SET.IE 64 ;LEAVE THIS ROUTINE 040554 045116 ;START 10. R1 R1,RPCS2(R4) 045506 040534 +DRIVE NUMBER sCALLED BY A JSR +ERROR OCCURRED (PARITY) sNORPAL RETURN 210000. , TIMER(R1) 023420 S50 51 52 53 54 55 56 57 IT sAN RPO7, IF IT IS, A “READ-IN PRESET” IS ISSUED AND FMT22 — - 80. SO NS Nl e sORIVE INITILIZATION ROUTINE :;I.ORVTYP(RI) 4%: 121, -(SP) RO,WRT.RP -SOF TWARE TIMEOUT ON DUAL PORT INITIALIZE ? ;ERROR RETURN ADDRESS :PUT DRIVE TYPE IN RS $1SET RPO7 INDICATOR :1SINGLE PORT RPO7 1BR IF YES ;:DUAL PORT RPO7 :1BR IF YES :SET RPO7+ INDICATOR :SINGLE PORT RPO7+ 1BRANCH IF SO 1DUAL PORT RPO7+ :BRANCH IF SO 1SET INDICATOR TO 'OTHER' EXIT ;00 A “READ-IN PRESET" CIRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 103-1 H16 SEQ 0201 RPO? DRIVER S8 041240 59 041244 012746 004037 010000 045210 62 041254 004037 045116 ¢0 041250 61 041252 000032 041342 63 041260 64 041262 000012 041342 o8 041276 004037 65 041264 66 041266 67 041270 69 041302 70 041304 71 041306 72 041310 73 041312 012605 100015 116164 000014 040630 045116 ;; 041320 000407 177777 76 041322 77 041324 78 041330 79 041332 80 041340 005105 042705 167077 112761 000001 82 041342 006301 83 84 85 86 87 041344 041352 041354 041360 041362 005720 012761 006201 105061 012605 000200 :SET FMT16+1 JSR RO,RD.RP :READ RPDS MOV BFL MOVB (SP)+,R5 :AND SAVE IT IN RS Ss ;BRANCH IF ATA=0 ATABIT(R1),RPAS(R4) ;CLEAR ATTENTION BIT RPDS 83 000016 JSR RO,RD.RP sFIND OUT WHY ATA=1 (SP)+ :IS IT UNSAFE? BR 63 sEXIT CoM 8IC TST RS ;CHECK MOL, DPR, DRY, AND VvV e+C<«BIT12!BITO8!BITO7!BITO6>,RS5 6% ;BRANCH IF MOL, DPR, DRY, OR Vv IS CLEAR #1,0RVSTA(R1) ;SET DRIVE STATUS TO ONLINE (RO)« :STEP OVER THE ERROR RETURN ASL R1 RPER1 8s ROL 100004 112761 81 041342 oBIT12, -(SP) RO, WRT RP RPOF 8s 041342 006126 001003 MOV JSR B8PL MOV 040534 S$: 040534 BNE 65: 78: 177777 040554 040606 8s: MOvB MOV ASR CLRB MOV RTS S @-1,DRVSTA(RL1) @-1,TIMER(R1) R1 DPINT(R1) (SP)+,R5 RO :BR _IF NOT ;SET UNSAFE INDICATOR ;WORD "INDEX ;STOP THE CLOCK :DRIVE ADDRESS :RESTORE RS sEXIT CZRJIOBO RPO7 PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGE 104 116 SEQ 5202 RPO” DRIVER 5 .ltcusv PRE -PROCE SSOR -HANDLES SUBSYSTEM REQUEST z lC&L b S € B il 041364 013746 14 041404 15 041406 16 041410 17 041414 18 041416 19 041422 20 041426 21 041430 g 041434 104412 011002 26 041444 27 041450 28 041452 29 041456 gg 041462 352 041464 013737 112737 111201 013704 105761 003006 004037 000421 177776 040644 000001 040534 105761 040524 040564 004737 042750 40 041506 3 041512 004037 000434 046150 012764 000000 45 041526 46 041530 :; 041534 49 041536 032714 001023 004737 000420 105761 SO 041542 S1 041544 SS 041552 56 041556 S7 041560 002412 012762 105761 001007 012762 60 041570 012762 gg 041566 18: 000010 046150 37 041500 43 041514 RPO7: 041030 105761 003435 105761 001016 010164 004037 000450 000434 177776 040600 040640 040534 001042 004737 000437 44 041522 RE TURN1 000016 33 041470 34 041472 :2 041476 g: 041504 ' : 1: 24 041436 25 041442 JSR f ? 12 041370 135 041376 p FIT 000016 110000 000016 ;RETURN HERE IF REQUEST IS IN QUEUE OR THERE +IS AN ERROR CONDITION MOV 80PS, -(SP) :SAVE THE CALLING STATUS SAVREG MOV CLR MOVB MOV 1578 BGT JSR GR (RO),R2 16(R2) (R2),R1 RPADR, R4 DRVSTACR1) 14 RO,DRVINT 3 :SAVE RO - RS ;PICKUP THE DRIVE PARAMETER BLOCK POINTER ;CLEAR THE STATUS/ERROR INDICATOR ;PICKUP THE DRIVE NUMBER sUNIBUS ADDRESS OF RPCS1 ;CHECK DRIVES STATUS ;:BRANCH IF ONLINE ;GO INIT. THE DRIVE ;:ERROR RETURN MOV MOV8 RPVEC+2,30PS 01 ,ACTDRYV ;DON’T ALLOW ANY RPO7 INTERRUPTS :SET “ACTIVE DRIVER” FLAG TST8 BLE 1578 BNE MOV JSR HR DRVSTACR1) Ss DPRQS(R1) 4 R1,RPCS2(R4) RO, DRVQUE 84 ;IS DRIVE STATUS ONLINE? :BR IF NOT TST8 ;CUTSTANDING PORT REQUEST FOR THE DRIVE ? :BR IF YES :SELECT THE DRIVE sPUT THIS REQUEST IN QUEVE ;QUEVE IS FULL ;IS THIS DRIVE ACTIVE? 3s: JSR BR PC,CI7 ;GO HANDLE THE PARITY ERROR as: JSR B8R RO, DRVQUE 8s ;PUT REQUEST IN QUEUE ;QUEVE IS FULL S$: 100002 ;RETURN HERE IF QUEUE IS FULL RE TURN2 #0,RPCC(R4) tWRITE THE CURRENT CYL REG BIT oenos (R4) +IE BIT SET ? BNE JSR PC SET.IE 1 YES :SET THE INTERRUPT TSTB onvsn\uu) 1SEE IF DRIVE OFFLINE OR UNSAFE BLT MOV TST8 BNE MOV BR 6%: 74 :BR IF YES ;CALL THE OPTIMIZER MOV R 000016 ;ADDRESS OF POINTER OF DRIVES PARAMETER BLOCK 74 PC,OPT 74 045506 140000 040544 ;CALL THE RPO7 DRIVER DRVACT(R1) 000036 040534 RO,RPO7 BNE JSR it 041622 000100 PNTADR MOV ;RETURN ;BR IF UNSAFE oexusoanu 16(R2) 1SET OFFLINE ERROR INDICATOR oavnp(an 1SEE IF OFFLINE OR NONEXISTENT 1BR IF OFFLINE oexus'axro: 16(‘!2) sREPORT DRIVE NONEXISTENT ;GO TO EXIT 0BIT15!BIT12,16(R2) ;DRIVE IS UNSAFE CIRJOBO RPOT PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 104-1 J16 SEQ 0203 RPO7 DRIVER 61 041576 041600 €2 041602 64 €5 041604 66 041606 67 041610 68 041614 69 041620 104413 005720 78: 104413 8s: 9s: BR 000401 005720 105037 012637 000200 RE SREG 1ST 040600 17777 RESREG TST CLR8 MOV RTS (RO)» sRESTORE RO - RS :SETUP FOR NORMAL RETURN sFINISH UP, THEN EXIT (RO). ACTDRV (SP)+,80PS sRESTORE RO - RS sCORRECT THE RETURN ADDRESS sCLEAR “ACTIVE DRIVER" FLAG sRETURN "PS” TO USER LEVEL +RETURN TO CALLER 98 RO CZRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE 105 K16 SEQ 0204 RPO” DRIVER g sOPTIMIZER -CALLED FOR A PARTICULAR DRIVE [ 2 sCALL 4 : S s ,' [ 8 041622 9 041624 10 041630 11 041636 12 041642 13 041646 14 041650 15 041652 16 041656 17 041664 18 041672 19 041674 20 041700 21 041702 22 041706 25 041714 24 041720 25 041722 26 041730 28 041732 29 041740 50 041742 51 041750 52 041752 33 041756 104412 013746 3 177776 146137 105061 004737 005702 001475 010164 012764 032764 001446 105761 003014 O0A737 012762 105761 100056 012762 000452 040630 040564 046224 122762 002407 122762 001403 004737 000437 000010 000111 004000 oPT: 040576 000000 000000 040534 18: 046246 140000 040534 000016 110000 000016 000150 000002 000135 000002 2%: 042372 35 041760 36 041764 57 041766 38 041772 359 041774 :g 042000 005737 040626 005737 100003 004737 000426 040604 042066 4% 42 042002 004737 042260 Ss: 45 46 47 48 042010 042016 042020 042022 112761 010103 006303 012763 177777 gg 042036 000402 :z 042006 49 042030 S2 042040 S3 042044 54 042050 S5 042052 56 042056 S7 042062 000423 035230 3s: 040564 6%: 040606 012764 000000 004737 032714 001002 042750 000100 7%: 8s: 045506 177776 9s: 004737 012637 104413 000036 MOV MOV JSR SAVREG MOV o0PB,R2 s ADDRESS OF DRIVE PARAMETER BLOCK PC.OPT :SETUP A COMMAND ODRVNUM,R1 80PS, -(SP) ;DRIVE NUMBER :SAVE RO - RS s SAVE PROC. STATUS 8ICB CLRB JSR ISTY BEQ MOV MOV BIT BEQ TST8 BGY JSR MOV TST8 BPL MOV BR ATABIT(R1),SRCHUT 1CLEAR SEARCH FLAG OPRQS(R1) sRESET THE PORT REQ FLAG PC.GETREQ sGET "DPB” POINTER OF REQUEST R2 :1IS THERE A REQUEST IN QUEUE? 8s sNO--BRANCH TO EXIT R1,RPCS2(R4) sLW THE DRIVE ADDRESS €111,RPCS1(R4) ;CLEAR THE DRIVE ®B8IT11,RPCS1(R4) sDVA SET ? 64 ;70 PROT REQUEST ,IF NOT DRVSTA(R1) +IS DRIVE ONLINE? 28 s YES - -BRANCH PC,POPGUE ;NO--REMOVE REQUEST FROM QUEUE OBIT1S!BIT14,16(R2) ;SET OFFLINE STATUS/ERROR INDICATOR DRVSTA(RI.) :+IS DRIVE UNSAFE ? ;BR TO EXIT IF NOT OOITIS'.ITIZ 16(“2) sSET UNSAFE STATUS/ERROR INDICATOR ;BRANCH TO EXIT cMPB BLT CMPB BEQ JSR BR €150,2(R2) 3 2135,2(R2) 3s PC.CIa 9 ;IS THE REQUEST FOR I/0? ;:YES--BRANCH |IS IT A DIAGNOSTIC COMMAND ? TST BGE TST BPL JSR DTUM Ss SEEKFG S$ PC.CI1 EH ;DATA TRANSFER UNDERWAY? 1BR IF YES ;00 IMPLIED SEEKS ? iNO, DO SEARCH sSTART A DATA TRANSFER JSR PC.CI3 :START A SEARCH ON TARGET SECTOR -1 MOVB MOV ASL MOV #-1,0PRQS(R1) :SET PORT REQUEST INDICATOR R1,.R3 :SET UP TO ADDRESS WORDS F3 ;CONVERT TO WORD INDEX €15000. ,TIMER(R3) ;START 1S. SECOND TIMER BR 94 :BRANCH IF SO sCALL THE COMMAND INITIATOR ;BRANCH TO EXIT :GO TO THE EXIT MOV ©0,RPCC(R4) 1SET PORT REQUEST JSR BIT BNE PC.CI?7 0011’06 (R4) sPROCESS THE PARITY ERROR 31SEE IF 'IE’' ALREADY SET ;1BR IF SET BR JSR MOV RESREG 8s PC SET.IE (SP)O.OOPS tEXIT :SET "IE” WITHOUT A "“TRE" sRESTORE PROC. STATUS ;RESTORE RO - RS CZRJOBO RPO7 PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGF 105-1 RPO7 DRIVER S8 042064 000207 RTS PC L16 SEQ 0205 Z‘mx:g7 PERF EXER MACRD vO4.00 1-DEC-83 10:32:28 PAGE 106 5 SEQ 0206 sCOMMAND INITIATOR 3 2 4 sCALL ' 5 [ : 3 7 3 8 MOV MOV JSR o0PB,R2 @ORVNUM,R1 PC.CI?222? 3 9 004737 010237 010203 013704 010164 18 042116 19 042120 20 042124 001011 016246 052716 g 042140 000422 17 042110 21 042130 22 042134 23 042136 122762 004037 000024 042750 26 042142 27 042146 28 042152 29 042154 30 042156 062703 062704 012324 012324 012346 32 042164 33 042166 34 042170 00006 142750 012346 31 042160 046246 040574 040640 000010 000135 045210 004037 000034 042750 004737 045210 . 46 042206 47 042212 48 042216 016246 004037 000000 000002 045210 010137 040626 53 042232 54 042240 S5 042242 026262 002406 012746 000012 S7 042252 S8 042254 23 042256 000024 042750 000207 gé 042226 000137 56 042246 61 042260 62 042264 63 042270 004037 013704 010164 016246 1s: MOV g‘ ;REMOVE REQUEST FROM "DRIVES WAIT” QUEUE ;PUT REQ. IN TRANSFER WAIT QUEUE ;0P8 ADDRESS TO R3 s:RPCS1 ADDRESS ;SELECT DRIV BNE MOV BIS 1$ 4(R2),-{SP) #BIT15,(SP) ;BRANCH IF ;GET THE RWYM NUMBER, PARAMETERS :SET THE DIAGNOSTIC MODE BIT ;WRITE THE RPMR1 REG 28 ;LOAD THE COMMAND AND EXIT ADD ADD MOV MOV MOV 04 ,R3 02.R4 (R3)+,(R4). (R3)+,(R4). (R3)+,-(SP) ;DESIRED WORD COUNT ;RPUC ADDRESS ;LOAD WORD COUNT ;:LOAD BUFFER ADDRESS ;LOAD SECTOR AND TRACK RO,WRT.RP JSR RO,WRT.RP (R3)+,-(SP) sINDEX OF REGISTER TO LOAD ;ERROR RETURN ADDRESS ;:LOAD CYLINDER ADDRESS CI17 JSR PC.CI2 ;SEE IF BIT1S SHOULD BE SET IN RPMR1 MOV JSR RPCS1 2(R2),-(SP) RO,WRT.RP :LOAD "COMMAND+GO"”, MOV R1,DTUM :SET 12(R2),FE1(R2) 1$ oBIT1S, - (SP) RO,WRT.RP ;DATA XFER TO FE CYLINDERS ? :BR IF NO :SET THE DIAGNOSTIC MODE BIT 14: cMP BLT MOV JSR RPMR1 CI7 RTS CI3: MOV RPADR, R4 2%: 042712 JMP CI2: 100000 045210 000010 000012 RO,WRT .RP IS IT A DIAGMSTIC COMMAND ? JSR 042232 040640 #135,2(R2) BR RPDA CI7 MOV 000156 CI3 = SEARCH REQUESTED BY DATA XFER PC.POPQUE R2, TRNSWT R2,R3 RPADR,R4 R1,RPCS2(R4) JSR 000004 000002 042172 042176 042200 042202 042750 JSR MOV CI1 045210 S0 042222 000002 s WHERE : 3 CI4 = NO DATA TRANSFER MOV 000004 100000 004037 49 042220 CI1: sORIVE NUMBER ;CI?2?22? = CI1, CI3, OR CIa 3 : 12 042066 13 042072 ‘4 042076 15 042100 16 042104 sADDRESS OF DRIVE PARAMETER BLOCK ; CI1 = DATA TRANSFER : {g 355 36 37 :; M16 MOV MOV CI1S ;CALL THE LOAD(WRITE) ROUTINE "A17EA16"”, “DATA TRANSFER UNDERWAY" ;WRITE THE RPMR1 REG PC R1,RPCS2(R4) 12(R2),-(SP) ;RPCS1 ADDRESS : SELECT DRIVE tDESIRED CYLINDER ADDRESS AND “PSEL"” CIRJIOBO RPQOT PERF EXER MACRO v04.,00C 1-0EC 8% 10:32:°8 PAGF Bl ~€£Q 0207 "06-1 RPQTM DRIVER [} 0az27* 65 042300 042302 67 042304 [XY 6. 69 042310 70 042314 T1 042320 7 042322 73 042326 74 042330 042336 042342 042344 004037 000034 (42750 004737 04521C 116200 163703 Gu0010 04065C 062703 000002 002002 010346 116266 004037 000006 04,750 042232 012746 004037 000000 042750 156137 000550 000131 045210 042372 042376 013704 010164 116203 122703 001007 040640 000010 000002 000131 042402 042406 042412 042414 042420 042424 042426 042430 042432 042435 042440 042444 042450 042452 042454 042460 016246 004037 000006 042750 000403 122703 001011 040630 18: 000012 045210 000115 040576 CIla: :SEE IF B1T1S SHOULD BE SET IN RPM 1 10(R2),R3 +PICKUF SECTOR ADDRESC SUB JGE ADD MOV MOvVB JSR F°DA c17 MXWNDW,R3 14 ¢50,,R3 11(R2.,1(SP) RO,WRT RP 1$: 2%: :START A SEARCH CI1? B8ISB BR ATABIT(R1),SRC+ T MOV CIS SEWRCH FOR I/0 WINDOW sADD MAXIMUM SCCTOR COUNT BArK ;COMBTMNE THE ADJLSTED SE”TOR WITH + THE DESIRED TRACK ;LOAD DESIRED TRACK & SECTOR RO,WRT.RP ;SET “SEARCH “AIT" KEY R4 RPADR, R1,RPCS2(R4) +RPCS1 ADDRESS : SELECT DRIVE ©131,R3 1$ :IS IT A SFARCH COMMAND? 2(R2),R3 ;PICKUP THE REQUESTED COMMAND 10(R2), -(SP) :BRANCH IF NO ;:LOAD DESIRED TRACK & SECTOR 2 ;GO LOAD CYLINDER ©9105,R3 33 +IS IT A SEEK COMMAND :BRANCH IF NO 12(R2),-(SP) ;LOAD DESIRED CYLINDER PC.CI2 :SEE IF BIT1S SHOWD BE SET IN RPMR1 RO,WRT .RP CIe 3%: +BACKUP BY MAX, :BR IF >= 0 JSR RO,WRT.RP @115,R3 4 ;IS IT AN "OFFSET” COMMAND ? iBR IF NO :MERGE THE OFFSET VALUE INTO RPOF 1BUT DON‘T CHANGE THE UPPER 045116 RO,RD.RP 000001 045210 RO,WRT.RP tREGISTER (RPOF) CIe 1GO START THE COMMAND @107,R3 +IS IT A "RECALIBRATE" COMMAND? 0117,.R3 +IS IT A RETURN TO CENTER? 1(R2),(SP) 042750 000507 122703 001504 122703 001501 2C.CIe RPCS1 042232 042462 042466 042470 042474 042476 c17 JSR MOV 000010 045210 000105 RO,WRY .RP MOVB 000011 045210 042346 042352 042356 042360 042362 0423790 JSR RPDC 000107 000117 44: CIé CIé 1BYTE WHEN LOADING THE +BRANCH IF YES 1BRANCH IF YES CZRJIOBO RPO7T PERF EXER MACRO vO04.00 1-DEC-83 10:32:28 PAGE 106-2 Cl 5£Q 0208 RPO7 DRIVER 121 042532 122 042536 123 042540 124 042544 125 042546 126 042550 127 128 129 130 131 i32 133 134 135 136 137 138 139 140 141 142 143 144 145 122703 001014 004037 000032 042750 116266 004037 000032 042750 000436 000143 122703 001023 016203 000141 116237 116205 004037 000000 000010 000011 045116 147 122703 001405 010346 004037 146 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 i7s 176 177 5¢: 045116 000001 045210 RPOF 000000 042750 004737 052762 005737 100002 004737 000207 006301 012761 006201 112761 000207 010346 004037 000000 042750 000761 c17 000001 tCOMBINE “FMT16”,"ECI”, AND "HCI" MOvVe JSR RO,WRT .RP C17 B8R 12 ;READ THE OFFSET REGISTER ;IS IT A “GET REGISTER” COMMAND? 7%: 8s: 10(R2),9s 11(R2),RS RO,RD.RP :TO PUT THE REGISTER(S) sINIT. THE INDEX FOR THE FIRST REG. :INDEX OF LAST REG. TO MOVE ;READ RHXX/RPO7 REGISTER s INDEX OF REG. TO READ (SP)+,(R3). ;:GET THE CONTENTS OF RMXX//RPO7 REG. 8s ;LOOP--MORE TO READ 042620 9%: 000145 9% ,RS 12 02,98 045342 040606 PC ,POPQUE ;REMOVE REQ. FROM QUEUE 13%: SAVEFG 13¢ PC, SVRHXX PC :SAVE RHXX/RPO7 REGISTERS ? :BR IF NO sYES--GO SAVE THE REGISTERS ;RETURN TO USER CIS: R1 12¢%: RO,WRT .RP oBIT07,16(R2) CIlé6: :SET THE “DONE” BIT :iOOOO..TI'iR(Rl) sSTART 10, SECOND TIMER @1 ,DRVACT(R1) $1SET THE DRIVE ACTIVE R3,-(SP) :LOAD THE COMMAND PC 045210 :LAST REG. BEEN READ? ;GET OUT IF YES ;sINCREASE THE INDEX BY 2 :sIS IT A "SELECT DRIVE" COMMAND? ;BRANCH IF YES ;:LOAD THE COMMAND 11%: 000016 :BRANCH IF NO sPOINTS TO 1ST ADDRESS OF WHERE 2145,”3% 12 R3,-(SP) 10%: 045210 023420 1(R2),1(SP) RO,RD.RP 10 6(R2),R3 042620 040602 IS IT A “SET FORMAT” COMMAND? sBRANCH IF NO 0141 ,R3 6%: 042620 046246 0143 ,R3 64 RPOF 042750 012623 023705 001414 062737 000764 CMPB BNE JSR RO,WRT.RP sRETURN TO THE USER CIS 005702 001001 000207 012762 104000 012746 000111 000016 CI7: R2 18: OBIT1S!BIT11,16(R2) CI78: 0111, -(SP) 1 PC sANYTHING IN QUEUVE ? :BRANCH IF QUEUE IS THERE ;OTHERWISE EXIT 1SET "PARITY” ERROR INDICATOR 100 A "DRIVE CLEAR" CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE RPO” DRIVER 178 042770 179 042774 180 042776 181 182 183 184 185 186 187 188 189 190 191 192 043170 043174 043210 043214 043226 043230 043234 043240 043244 043250 043252 004037 000000 043036 004737 105061 105061 020237 001005 005037 012737 000207 104412 005001 005003 105761 001003 105761 001443 013702 020137 001402 004737 005702 001413 032764 001404 012762 000403 045210 JSR RPCS1 Cls 046130 040564 040524 040574 040574 1777277 040626 18: CIls: 040524 1%: 040564 040574 040626 2s: 3s: 010000 000010 100002 000016 012762 012763 102000 177777 000016 040606 105061 105061 020137 001005 012737 005037 005201 062703 042701 001321 012737 005037 004737 012764 000406 040524 040564 040626 004737 105061 105061 004737 104413 000207 43: Ss: 1EMPTY THE QUEUVE R2, TRNSWT +IF THIS DRIVE MAD AN I/0 REQUEST 1 TRNSWT 040626 68: 177777 1CLEAR THE PORT REQUEST FLAG ;ORIVE IS IDLE + IN PROGRESS CLEAR ALL OF THE FLAGS 0-1,0Tuw PC R1 R3 :SAVE RO - RS DRVACT(R1) sDRIVE ACTIVE? OPRQS(R1) 6 1PORT REQUEST 1BRANCH IF NOT 24 TRNSWT ,R2 R1,0Tuw $BRANCH IF IN ACTIVE tGET "DPB“ FROM THF “TRANSFER WAIT" QUEUE :DID THIS DRIVE MAVE AN I/0 IN PROGRESS? $BRANCH IF YES PC.GETREQ :GET THE DPB POINTER R2 :QUEUE ENTRY FOR DRIVE ? S$ :BR IF NOT flITl?.”CS?(R‘) 3 'NED’ SET ? u IF NOT OOIT 15!81701, 16(&2) :SET 'DRIVE NON-EXISTENT' S¢ sCONT INDICATOR OBIH.S'BIYIO 16(R2) ;SET “"NON-CLEARABLE PARITY” ERROR INDICATOR o-1,TIMER(RS) 1STOP THE TIMER R1,DTUM 6 177770 046130 040534 040544 045506 PC.EMPTYQ DPRQS(R1) DRVACT(R1) DRVACT(R1) DPRQS(R1) 000002 040574 046052 000040 RTS 5EQ 0209 RO,WRT RP 3¢ 046224 177777 040574 JSR CLRB CLRB cHpP BNE CLR MOV 106-3 D1 TRNSWT R1 02.R3 otC7,R1 +SET "DRIVE ACTIVE” TO IDLE tCLEAR PORT REQUEST FLAG +IS THIS DRIVE SETUP FOR A TRANSFER 1BR _IF NOT tRESET THE INDICATOR tCLEAR THE TRANSFER QUEUE tMOVE TO THE NEXT DRIVE 14 1BRANCH IF MORE DRIVES TRNSWT tCLEAR THE ' TRANSFER WAIT' QUEUE iNO DATA TRANSFERS UNDERWAY PC,.CLRQUE ;CLEAR ALL OF THE REQUEST QUEUES #BITOS,RPCS2(R4) ;D0 A MASSBUS INIT, 000010 74: 8s sCMT INVE PC.EMPTYQ 1CLEAR THE DRIVE'S QUEUE DRVSTA(R1) DRVTYP(R1) PC,SET.IE PC 1SET DRIVE TO OFFLINE 1CLEAR THE DRIVE TYPE INDICATOR 1SET “IE” WITHOUT "TRE" tRESTORE RO tRETURN - RS CZRJOBO RPQ7 PERF EXER MACRD v04.00 1-DEC-83 10:32:28 PAGE OB NE NN - RPO7 DRIVER 107 El 5€£Q 0210 s INTERRUPT SERVICE ROUTINE 043254 043262 043264 043270 043274 043276 043302 043306 043310 043314 112737 104412 013704 013701 002402 004737 004737 104413 105037 000002 040600 ISR: 040640 040626 043404 043630 18: 040600 MOVB SAVREG MOV MOV BLT JSR JSR RESREG CLRB RTI @1 ,ACTDRYV RPADR,R4 DTUMW,R1 14 PC.TD PC,.SC ACTDRYV $SET "ACTIVE DRIVER” FLAG iSAVE RO - RS sADDRESS OF RPCS1 ;GET "DATA TRANSFER UNDERWAY“ INDICATOR ;BRANCH IF NO DATA TRANSFER UNDERWAY ;:CALL TRANSFER DONE sCALL SPECIAL CONDITIONS sRESTORE RO - RS ;CLEAR "ACTIVE DRIVER” FLAG sRETURN :FORCE WRITE CHECK ROUTINE 043316 043322 043324 043332 043334 043340 005737 001427 122762 001023 004037 000420 043342 043346 043354 043362 005062 116262 016262 016262 105062 112762 000207 043370 043374 043402 WC.HK: 1%: TST WRTCHK cMPB BNE JSR BR OWRTDAT, sCOMND(R2) sLAST COMMAND A WRITE COMMAND ? 1$ ;BR IF NOT RO,DRVQUE lFUT INTO THE QUEUE 1s ;BRANCH IF QUEUE IS FULL CLR MOVB MOV MOV CLRB $TATUS(R2) ;CLEAR ‘DONE’ BIT IN DPS SRPCS1(R2), SPREVO(R2) sPREVIOUS COMMAND $CYL(R2),$PREVA+2(R2) sPREVIOUS CYLINDER ADDRESS $SEC(R2), SPREVA(R2) sPREVIOUS SEC , TRK ADDRESSES $CODE(R2) ;CHANGE WRITE DATA TO WRITE CHECK DATA BEQ ;(T);B 1s ;100 WRITE CHECK ? ;BR :\CJCKD.SCM(RZ’) — H NO sCHANGE FUNCTION CODE TO WRITE CHECK CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 108 SEQ o211 s TRANSFER DONE ROUTINE 043404 043626 OO IO B INN) - RPO” DRIVER Fl TD: PERM ;CLR PERMENANT ERROR FLAG DRVACT(R1) sSET DRIVE ACTIVE INDICATOR TO IDLE sCANCEL TIMEOUT 040524 177777 040626 177777 040606 :il.TIPEfl(ll) 000016 TRNSWT #8IT07,16(R2) 040574 040574 000200 000010 045116 :il.DYW TRNSWT ,R2 R1,RPCS2(R4) RO,RD.RP (SP). 045342 000135 040630 1%: 000016 043316 046224 041622 012714 000207 000000 3s: 000016 040000 000012 043626 030630 000016 000113 s TRANSFER ERROR(TRE=1)? 1BR IF 1$ 1BR IF NO ;1352(R2) ag mmxgxxmsrxc COMMAND ? PC, SVRHXX 4% : YES $SAVE RHXX/RPO7 REGISTERS ? s YES--SAVE THE REGISTERS sRESET THE ATA BIT PC.HC.HK PC.GETREQ :SEE IF WRITE O!CK TO BE PUT IN QUEUE :GET DPB POINTE PC.OPT sCALL OPTIMIZER R2 3 100100 046130 045342 040111 sSELECT THE DRIVE ATDI?(RI).”AS(R‘) 28: 000113 1GET “DPB” FROM THE “TRANSFER WAIT” QUEUE s TRANSFER WAIT QUEU - -CLEAR E QUEUE :1SET DONE 43 SAVEFG 040602 iNO DATA TRANSFERS UNDERWAY PC ©113,(R4) PC $ENTRY FOR NIVE ? : IF NOT 1RETURN ;RELEASE THE DRIVE ;:RETURN OGITIS'BIYOG 16(R2) ;SET DATA ERROR FLAG PC.EMPTYQ ;EMPTY THE “DRIVE'S WAIT" QUEVE PC., SVRHXX : SAVE T'E RHXX/RPO7 REGISTERS “0111.(04) sISSUE A "DRIVE CLEAR" o8IT14 ,RPDS(R4) Ss PERM ;DID ERROR BIT CLEAR? i1BR IF YES 1SET PERM ERROR FLAG ATMIT(RI).”AS(“‘) s:CLR ATA BIT PC sRETURN Ss: 0113,(R4) PC 1ISSUE A RELEASE TO THE DRIVE sRET PERM: 0 sPERMENANT ERROR FLAG CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE OB NOUNS W+ RPO7 DRIVER 109 Gl SEQ o212 :SPECIAL CONDITION ROUTINE 043630 043634 043636 043642 043644 043646 043650 043652 116403 001013 043654 043656 043662 104001 004737 000207 043664 043666 043670 043672 043676 043700 043702 043704 043706 043710 043712 005046 110316 005001 012703 030316 001005 005201 043714 043720 043722 105761 001402 000137 043726 043732 043734 043740 043744 105761 003011 004737 004737 004737 043750 043754 043756 043762 043764 043770 043774 043776 044002 044006 044010 044012 044020 044022 044024 044026 044034 044036 004037 000000 043036 106126 100404 000401 000016 045116 SC: MOVE BNE 395251 RPAS(R4),R3 2 RO,RD.RP ;READ “RPAS” REGISTER ;BRANCH IF ANY 'ATA* BITS SET sREAD CONTROL AND STATUS REGISTER c1e ROLB (SP)e :1S “IE~e1? EMT 1 8MI B8R 045506 18 2 000001 RTS CLR sC3: 040564 044264 040534 046224 045342 043200 105761 040534 003405 105761 040524 001020 004737 044200 105761 040534 100412 012746 000111 004037 045210 000000 044052 116164 000240 000727 040630 000016 006301 012761 006201 004737 177777 040606 046224 SCS: 18: 2: 38: SC6: ;IF ERROR REPORT IS DESIRED ;REPORT ILLEGAL INTERRUPT ;SET INTERRUPT ENABLE +RE TURN ;PROCESS ALL DRIVES THAT MAVE R1 ;SETUP R1 € RS TO CHECK DRIVE O 01.R3 R3.(SP) SCS ASLB R3 INC :YES, NO DRIVES TO CHECK ;BRANCH OVER ERROR, REPLACE BRANCH WITH ‘NOP* -(5P) MOV BIT BNE R1 8BNS sC3 :STORE ATA BITS ON STACK ;IS THIS ATA BIT SET ? :BR IF YES sMOVE TO THE NEXT DRIVE ;ANY MORE DRIVES TO CMECK ? ;B8R IF YES RTS (SP)e PC ;CLEAN OFF THE STACK TSTB JMP 1ST8 DPRGS(R1) 18 SC13 onvsman ;IS THERE PORT REQUEST OUTSTANDING ? :8R IF NO :START THE OUTSTANDING COMMAND ;IS THIS DRIVE ON-LINE ? JSR JSR JSR ;f? TSTE BNE JSR TST8 8MI MOV JSR RPCS1 PC GETREQ PC. SVRHXX PC.SC12 gi.tvsman DRVACT(R1) SC6 PC,SC12 oavsmm) nu.-(sn RO, WRT.RP ;GET DPB POINTER :SAVE THE RMXX/RPO? REGISTERS ;SAVE RPDS, RPER1, RPER2 AND ;ALSO DO A DRIVE inn (oavxnn .8‘1‘0 v@!vt COME ON-LINE? ;DRIVE ACTIVE WITH COMMAND OR ERROR RECOVERY ? .n IF EITHER VE RPDS, RPER1, RPER2 AND 1ALSO DO A DRIVE INIT (DRVINT) ;CHECK ON DRIVE'S STATUS :BR IF UNSAFE :DRIVE CLEAR JMRITE THE COMMAND INTO RPCS1 ;REGISTER INDEX w B8R ATABIT(R1),RPAS(R4) :CLR ATTN BIT sca ;CHECK FOR MORE DRIVES ASL R1 BEQ 8GT scé as: PC RS3,(SP) ST 000207 PC.SET.IE MOVB CLR sC4: 106303 001373 005726 JSR 18 13-4 MOV ASR JSR :BR IF YES {PARITY EXIT ADDRESS 0-1,TIMERCR1) R1 PC.GETREQ ;SETUP TO ADDRESS WORDS ;STOP THE TIMER ;RESTORE THE DRIVE ADDRESS {GET THE DPB POINTER FROM THE QUEUE CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE RPO? DRIVER 61 044042 62 044046 €3 64 044052 010164 000137 000010 044102 105761 001405 004737 004737 000402 040524 044072 004737 000137 042764 043702 044102 044106 105061 040524 040630 044114 044116 044122 044130 044134 044136 044142 044150 044156 044160 001012 004737 052762 65 044056 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 044060 044064 044070 044076 136137 005737 100002 004737 116164 146137 006301 012761 006201 004737 000137 SC8: 046224 042750 046246 000200 040602 040576 000016 040576 177777 040606 sC11 sPROCESS THE SEARCH TST8 DRVACT(R1) +IS DRIVE IDLE? PC.GETREQ PC.CI7 sGET DPB POINTER sPROCESS THE PARITY ERROR BEQ JSR JSR 1s s YES- -BRANCH PC.CI78 SCa sPROCESS THE UNCORRECTABLE PARITY ERROR sCHECK MORE DRIVES SC11: DRVACT(R1) ;SET DRIVE IDLE 1 1BRANCH IF YE S #8IT07,16(R2) ;SET “DONE” BIT ATABIT(R1),SRCHWT PC,POPQUE SAVEFG 1¢: sCi2: 1s PC, SVRHXX ;DOING A SEARCH OPERATION FOR t1AN 170 COMMAND? tREMOVE REQUEST FROM QUEVE 1SAVE THE REGISTERS? 18R _IF NO s YES--SAVE ALL OF THE RHXX/RPO7 REG'S ATMIT(RI).RPAS(M) ATABIT(R1),SRCHWT sCLEAR ATTENTION BIT ;CLEAR IMPLIED SEEX SET R1 -1, TIMER(R1) R1 sWORD INDEX ;STOP CLOCK sRESTORE R1 :{.RPCSKM) + SELECT DRIVE 1START A REQUEST sCHECK FOR MORE DRIVES 1 RPDS(R4) ,RPSTUO(R1) 040424 040426 RPER1(R4),RPSTUO+2(R1) RPER2(R4) ,RPSTUO+4(R1) RPER3(R4) ,RPSTUO+6(R1) 040432 R1 R1 1STORE DRIVE STATUS ;STORE ERROR REG #1 ;STORE ERROR REG 2 ;STORE ERROR REG o3 RO,DRVINT sINIT. THE STATE OF THE DRIVE 1%: PC (SP)+ sRETURN ;CLEAR THE STACK SC13: R1,RPCS2(R4) s SELECT THE DRIVE 1¢: DPINT(R1) s INITIALIZING THE DRIVE ? 041030 1$ 000016 s SELECT DRIVE 18: 2%: PC,OPT sCa 000010 000010 040630 040554 MOV JMP s CONTINUVE 041622 043702 000012 000014 000040 000042 R1,RPCS2(R4) SEQ o213 2 000016 045342 040630 040630 109-1 H1 SC8 1 TAKE ERROR EXIT 1PROCESS THE PARITY ERROR ATABIT(R1),RPASC(R4) ;CLEAR THE ATTENTION BIT 24 1BR IF NOT RO,DRVINT 1GO INIT THE DRIVE 040554 041030 DPINT(R1) 040534 DRVSTA(R1) 24 R2 a3 aCLEAR THE INIT INDICATOR ;:OUMMY PARITY ERROR RETURN |DRIVE ONLINE ? t1BR IF YES -- START ORDER 1QUEVE ENTRY FOR THE DRIVE 1BR IF NOT CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE RPO7 DRIVER 123 124 125 126 127 128 129 130 136 137 138 139 140 044330 044334 044342 044346 044352 004737 052762 004737 004737 000411 046224 140000 045342 046246 044354 044362 044364 044370 032764 001003 004737 004000 045506 044372 044376 004737 000137 041622 043702 000402 JSR BIS JSR JSR BR 000016 000000 28: 3s: 43 BIT 109-2 I1 PC,GETREQ jGET DPB_ADDRESS PC, SVRHXX :E.w 1SAVE THE REGISTERS 1REMOVE THE QUELE OBIT1S!BIT14,16(R2) 98IT11.RPCS1(R4) ;INFORM USER THAT DRIVE OFFLINE ;OVA SET ? BNE JSR BR 3 :E.S&T.IE :SET THEN CALL OPT JSR JMP PC,OPT SCa 1START THE REQUEST sPROCESS OTHER DRIVES —— CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 110 J1 WO IOV S Ny RPO? DRIVER ;RPO7 TIMER ROUTINE ;CALL : 3 RPTMR: 040601 040606 1%: 040606 044472 000010 040601 3%: 4%: OTIME, -(SP) PC.RPTMR +ELASPED TIME IN MILLISECONDS ON THE STACK sCALL RPO7 TIME ROUTINE ACTDRV sCHECK “ACTORV € ACTSTR* 43 @1,ACTSTR R1 R3 TIMER(RS) iSAVE RO - RS 1START WITH DRIVE O 1IS THE TIMER RUNNING? 24 H gg.fl’).!t’tfl(fls) PC,.STO R1 (R3). 8. .R1 14 ACTSTR (SP)+,(SP) PC tMOVE TO NEXT DRIVE 1OUT OF DRIVES? sBRANCH IF NO ;RESTORE RO - RS sZERO ACTIVE SOFTWARE TIMEOUT ROUTINE FLAG sADJUST THE STACK ;RETURN A — — i CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 111 iK1 S NN - RPOT DRIVER : SOF TWARE TIMEOUT ROUTINE i ¢NOTE: : THIS ROUTINE MUST BE ENTERED AT PRIORITY 6 OR GREATER 3 O® IO sCALL MOV JSR s:DRIVE NUMBER :1SOFTWARE TIME ROUTINE ' RETURN QDRVNUM,R1 PC,STO ST0: MOV MOV R1,-(SP) R3,-(SP) MOV JSR R1,RPCS2(R4) .RD. RC,RD.RP 1SAVE R1 :SAVE R3 sGET_ADDRESS OF "RPCS1” s SELECT THE DRIVE ;READ THE DRIVE STATUS REGISTER TST8 BMI (SP)e 64 BEQ JSR PC GETREQ JSR MOV PC, SVRHXX 1 SAVE RMHXX/RPO7 REGISTERS 081705,RPCS2(R4) 3 “INIT” THE MASS BUS : : 040640 000010 045116 040554 040564 040574 040626 046224 101000 045342 040524 000016 2%: 000010 3%: 040524 040574 040626 044702 044706 044710 044714 044720 000016 040630 JSR BR RO,DRVINT 94 sINIT. THIS DRIVE sPARITY ERROR RETURN TST8 BEQ MOV cHP DRVACT(R1) 5S¢ TRNSWT ,R2 ;ORIVE IDLE BEFORE THE INIT.? s YES - -BRANCH 1GET "DPB8” FROM THE “TRANSFER WAIT” QUELUE JSR ?C GETREQ CLRB MOV DRVACT(R1) @-1,TIMER(R3) +SET DRIVE ACTIVE TO IDLE aSTO THE TIMER INC cHP BGT MOV CLR JSR BR R1 8. .R1 33 €-1,.0TuM TRNSWT PC,CLRQUE 134 s INCREMENT THE DRIVE NUMBER sLAST DRIVE BEEN CHECKED? 1NO--LOOP tNO DATA TRANSFERS UNDERWAY sCLEAR TRANSFER WAIT QUEUE lCLEAR ALL REQUEST QUEUES 1EXIT MOVB RPAS{R4),RS BNE 7 TST 000010 177777 040574 046052 ;:ORIVE IS IDLE 8IS 040606 040626 6%: ;SET_THE ERROR FLAGS DRVACT(R1) BEQ 000016 #81T15:81709, 16(02) CLRB SIL-: 041030 046224 100400 040524 177777 BIS :IS “DRY*"=1? i8R IF YE S sTRYING TO INTIALIZE THE DRIVE ? 1BR IF YES sOUTSTANDING PORT REQUEST FOR THE DRIVE ? 1BR IF YES sGET “DPB” FROM THE “TRANSFER WAIT* QUEUVE : TRANSFER UNDERWAY ON THIS DRIVE? .oamcu IF YES 1GET DP8 ADDRESS 8IT8 R% DYW.RI :START WITH DRIVE 0 tWAS A DATA TRANSFER UNDERWAY ON THIS DRIVE? aYES--flNCH 08IT15!8IT08, 16(“2) (R3)+ ATABIT(R1),RS T THE DP8 POINTER FROM QUEUE 1 INFORM USER OF INIT. tUPDATE THE INDEX tREAD ATTENTION REG ;IS ATTENTION FOR THIS DRIVE WP ? + YES - -BRANCH e ——— - ———— CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 111-1 — — L1 - SEQ o217 RPO7 DRIVER 58 044722 59 044726 &0 044730 61 044734 6c 044736 63 044742 64 044744 65 044750 66 044752 67 044754 68 044756 69 044760 70 044764 71 044766 72 044772 73 044774 74 045002 75 76 045004 77 045010 78 79 045012 80 045016 81 045022 82 83 84 85 86 87 88 89 90 921 92 93 94 95 96 97 98 045030 045034 045036 045040 045046 105761 001031 105761 001045 020137 001267 004037 000000 045004 105726 100261 105761 001003 105761 001446 012763 000442 040554 004737 000437 043036 9s: PC,.CI8 13¢ ;GO HANDLE THE ‘'NED' 105061 105061 012763 004737 005702 040554 040534 10¢: DPINT(R1) DRVSTA(R1) sCLEAR THE INITIALIZE INDICATOR :SET DRIVE OFFLINE :STOP THE TIMER 001424 052762 000414 012763 105061 004737 005702 001407 012762 004737 004737 012603 012601 000207 TST8 040564 onosuu) 114 040626 nt.orw 1 Ro.m.” 045116 78: 040554 040564 177777 177777 046224 138 @-1,TIMER(RS) 040606 000016 177777 040564 046224 040606 100004 046130 000016 (SP). 1s DPINT(R1) 84 DPRQS(R1) 134 @-1,TIMER(RS) 040606 140000 045342 WINT(R!) :g;GETREG sTRYING TO INTIALIZE THE DRIVE ? 1BR IF YES - DRIVE NOT ONLINE sOUTSTANDING PORT REQUEST FOR THE DRIVE ? iBR _IF YES - NO RESPONSE TO REQUEST 1DATA TRANSFER UNDERWAY FOR THIS ORIVE 1BR IF NO ;READ CONTROL AND STATUS REGISTER ;CHECK 'RDY’ :BR IF "RDY"=0 sINITIALIZING THE DRIVE ? 1BR IF INIT PENDING ;PORT REQUEST PENDING ? :BR IF NOT :1STOP THE TIMER sEXIT :GET THE DPB ADDRESS sREQUEST IN QUEVE ? 134 ;1BR IF NOT OBIT1S!8IT14,16(R2) s INFORM THE USER DRIVE NOT AVAILABLE 12% sFINISH 11%: @-1,TIMER(R3) DPRQS(R1) :ac.GETREO 12%: 13s: :STOP THE TIMER s:CLEAR PORT REQUEST INDICATOR :GET DPB ADDRESS sQUEVE ENTRY FOR DRIVE ? 13¢ :BR IF NONE #B8IT15! 851’2+16( R2 ) 1 INFORM USER OF PORT REQUEST ERROR PC.EMP sCLEAR THE QUEUE FOR THE DRIVE PC, SVRHXX sSAVE RHXX/RPO7 REGISTERS (SP)O.Mo ;:RESTORE R3 (SP)+,R1 sRESTORE R1 PC sRETURN CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 112 M1 OW® YOS AN - RPO?7 DRIVER sROUTINE TO READ A RHXX/RPO7 REGISTER 3 : CALL :GO READ A REGISTER sREG. INDEX FROM BASE sERROR ADDRESS - -PROCESS ERROR STARTING sAT THIS ADDRESS sCONTENTS OF REG. IS ON THE STACK 045116 045120 045124 045126 045134 045140 045144 045152 045154 045162 045164 045172 045174 045176 011646 013746 062016 017666 013716 045200 045204 045206 062700 005726 000200 062716 032776 001004 032777 001406 016666 022626 011000 000403 :SAVE RO ;ADDRESS OF THE 040640 :REG ;READ THE CONTENTS OF THE REG ;CHECK IF NON-EXIST DRIVE 040640 000010 010000 H 173456 1¢: 2%: 24 2(SP),4(SP) (SP)+,(SP)e« (RO),RO 3 &2,R0 (SP)+ RO ;NED BIT SET ? ;ERROR EXIT sMCPE SET ? sEXIT sMOVE THE RO TO TOP OF STACK ;CLEAR OFF THE STACK ;:ERROR EXIT ADDRESS ;EXIT ;NORMAL EXIT ;CLEAR OFF STACK sEXIT N1 - SEQ 0219 DRIVER ;ROUTINE TO WRITE A REGISTER O®dRANE NN RPO” — e el CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 113 ;CALL H MOV JSR INDEX ERRADR DATA, -(SP) :DATA TO BE LOADED ON THE STACK :CALL THE ROUTINE TO LOAD(WRITE) THE REG. :INDEX OF THE REGISTER TO BE LOADED :ADDRESS TO RETURN TO ON AN ERROR ;ERROR FREE RETURN ;?0)0 +-(SP) ;FORMING THE REG ADDRESS RO,WRT.RP RETURN 012046 001017 122766 002413 105777 100375 017746 000316 042716 111666 005726 063716 016676 013716 062716 032776 001013 013716 062716 032776 001003 062700 000401 011000 005726 012€16 000200 HURT.RP: 000150 173402 €150,4(SP) 4 SRPADR 1$ SRPADR, -(SP) 177770 @+C7,(SP) 173410 1$: (SP) 000007 040640 000004 040640 000010 010000 2$: (SP),7{sSP) (SP)« RPADR, (SP) 4(SP),8(SP) RPADR, (SP) #RPCS2,(SP) g?ITl?.fl(SP) 040640 000014 000010 RPADR, (SP) ORPER1,(SP) OQITS.B(SP) 3 000002 &2,R0 4% 3s: 4%: :BRANCH IF NOT RPCS1 :DATA XTRNS COMMAND ? :BRANCH IF NOT :SEE IF CONTROLLER READY :READ RPCS1 sMERG THE A17,A18,PSEL BITS :CHOP OFF THE REST BITS FROM RPCS1 sATTACH A17,A18,PSEL TO COMMAND ;RESTORE STACK LEVEL s THE DEST REG ADDRESS sWRITE THE REGISTER ;CHECK NED,PAR BITS i :NONE EXIST DRIVE ? :BRANCH IF IT IS :ADDRESS RPER1 H :PAR SET ? :BRANCH IF SO :NORMAL RETURN sEXIT :ERROR EXIT (SP)+,(SP) RO :CLEAR OFF THE STACK :MOVE RO TO TOP OF STACK sEXIT CIRIOBO RPOT PERF EXER MACRD v04.0C 1-DEC 83 1C:32:28 PAGE SEU 0220 114 sROUTINE TO SAVE i CALL i : 045350 SVRHXX 2 104412 0C1455 013704 111264 016203 001446 005037 023727 001006 032764 001002 005023 000405 004037 045450 012623 023727 001406 062737 000751 040640 000011 000014 047422 045422 045116 045422 063704 040646 MOV JSR S~VREG 1ST BEQ MOV MOVB MOV BEQ CLR cMP BNE BIT BNE CLR IHE RHXX/QP07 RLGISTERS> AS PER DPB.)4 oL R, ,R2 2C, SVRHXX R2 7% R4 RPADR, (R2),RPCS2(R4) 14(R2),R3 78 5 3% ,0RPDB 28 oC*T07,RPCS2(RA) S$: 6%: 030000 sSAVE THE DRIVES REG'S 1SAVE RO - RS ;QUEVE ENTRY FOR THE ORIVE :1BR IF NONE ;GET THE ERROR TABLE POINTER ;EXIT IF NO ADDRESS sCOUNTER € POINTER sREACHED THE BUFFER REGISTER ? : IF NOT 3'OR* SET ? RO,RD.RP (4] sREAD THE SELECTED REGISTER 48 ? ;;SELECT DRIVC ;BR IF SET 1STORE RPDB AS ZEROES ;1CONTINUE (SP)+,(R3). 3% ,0RPEC2 aREGISTER INDEX ;ERROR RETURN ADDRESS :STORE THE REGISTER CONTENTS sREACHED THE END ? 1s ;CONTINUE READING THE REGISTERS 1BR IF YES ;sINCREMENT THE REGISTER INDEX PC,CI7 ;1PROCESS THE UNCORRECTABLE PARITY ERROR 0*C174000,(SP) 030000,(SP)« ;;LEAVE THE cPU TYPE BITS :SEE IF RH70 $CPUOP, -(SP) 74 7%: ;ADDRESS OF DRIVE PARAME TER BLOCK 24 (R3). 64 02,38 045422 042750 001234 003777 012423 011413 104413 000207 1%: 000010 004737 013746 042716 022726 001004 000022 e 045302 wh O® AP NE N RPOTM DRIVER RHEXT R4 (R4)+,(R3). (R4),(R3) PC ;CHECK THE CPU (RH) TYPE sIF NE, NO ;POINT TO RPBAE :STORE THE CONTENTS 1GET RPCS3 ;RESTORE RO - RS ;RETURN CIRIOBO RPOT PERF EXER MACRO vO4.00 1-DEC 83 10:32:28 PAGE 115 5EQ 0221 RPOTM DRIVER s TRANSFER ERROR (TRE). 8IS BIT14,(SP) 34 M8IT12,.,PPCS2 (R4) ;1S "NED"=1? 000010 BNE 1587 18: 2%: 1 (SP)e« BR 28 MOV8 MOV (SP)+,1(Ra) (SP)+,Ra RTS ;QUEUVE COUNT QCNT: (SP) ®BI706,(R4) .BYTE PC : SET "IE" s YES--CLEAR “TRE" sCLEAN OFF THE STACK sCLEAR "TRE“ sRESTORE R4 tRETURN TO CALLER O .BYTE 0 .BYTE .BYTE .BYTE .BYTE .BYTE 0 O 0 0 O — SWAB MOVB ~NOVNBWN-O 000100 010000 :SAVE R4 1PICKUP ADDRESS OF RPCS1 s SELECT DRIVE sREAD RPCS1 sSET THE "TRE” BIT OF THE WORD READ sADJUST FOR DATO R , R4 RPAD R1,RPCS2(R4) = 000010 R4, -(SP) MOV MOV = g SET.IE: MOV $SET INTERRUPT ENABLE ROUTINE — JSR — RE TURN : 1DRIVE NUMBER e —— . ——— — B OQDRVNUM, R1 PC,SET.IE — MOv @ sCALL [ 2 -y “OL® T NE AT, sROUTINE TO SET THE INTERRUPT ENABLE (IE) BIT IN RPCS1 WITHOUT GETTING A CIRIOBO RPOTM PERF EXER MACRO vO4.00 1-06C 88 10:82:28 PAGE RPO* DRIVER i D2 . sQUEUE INPUT POINTERS . T 04S570 4 045572 S 6 7 8 9 {g 116 045574 045576 045600 045602 045604 045606 045652 045672 QINPT: 045712 045732 045752 045772 046012 046032 g _WORD QDAVO 1ORIVE © QDRV1 JORIVE QDRV2 QDRVS QDRv4 QDRVS QDRV6 QDRV?7 , ' LMORD LMORD .MORD .MORD .MORD .MORD LMORD SEQ 0222 1 1ORIVE JORIVE 1ORIVE ;ORIVE 1ORIVE iORIVE 2 S 4 S 6 7 © 1 2 3 & S 6 7 1QUEUVE OUTPUT POINTERS 14 045610 15 045612 16 045614 17 045616 18 045620 19 045622 20 045624 g 045626 045652 045672 045712 045732 045752 045772 046012 046032 QOUTPT: .WORD .MORD .WORD .MORD .MORD .MORD .MORD LMORD QDRVO QORV1 QDRV2 QODRV3 QDRvV4 QDRVS QDRV6 QDRV7 ;ORIVE 1ORIVE JORIVE ;ORIVE iORIVE ;ORIVE :DRIVE sORIVE 23 24 25 26 27 28 29 30 31 045652 045672 045712 045732 045752 045772 046012 046032 046052 QSTART: QSTOP: .WORD .WORD LMORD LMORD .MORD .MORD .MORD LMORD .MORD QODRVO QDRV1 QDRV2 QDRVS QDRV4 QDRVS QDRV6 QDRV? QTERP sORIVE O START ADDRESS sORIVE O STOP ADDRESS £ DRIVE 1 START ADDRESS 1STOP DRIVE 1--START DRIVE 2 1STOP DRIVE 2--START DRIVE 3 1STOP DRIVE 3--START DRIVE 4 :1STOP DRIVE 4--START DRIVE S :STOP DRIVE S--START DRIVE 6 1STOP DRIVE 6--START DRIVE 7 :STOP DRIVE 7 045630 045632 045634 045636 045640 045642 045644 045646 045650 ! CZRIOBO RPO7T PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE 117 E2 . RPO* DRIVER 5 JORIVE REQUEST QUELES T 045652 @ORVO: .BLxw 10 S 045712 6 045782 7 045752 8 045772 QORV2: QORVS: : QORVS: .BLxW .BLxM .BLXM .BLxW 10 10 10 10 4 045672 GDRV1: 9 046012 10 046032 3 QORVE: 046052 :2 27 046102 28 046104 29 046106 30 046112 31 046116 32 046120 33 046122 34 046124 35 046126 10 10 “ sCALL {g 18 046052 QTERP., .BLKW .BLxW 10 JROUTINE TO CLEAR ALL OF THE REQUEST QUEVES 15 19 046054 20 046060 21 086062 22 046064 23 046066 24 046070 25 046074 26 046100 QORV?: .BLKW ' 104412 012702 045560 005022 005022 005022 005022 012703 000010 012701 045630 012122 005308 001375 012703 000010 012701 045630 012122 005303 001375 104413 000207 JSR CLRQUE: SAVREG 18: 2¢: MOV CLR CLR CLR CLR MOY MOV MOV DEC BNE MOV MOV MOV DEC PC,CLROUE 0QCNT ,R2 (R2)e (R2)e (R2)+ (R2)+ 8. RS *QSTART A1 (R1)+,(R2)e RS 14 8. A3 QSTART A1 (R1)e,(R2)e RS BNE 24 RE SREG RTS PC JSAVE RO - RS 1 ZERO THE QUEUE COUNTS ;ORIVES O € 1 ;ORIVES 2 € 3 JORIVES 4 € S JORIVES 6 € 7 JMOVE THE STARTING ;ADDRESS OF THE QUEUE INTO s THE QUEVE INPUT POINTER sMOVE THE STARTING ADORESS ;OF THE QUEUE INTO THE ;QUEVE OUTPUT POINTER JRESTORE RO - RS SEQ 0223 g.flO'O?” EXER MACRO vO4.00 1-DEC 83 10:52:28 PAGE 118 F2 046134 046136 O4c 144 046146 EMPTY T QUEVE SPECIFIED B M) ' CAaLL SOAVM, R 1ORIVE WreER m(n) CLEAR NUFBER OF ITEMS IN QUEVE PC.EPTYO 105061 006301 ol16161 045570 045610 .”l(.l) JOOUTPT(RL) ;SET OUTPUT QUEUE POINTER-INPUT POINTER 000207 A REQUEST IN OUEWE 0P8 R2 SORVNUM, R] RO, DRVOUE 000010 045570 000002 045570 045570 045632 045570 16: 24: T ELELY = 38::::5::3-00. L.RV NYL DRIVER RTS €10,0CNT(RY) 29 'm‘ (R1) R2.80I1WPT(R1) 02,.QINPT(R1) +ADDRESS rll OF PARMETER BLOCK 1ORIVE NMIBE 160 PUT REQUEST IN QUELVE IRETURN MERE IF QUELE IS FULL IRETURN MERE IF REQUEST IS IN QuEE 1 IS QUEVE FULL? BR IF '(;-'“ RE TURN] [ ‘ QUEVE COunT REQUEST IN QUELE QUE UE ’OMEI QINPT(R1),.QSTOP(R1) flm TO RESET TvE 14 BRANCH IF MO auflcn).mvlan I VES- -RESET POINTER (RO). RO 1 TAKE RETURN 2 IRETURN TO USER - SEQ 0kas lmm TO GET TMTME “DPE" ADDRESS OF NEXT REQUEST In OUEE .unmuuu.%gmmnmmav 0P8 REQUESTED Om oL ' 046224 005002 046232 001408 086226 105761 O4SS60 "oV JSR "2 0 2 ASR :l ST8 04656 017108 043610 s ' 046242 006201 046244 000207 RV R] 24: - /TS ;ORIVE NMPBER $C.GE TREQ GETRED: CLA sGO GET THE REQUEST OCNT(RL) +IS THERE ANY REQUEST IN QUEVE? sND- -BRANCH SOUTPT(RI). A2 (PIONS “DPG" POINTER FOR THIS ORIV 8 pC JMETURN 10 USER ROUTINE TO “POP~ THE REQUEST FROM QUEVE :unmnmmmmm' 0P8~ REMOVED ' sCALL f ' 045560 046272 046300 046302 046310 026161 00100 016161 006201 045610 046264 062761 046312 000207 045610 045610 045630 045610 POPQUE: DECS ASL "oV CLR ADD 045632 045610 16;: oOw BNE MoV AR - 105361 006301 017102 005071 JSR L 046246 046252 046254 046260 "oV b bd 3o ot 3 P 3§ P ed et et el vl PR JOBO RPOT PERF EXER MACRD vO4.00 1-DEC 8% 10:52:28 PAGE 119 7 DRIVER G2 SORVNLM R1 1ORIVE NMPBER M(ll) ;OECREMENT QUEVE COUNT PC.POPOLE sCALL TO REMOVE REQUEST MC.!;.Q +GET TE ‘”’ SOOUTPTI(R Q&"l\!gflg WV’!(.I) El pi, 3 R! i8 ’ stm(nuQouUTP (lt) fll‘--fl!' M POINTER TO USER IRETURN LSBTTL DEVICE PARAE TER BLOCKS ¥EEEERERS . W17 g 8as s T, : w02 sec E a'g .:g‘m . &:E :m'fl X10%(OOUBLE WORD) € o afi . NROL 46 srion. 3 s =l iEed %vL,E-(2%. 00 23%8.) "‘ua ot VD SELECT IO HoTALdoR0SREAD "&: . Sxl * RDL+T0 SFAIR : &:& 1OPERATION o WEOL.72 m' PROG OETECTED ) LU NEXT WEXT = INCODE-S L AAA pesc o o s SFIRST o MCODE+10 &' MIS-POSITIONING EAROR COUNT ¢ -ux-.ca-” /DNOEX EQUATES TO THE NEXT OPERATION PARAMETERS WOATE =+ ocoBE 1T e T, SEC, CTL (00U WORD) Ay Ly S INISPO 5§ i 1! R EEEs : i EgYRad- LOCATION EQUATE STATEMENTS cekhRhR 23 i! (44 31 34 33 34 A2 3154 14 -1t h o P Hvhh f et Sry =t et PP 5§ -4 MACRD v04.00 1 -DEC-83 10:52:28 PAGE 120 HZ PaTTER T Cove wext sicion SELECTION INOICATOR IFIRST OPERATION INDICATOR T 000160 000142 i AW o« g MAXTRX MAxC YL «8 PARSEC :a:'go 12 IRINIm Ev. INOER AGORE 38 M . ADORE 55 YRAXImm SECTOR AOOSE 35 +INDEX EQUATES FOR CvLLAT, TR NT, SECLNT ADDRESSES LIMITS AD 1ST FE CrLINDER - 000150 000152 000154 000156 w : TNt » FEL - :r <8 2} CTOR ADD®E5558:% l’t" :M sAST PR AP/R REGISTER EQUATES - kebtbbrrcesitazicss i « CVLLMT.10 B ORVYSN = 33 383 RHHEIEE | JORIVE SERIAL MPDER AREA INDEX EQUATE R 50. 4® Al. i 0001 % - BOREESESRRLERIEIBNRVRUNNYSETELEEN 8 kg ! i MACRD vO4.00 1-DEC-83 10:52:28 PaGE 121 (ORIVE SERIAL WMPDER (4 BYTES) AP REGISTER STORAGE — — - —— —— — — o — e ——— - J2 000 000 cesssz O w 001 002 ORIVE WreER O e 000 Gassre T :7& ?fl:s- .‘.';l‘ .O @ml E?t.. 1ORTVE MreEn | BB PCSS T 000 n'n.E:".O ORIVE SRR 2 oarose o & IAPCSSNG oarsos 114 22 -?‘S?‘.i&" BYTE 4.0 047526 004 047540 047712 047526 047542 000 r &.- 5 ) - REG D 047766 005 8‘»...'??9 050154 000 0302% 006 000 050246 050244 050416 050472 050474 050510 007 SREG FOR ) %. . 0 'uun' : REG 0P8 FOR ORIVES: Eg ¢$.0 JMORD ‘BB 000 JORIVE WMPBER & RPCS - JORIVE MIGER & -IREG SREG 0P8 FOR rm ? 7: .BYTE U e 7.0 S JORIVE MPRER S JORIVE MIGER 7 - REG — .agll - m”“m"0NmeNSe~ e — o —————— —— sl XN i — - —— - _ im it —— - : ”. is : <1 o AL Sux/907 MG S L2 CZRJIOBO RPO7 PERF EXER MACRD vO4.00 1-DEC-83 10:52:28 PAGE 120 el 4eb SHE A4tALAt LbFobigADA i R aEE B EM40: Lado i 130 mm CZRJIOBO RPO7 PERF EXER MACRO vO04.00 1-DEC-83 10:32:28 PAGE 125 ERROR MESSAGES 1 054031 2 054036 £ 054113 122 104 S 054200 122 7 054305 122 120 105 DM1S: .ASCIZ 1: 054464 122 120 102 D‘!&" LASCIZ 4 054141 6 054206 8 054404 104 104 104 122 120 122 122 122 120 122 120 101 111 111 111 101 111 104 Dwl: Dm2: DwS: Dma: Dm6: Omi14: DM16: JASCIZ LASCIZ ASCIZ /RPAS/ /DRIVE /DRIVE LASCIZ /RPADR/ LASCIZ /DRIVE _ASCIZ /DRIVE .ASCIZ /RPDT /RPEC2 /RPBAE RPOS REG ADR REG ADR RPCS1 RPWC RPSN RPERL DATA/ G000 APCS2 RPBA RPOF RPCS3/<CRLF » RPERS RPER2 RPAS/ BAD/ RPDS RPDA RPOC RPERL RPAS RPCC RPER2 RPERS RPLA RPDB STATUS/<«CRLF » > RPEC1/<«CRLF RPMRL/ «CRLF » 054504 054510 054514 054520 054524 001316 001220 054530 054550 054572 054610 000166 000234 000214 000236 DT1: pT2: DT3: DT4: DT6: 001220 001220 001272 000172 000220 DTi4: DT15: DT16: DT17: 5385 83888 - OV NONE NN - CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 126 ERROR MESSAGES ATTN,O $RPCS1, SRPCS2, SRPDS, SRPER1, SRPER2, SRPER3, $RPEC1,0 $RPEC2, SRPWC, $SRPBA, SRPDA, SRPAS, SRPLA, $RPDB, $RPMR1,0 $RPOT, $RPSN, $RPOF , $SRPDC, $RPCC,$TATUS,0 $RPBAE, $RPCS3,0 SEQ 0232 CZRJIOBO RPO7 PERF tXER MACRD v04.C0 1-DEC-83 10:32:28 PAGE 127 SEQ 0233 ASCII "¥SSAGES 055061 055070 055077 055110 055124 055140 055156 055172 055215 055233 055253 055270 055323 055333 055345 055400 055435 055453 055465 055512 055535 055555 055574 055615 055633 055650 055673 055722 055760 056015 056043 056070 056117 056145 056201 056241 056303 056345 056374 056436 056473 ASCII MESSAGES LIN2C: LIv2P: LIN2S: LINMS: T: .ASCIZ PASCI1Z .ASCIZ _ASCiZ .ASCIZ LINNS: S: LINPS: LINSS: LINENS: LINAS: LINT3: LINCAS: LINDAS: LINBS: LINWS: LINSTS: LINSSS: LINMG: LINSE: LINX4: LINDS: LINBS: LINPS: LINSS: LINEPS: LINEOS: LINB6: LINC6: LING6: LINRG6: LINVO6: LINTMM: LIN?7P: LIN?7S: LIN?T: LIN?X: LIN7R: LINBM: LIN9B: LIN9SH: LIN9I: LINSE: LINSG: LIN1OA: LIN10B: LIN1OC: LIN1OH: LIN11H: .ASCIZ .ASC1Z _ASCIZ ASCIZ .ASCIZ _.ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ _ASCIZ .ASCIZ _ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ _.ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCII .ASCIZ .ASCII .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCII .ASCIZ .ASCII .ASCII .ASCIZ .ASCIZ /PRSN« COMMAND= / / PREVS COMAND= / 8¢ ERROR AT BAD TRACK/SECTORZ /ERROR AT C/ /7 17 “PRSNT ADDR= C/ J &/ / PREVS ADDR= C/ /START CvyL= 7/ END CvL= 7/ / / ACTUAL CvL= / / TRK= / /7 RPDC= / /RPDA= / /RPBA= / RPWC= 7 / /START TRK= / /START SEC= / /BUFFER ADDR= / / / WRD CNT= / / RECEVD DATA= / WORD POS= / NMBR WRDS XFRD= / / 7EXPCTD DATA= / /HEADER FROM ERROR SECTOR= / /RPEC1= / RPEC2= / / /SECTOR IS ECC CORRECTABLE / /SECTOR READ CORRECTLY AFTER / /CORRECTED ON / / RETRY(S)/ /UNCORRECTABLE AFTER / / MIS POS ERRORS= / /TOTALS; SEEKS= / SKI ERRORS= / / /TOTALS; ERRORS= / / WRDS WRITN= / / WRDS READ= / /ERROR DURING RETRY/ /DATA COMPARISON ERRORS/ / EXPCTD WORD RECEVD/<CRLF> POS /ADDR POS / RECEVD/<CRLF> WORD /ADDR DATA > DATA/<CRLF DATA/<CRLF> /TOTAL COMPARE ERRORS= / /THE DATA COMPARED OK/<CRLF> /ERROR BURST BEGINS AT WORD / 7/ IN DATA FIELD OF ERROR SECTOR/<CRLF>» /ERROR WAS NOT IN THE DATA READ - /<CRLF> /ECC CORRECTION CAN'T BE PERFORMED/ /ECC CORRECTION RESULTS/<CRLF> CORRECTED /<CRLF> WORD BAD / > F DATA/<CRL DATA POS /ADDR /CONTENTS OF ERROR SECTOR (REPORTED ABOVE)/<CRLF> i 054616 054536 054657 054713 054726 054731 054747 054752 054772 055006 055022 055041 055051 58TT CZRIOBO RPOT PERF EXER MACRD vO4.00 1-DEC-83 10:5.:28 PAGE 127 -1 s ASCII MESSAGES e8 0Se613 122 67 056611 040 104 104 000 105 104 104 LIN11: LIN11A: BLNxS4: BLNKSS: BLNKS2: 124 .ASCIZ .ASCIZ .asCII .ASCII .ASCII BLNKS1: .ASCIZ . ASCIZ LINXS: /ADDR /ADDR s HEADER/ <CRLF » » DATA/<CRLF /RETRIEVED By A RDMD COMMAND/ —— 101 101 040 040 040 NN 0505406 056567 0566006 056607 056610 NSNS 62 63 cd 65 66 5EQ 0234 JOBO RPO7T PERF EXER MACRD vO4.00 1 -DEC-8S8 10:32:28 PAGF ETYPE MESSAGES LSBTTL T 056647 4 056651 S 056653 6 056655 7 056657 8 056661 9 056667 0r? 07s 054 055 o011 104 040 000 000 000 000 000 122 117 111 106 11 056710 040 116 117 040 040 116 116 12 056732 040 15 057012 16 057081 17 057041 18 057056 19 057077 20 057118 21 0571%2 22 057135 23 057145 040 040 040 040 200 200 120 040 040 13 056760 14 056775 24 057155 25 057162 26 057167 27 057171 28 057274 29 0572715 30 057377 31 057401 52 057407 33 057425 34 057437 116 101 114 116 125 114 116 116 104 107 040 040 117 116 117 117 117 122 000 040 040 120 120 012 134 _.ASCIZ _ASCIZ .ASCIZ .ASCIZ .ASCII JASCIZ .ASCII 123 104 125 122 115 117 055 TRMREP: .ASCIZ _ASCIZ .ASCIZ .ASCIZ .ASCIZ ._ASCIZ .ASCIZ .ASCIZ .ASCIZ DASMS: MSGSUM: MSGDRP: .ASCIZ .ASCIZ /SUMMARY, / o / DASM1S: .ASCIZ 116 116 MSGEOP: . MSGEOT: . 38 057612 39 057622 40 057632 41 057641 057 040 040 007 040 124 130 200 120 117 061 077 MSPASS: MSTOTL: MSGX10: DROPNG: 48 057714 200 007 077 49 057765 040 040 116 117 123 000 S0 057767 S1 057771 131 056 S3 060036 5S4 060061 SS 060102 56 060124 S7 060154 040 200 040 200 072 077 105 101 105 000 59 060163 60 060204 040 200 077 012 105 111 116 104 116 117 116 : 116 077 116 124 i 0 g A S8 060156 040 : S2 057773 000 000 117 111 116 MSGCON: MSGON: ASGND: MNEDCLK: .ASCIZ BADENT: NODRVS: <CRLF>/CONTINVING...”/ .ASCIZ <CRLF><BELL>/? ‘L' .ASCIZ .ASCIZ .ASCIZ NONT : PAS S/ TEST @&/ PASS @ 7 TOTAL 7/ 7/ X106/ <BELL><CRLF>/?FATAL OR EXCESSIVE ERRORS/ MSWRO: INVLD: ENTCOM: ENTLMT: ENTADR: COLON: OF OF .ASCIZ .ASCIZ .ASCIZ .ASCIZ ASCIZ Y PERIOD: / ............. / IZ 7ZEND IZ 7/END N: # 42 057676 47 057703 103 /RPO7/ /RPO7/ <CRLF><LF> O/ \/\ININININININININ/N/ -PERFORMANCE REPORT - \/\/\/\I\NI\INININININ/NG <CRLF> BN/N\INININININININININININININININININININININININININININININININ S ¢Cl.' > /----- / 0480 040 200 7 NOT AN RPO7/ 7 NOT PRESENT/ ASCITI .ASCIZ .ASCIZ 105 105 37 057573 7 NOY BEING TESTED/ 7 NOT AVAILABLE~/ 7 UNSAFE/ 7 LOAD DEVICE/ 7 NON-INTERLEAVED/ <CRLF>/NO DEFAW.T/ <CRLF>/DRIVE STATUS:/ /PG/ 7 w1 / 7 w2 7/ SRPO7: SRPOTP: MSGREP: 055 7 ONLINE/ NOTAVL: WNOTSAF: LODEV: NIMLEV: NODFLY: DORSTAT: MSGPG: MSHMWl: MSHMM2: 060 060 134 s/ 7=/ /.7 7.7 «11» /DRIVE/ 7 OFFLINE/ 7 ALREADY BEING TESTED/ _ASCIZ . IZ 057 SEQ 0235 UNTASN: .ASCIZ NOTRP: NOTPRS: 057 000 055 055 UNTNOT: 117 117 134 200 055 055 UNTON: : 35 057451 36 057477 122 122 200 057 200 117 MASCIZ .ASCIZ _ASC1Z MASCI1Z ASCIZ : ASCIZ UNTOFF: ._ASCIZ .ASCIZ .ASCIZ 7 ON / 7 STARTED/ /N OR 'P’ CLOCK REQUIRED ON SYSTEM/<CRLF> /sv/ 7./ 7 ?CAN'T WRITE IN 'READ ONLY' MODE/<CRLF> ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ 7 ?2INVALID CMI«CII. <CRLF>/ENTER COMMAND: 7/ ADDRESS Lmnsmcn.n <CRLF>/ENTER BAD SECTR ADRS:/<CRLF» /:/ .ASCIZ ASCII 7 ?2INVALID ENTRY/<CRLF> <CRLF><LF>/NO DRIVES ASSIGNED/<CRLF> .ASCIZ ~N 040 QUES: EQUAL: CoOMa: DASH: TAB: : 10 056700 128 TELETYPE MESSAGES ) i e D3 /NONE/ S8DRV S/N: @ CIRJOBO APO7 PERF EXER MACRD vO4.00 1 DEC 83 10:52:28 PAGE 128-1 E3 TELETYPE MESSAGES 62 060264 200 83 060306 200 85 060370 007 &4 060367 86 060440 87 060510 88 060581 89 060570 b2 200 007 108 200 200 108 110 104 117 o11 041 011 117 052 052 055 116 040 080 MSPAM: MESFE: _ASCIZ .ASCIZ OVRURY: _ASCII <«CRLF>/700 YOU WANT TO WRITE ANYWMERE ON MEDIA (L) N 72 /7 ASCII <CRLF>» «BELL>»/ ! CUSTOMER uu WILL BE OVERWRITTEN !/<CRLF> .ASCIZ <CRLF>/¢ PROGRAM IS LOCKED IN '‘READ OMLY' MODE o/<CRLF> ASCIT ASCIZ FEOMLY: .ASCIZ MREAD: EVEN <«CRLF>/CHANGE DRIVE PARAMETERS (L) N ? 7 «BELLY/ v cnnninncninncncncssacncsnnacnnan Z<CRLF > /CONTINUE (L) 2?2 7/ <«CRLF>/e TESTING FE CYLINDER OMLY o/<CRLF > . SEQ 0236 % 060644 061002 031000 S 060660 061331 077777 001466 4 060652 061081 ofim 001470 ¢ 060666 061555 060674 061121 PARMETER ENTRY TABLE PARLST: .WORD MORD MORD 000017 001476 - MORD 001474 MORD 8 060702 061264 moo; 001500 MORD 10 060716 LMORD 9 060710 g 060740 24 060742 g 22253‘: 27 061081 28 061121 guurg 06120 061414 061511 080 115 000001 001502 MORD 001504 057 080 SLASHM: 111 115 ::;. 130 116 PARG: PART: {3{ { o PARYL: ] 101 101 111 124 + 150 PARS: 116 PARS: 115 101 130 PARS: 39 061331 126 11 41 061447 42 06151 43 061 47 061577 10% 105 116 123 31 061220 52 061231 33 061242 Bosies 40 061414 104 115 115 000007 115 115 1 101 11 o 1 116 116 105 - SBTTL 001462 077777 F3 138 PARIL: . « JMROCNT PAR2,32767, . INTRWL PARL2,32767..0%TIM PAR1Y. 32767, .PASSES 1S, . Patienn PAR1L.1. PARLA.7.RATIO PAR1G. 1.ENDING - MORD .ASCIZ 0/ ® sTABLE TERMINATOR &5 m“n'm: WORD COUNT (6 u&g’ . - Ascg /TIME .ASCIZ .ASCIZ /mAX Y, /MIN TRX 7 _ASCIT . /WORO COWT MODE (O-RMOON, .ASCIZ /READ TO WRITE RATIO (0-7) / .ASCIZ /DATA nscg /mAX .ASCIZ /MmIN mg . BETWEEN REPORTS (IN MINUTES PATTERN MPBER (O-RANDOM, 1 / ’ /MAX SEC 7/ 1FIXED) 7 REPORT) / IXED) 115 PAR1L2: Ascg /TIME BETWEEN DATA COMPARES 3:» MINUTES, O-ALWAYS) / 101 101 104 115 105 N PAR1&: PAR1S: PAR1G: PAR19: PAR21: .ASCIZ .ASCIZ .ASCIZ .ASCIZ SEQ o2%7 i —— - ——— JOBO RPO7 PERF EXER MACRD v04.00 1-DEC-83 10:52:28 PAGE 129 TER ENTRY TABLE /ENABLE WRITE CMECK ¢o-uo‘ 1+YES) 7 /END OF PASS MODE (O-SEEXS, 1+DATA) / /MPBER OF PASSES / /SEEX MODE (O-RANDOM, 1-SEQUENTIAL) / V08 .00 1-DEC83 10:52:28 PAGE 150 LSBTTL G35 DRIVE PARAE TER TABLES (DFB) ! i, E ¢7 £ e SEsE s JOBO WPo7 ”aa V08 .00 1-0EC 03 10:52:28 PAGE 190-1 £ & B5 29 iS& 2 S5 8 B B S e c— o — - S 4 m §zed g m ; m m . 1 il mmmcamm.utma 10:52:20 PagE 10 s12 TMwvom 101 TE3 TLE AL e vt e ssey | -.«uoJ’ HTIA I11el,|w_m e oy J3 : ! - Yo R0 h.rl N E3 SaNE 4 ...ji o oml‘ Toaan ‘ug e A :‘.&lm%-" e Bflmnr (51 ¢ § Sednay g;; g2 £ j i 3 K3 B,SRS i U1 : 232328888 em a".fl 1-9EC-08 10:32:20 PagE 199 ———— e — g)o.. oo D - IALLOCATE 200 OCTAL LOCATIONS FOR PATCHING —— —— o — L3 - :m-’mc--u-m-a.: r « %0 SEQUENT (reondom or sea.ent el ® orive frem test/ type the >/ » :I : t to U »/ »/ i\ TE dete onev/ report/ ® ie the @rive maber (0-7 or ‘AN for all @rives »/SMITOM REGISTER SETTINGS:/ ,-nn.nfl . : 010000 ;‘MCWW ’ ring tty bell B on error/ T A ey displey oll detes compere rwmm . @0 not check 3 Ll X o on present velues)/ count/ TR TN o p— C. if dete compere error & SWO7 set, display remeinde A. do not type drive status et progres stert/ 8. do not type performance report efter specified tim <CRLF>»/ <«CRLF>@5w01+= <CRLF >/SuW00+= C. prompt ‘write anywhere' question during suto test (000002) (000001) inhibit dete compere after read without OCK errord read only mode/ ———— B N Sie sl il iBiIv i inininie I I ‘-0.‘.0.0.“0.‘.‘. -—t- B - o; i :mm—unm.n.n: B § 8% § BUBUBUUGUNGRRNLSS § SRERRASS EEC5 § 8% § BUBUBERRGRESEEERRE § BRRNEERR SEEEEtE ¥ % “w R 49 067422 3% ¥ 33 3 EITITITITTTITTTTITATATTTITITITIIINNNNG g 8 888 N TS 852 82 éi%é SRS itE 4440 d 3t et 3 ri et etNN APOT7 PER ENER MACRD v0S.00 1 -DEC 83 10:52:20 PaGE 134 KT MESSAGE b Ve vdend PP - - -~ L* 3 - - - - - - - - — EXER MACRD vO4 .00 1-DEC-83 10:52:28 PAGE 1S 200 200 g 040 !00” 040 040 104 200 124 m' 200 200 000200 116 056 17 - _— - - —— — - — ——— | —— M3 gf %zm ' 1¢ Bl & DCx error occurs, the progrem w. 11 erecutes >/ ® dete compere the dete in memory, reguerdliess/ in o &g :g:nm control-c (*C) to WALT the progrea/ 157 :& w:nommm. ASCITI MASCIZ <CRLF» <«CRLF>» 105 Iasc}; 000 LEND 200 w:l « of the setting l.c: SWo1./ »/ . END OF MELP/ . — SEQ 0264 o JASCT &C} ———— = stert progrem st eddress 204/ CZRJ0OBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 135-1 SYMBOL TABLE ABASE = 176700 ABNRML 031452 ACOW1 = 000000 ASGN7 ASGN8 ASKPAR 027624 027666 060746 BITS BIT6 BIT7? ACTDRV 040600 ASNMSG 031356 BLKADR ADDWO = ADDW1 = ADDW10= ADDW11= 000000 000000 000000 000000 ACDW2 = 000000 ACPUOP= 000000 ACTSTR 040601 ADDW12= 000000 ADDW13= ADDW14= ADDW15= ADDW2 = ADDW3 = ADDW4 = ADDWS = ADDW6 = ADDW?7 = ADDW8 = ADDW9 = ADEVCT= ADEVM = 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 050000 AENV = 000000 AENVM = 000000 AFATAL= 000000 AIR = 000004 AMADR1= 000000 AMADR2= AMADR3= AMADR4= AMAMS1= AMAMS2= AMAMS3= 000000 00000C 000000 000000 000000 000000 ::MSG%. 000000 ASNERR ASNLST 031332 001542 ASSIGN ASWREG= ATA = ATABIT ATESTN= ATTN ATO AT1 AT2 AT3 AT4 ATS = = = = = = AT6 = AT7 = AUNIT = AUSWR = AUTLST AVAIL AVECT1= 027202 000000 100000 040630 000000 001316 000001 000002 000004 000010 000020 000040 000100 000200 000000 000000 032100 001610 000254 AVECT2= 000000 Al6 = 000400 Al17 BADENT BADSEC = 001000 BADTMO BAI = BEGCOD BEGPAT BEGWC BELL = 060163 001336 003440 000010 001514 001512 001516 000007 BITO = 000001 B8IT02 BITO3 BITO04 BITOS BITO6 = = = = = = 000000 AMSGLG= 000000 BITO00 = 000001 BITO1 = 000002 ACE = APASS = APRIOR= APTCSU= APTENV= APTSIZ= APTSPO= ASGND ASGN1 ASGN2 ASGN3 ASGN4 ASGN6 BITO7 BITO8 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT1S BIT2 BITS BIT4 AMSGTY= AMTYP1= AMTYP2= AMTYP3= AMTYP4= 000000 000000 000000 000000 000000 001000 000000 000000 000040 000001 000200 000100 057703 027300 027354 027444 027610 027612 = = = = = = = = = = = = = 000004 000010 000020 000040 000100 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 BIT8 BIT9 = 000040 = 000100 = 000200 = 000400 = 001000 BLNKS1 BLNKS2 BLNKS3 BLNKS4 BPE = 002056 056611 056610 056607 056606 000020 BPTVEC= 000014 BSE = BUFTBL BUSADR CFLAG CHGADR CHKWC 100000 001654 062476 001334 001332 021572 CI78 cI1s 042764 043036 CI1 CI2 CI3 CI4 CIS CIé CI7 CKBUS CKCLK CKCLK1 CKCLK2 CKCLK3 CKERR CKFMT CKHCE CKLMTS 042066 042232 042260 042372 042712 042734 042750 014110 024574 024656 024730 024762 014010 012022 012212 021412 CKSWR = 104407 CK.CHR CK.DEC CK.DIG CK.NUM CK.OCT CLKFLG CLKOFF CLR = CLROPB CLRQUE CMCNT CMCYL CMDAT CMHED CMPAR CMPARD CMPLMT CMPRES CMPRT CMPRX 033202 033154 033254 062654 033126 001310 024770 000040 030164 001366 001370 014450 014360 014174 014200 001460 022260 015060 015052 N3 SEQ 0245 CMPTIM CMSEC CMSTR 001462 001372 014276 DPR = 000400 DPRAS 040564 DRIVE = 001220 COLON 060154 DRIVE2 CMSTR2 CMTRK COMMA COMTBL CPSAVE CR = CRLF = CTRAP 014436 001373 056653 002076 035406 000015 000200 034756 CYLLMT= CYLNDR DASH DASH13 DASHS DATAPK 000150 063364 056655 057407 057401 030132 DATA1S DATA2 003320 002460 DATA0 DATAL DATA10 DATA11 DATA12 DATAL3 DATA14 DATAS DATA4 DATAS 002360 002420 003060 003120 003160 003220 003260 002520 002560 002620 DATA6 002660 DATA7 002720 DATA8 002760 DATA9 003020 OCK = 100000 DCKER 010546 OCKER1 010730 DCVU = 00004 DDISP = 177570 DDRVS DGE DH1 DH14 DH15 001544 = 000001 054031 054206 054305 DH16 054404 DH17 054464 DH2 054036 DH3 054113 DH4 054141 DH6 054200 DISFLA 001156 DISPLY= 104414 DISPRE 000174 DLT = 100000 DONE 010206 DPE = 000010 DPINT 040554 DRIVEO DRIVE1 046314 046556 DRIVE3S 047262 047020 DRIVE4 DRIVES DRIVE6 DRIVE7 047524 047766 050230 050472 DROP DROPD DROPNG DRQ = DRSTAT DRVACT DRVCLR= DRVER DRVINT DRVMSG DRVNO DRVPAR DRVPRM DRVQUE DRVSN DRVSTA DRVTYP 031362 027700 057641 004000 057113 040524 000111 011770 041030 056661 001320 001426 030402 046150 060232 040534 040544 DRY DSWR = 000200 = 177570 DTO3 = 000010 DT06 DT07 D708 oT1 DT14 = 000100 = 000200 = 000400 054504 054530 DTE = 010000 DTEER 012616 OTUW 040626 DT00 = 000001 DT01 = 000002 D102 = 000004 D704 DTOS = 000020 = 000040 DT1S DT16 DT17 oT2 D73 oT4 D76 OVA = OvC = ECBADO ECBAD1 ECBIT ECC 054550 054572 054610 054510 054514 054520 054524 004000 000200 001412 001420 001376 015576 CZRJOBO RPOT PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE 135-2 SYMBOL b4 5C0 0z46 TABLE ECCx 016412 ECC1 016210 eECCe 016406 ECGL 001410 ECGD1 COl4a16 ECH = 0V0100 ECI * 004000 ECMSKO 001402 ECMSK1 001404 ECSEC 001400 ECWRD 001406 ECWRD1 001414 EMPTYQ 046130 EMTVEC= 000030 EMl1 051024 EM10 051337 EM11 051402 EM12 051435 EM13 051466 EM14 051540 EM1S 051563 EM2 051077 EM20 051617 EM21 051640 EM22 051671 EM23 051744 EM24 052023 ENDCMP 015440 ENODCON 001446 ENDING 001504 ENDPGM= 06137C ENDSEK 001452 ENTADR 060124 ENTCOM 060061 ENTLMT 060102 ENTPR 005556 EQUAL 056651 ERCTR 001362 ERPRC1 007636 ERPROC 007622 ERR = 040000 ERROR = 104000 ERRVEC= 000004 EWN = 000002 EWNERR 013474 FACTOR 017570 FAIRNS 001326 FALPAR 007776 FALPR1 010012 FEONLY 060531 FER = 000020 FE1 = 000156 FILBUF 020162 FILLZ 032626 HOUR 001340 HT = 000011 IAE = IN2C00 IAREER 012732 IBSAVE 035410 IDLE 007234 1€ = 000100 ILF = 000001 ILR = 000002 ILV = 000004 INCHRD 026106 INCMIS 026156 INCSKI 026132 INCSOF 026062 INCTOT 026202 INTRVL 001470 INVLD 060036 IOTVEC= 000020 IR = 000100 ISR 043254 ITOCNT 022254 IXU = 000100 KSR 026534 KSR1 026542 KWSVR 026352 LBC = 002000 LBT = 002000 LINE6 LINC6A LINEGC LINE6D LINE? LINE7A LINES LING6 LINM3 LINMG LINNS LINOCT LINPS LINPS LINR6 LINSSS LINSTS LINSS LINS4A LINSS LINTS LINVO6 LINWS LINX4 LINXS LINIOA LIN1OB 024056 024070 024076 024104 024136 024256 024354 055435 054713 055140 054731 024366 054752 955253 055453 055124 055110 054772 055156 055270 055041 055465 055077 055172 056613 056145 056201 MAIN1 006506 MAINZ 006644 MASK 001322 MATCH 015506 MAXCYL= 000134 MAXER 001456 MAXSEC= 000144 MAXTRK= 000140 MCPE = 020000 MOPE = 000400 MESFE 060306 MINCYL= 000136 MINSEC= 000146 MINTRK= 000142 MINUTE 001342 MNTBL 002124 MOH = 020000 MOL = 010000 MREAD 060570 MRPCS1 062636 MRPVEC 062645 MSGCON 057573 MSGORP 057437 MSGEOP 057451 MSGEOT 057477 MSGON 057676 MSGPG 057132 EM3 FMT16 = 010000 LINAS 055022 LIN11A 056567 MSGX10 LINBS LINB6 LINCAS LINC6 055233 055345 055051 055400 EM25 EM26 EM27 052071 052152 052177 EM30 052234 EM31 EM32 EM33 EM34 EM3S EM36 051135 052266 052331 052364 052441 052503 052541 EM37 EM4 052572 051173 EMal 052702 EMAO EM42 EM43 EMa4 EMAS EMA6 EMAT EMS 052644 052746 053027 053123 053220 053306 FILLO 032734 FMTER 013012 FMTRK = 000163 FRSTER FO Fl F2 F3 Fé4 GENDPB8 GENPAR GENREG GETBUWF GETID GETLMT GETPAT = = = = 001352 000002 000004 000010 000020 = 000040 050734 020672 050754 017572 031070 030766 021352 GETREG= 000141 GETREM 032102 GETREQ 046224 053360 051230 GO = 000001 GODRIV 020240 EM51 EMS2 053473 053536 HCE = 000200 HCEER 013070 EM71 EM72 053704 053762 EMS0 EM6 EM60 EM70 053435 051264 053602 053625 GTSWR = 104406 HCI = 002000 HCRC = 000400 HCRCER 011630 HELPTX HERTZ 064500 001312 LCE = 001000 LF = 000012 LIMIT 001364 LINBS LINDAS LINDEC LINDS LINENS LINEOS LINEPS LINEL LINE2 LINE2A LINE28 LINES LINESA LINE3SB LINESC LINESD LINESE LINESF LINE4A LINES LINESA LINESB 055070 055061 024420 055215 055006 055333 055323 022274 022342 022512 022530 022776 023004 023012 023024 023034 023102 023170 023446 023536 023746 024014 LINIOC LINIOH LIN11 LIN1IH LIN2C LIN2P LIN2S LIN3S.1 LIN3.3 LIN3.4 LING.2 LIN7TM LIN7P LIN7TR LIN7S LIN?T LINTX LINSM LIN98 LINSE LINSG LINSH LINSI LKPAR LODEV LODPAR LSTAD MAIN MAINDA 056241 056345 056546 056473 054616 054636 054657 023242 023350 023402 024112 055512 055535 055633 055555 055574 055615 055650 055673 056070 056117 055722 056015 005246 057041 021742 001330 006340 006364 MSGPWR MSGREP MSGSUM 040102 057167 057425 MSHELP 064370 MSHW1 MSHW2 MSPASS MSPRM MSTOTL MSWAIT 057632 057135 057145 057612 060244 057622 040256 MSWRO 057773 MXF = 001000 MXWNDW 040650 M.DP40 032306 M.DPID M.DP41 M.0P42 M.DP44 M.DPSO N NED 032250 032342 032352 032404 032416 057765 = 010000 NEDCLK 057714 NEM = 004000 NEWASN 030110 NEWUNT 001566 NINLEV 057056 NODFLY 057077 NODRVS NOMTCH 060204 013616 CZRJI0BO RPOT PERF EXER MACRO v04.00 1-DEC 83 10:32:28 PAGE 155-3 SYMBOL C4 5EQ 0247 TABLE NONE 060156 NOOP = 000101 NOTAVL 057012 PIRQ = 177772 PIRQVE+= 000240 POPQUE 046246 RECALT RECALO REDAPK 016710 017000 030120 SAVERS 001360 SAVPOS 001354 SAVREG* 104412 SW0 5400 SW01 = 000001 = 000001 = 000002 NOTRP 056760 NOTSAF 057031 NSA = 100000 OFFDIR= 000200 OFFON = 000001 OFLIN 010110 PROCES 007472 PRTBAD 016436 PRTIM 010150 PRO = 000000 PR1 = 000040 PR2 = 000100 RELSE = 000113 REPLZ 032632 RESREG= 104413 RESVEC= 000010 RETRY 001324 REV 001432 SCMND 030006 SCOPE = 000004 SCo4 = 000400 SC1_ = 000100 SC10 = 001000 SC100 = 010000 SW03 SW04 SWOS SWo6 SWO7 SW08 = 000010 = 000020 = 000040 = 000100 = 000200 = 000400 NOTPRS 056775 ONES 003262 ONESEC 001346 ONESUM 025122 OPI = 020000 POSER 012434 PRS PR4 PRS PR6 = 000140 = 000200 = 000240 = 000300 OPIER 012506 PAR = 000010 QCNT 045560 PARER 012640 QDRV1 045672 OPIER1L 012556 oPTY 041622 OPTBL 002104 OR = 000200 ORDERQ 001520 OVRWRT 060367 PACK 030162 PARENT 031170 PARLST QDRV2 061264 QDRV4 061002 PAR12 PAR14 061331 061414 PARLS PAR16 061447 061511 PAR19 061555 = 000340 QDRVO QDRVS QDRVS QDRV6 QDRV7 QINPT QOUTPT PAR2 PAR21 061041 061577 PAR4 061176 QUES 061220 RANDOM PAR3 061121 PARS 061207 PAR7 061231 PASSES PAT = PATCH PATTER 001474 000020 062764 001476 PAR6 PARS PAR9 PERIOD PERM PFECH PFECH1 PFECH2 PFECH3 PFECH4 PFTSTN PGE PGM PIP 061242 061253 057771 043626 035570 035600 035662 035714 035724 035730 = 100000 = 001000 = 020000 QSTART QSTOP 045652 045712 RANDWC RANPAT RANSEC RANSIZ RANTRK RANXIT RATIO RPBA = 000004 RPOC = 000034 RPOT = 000026 045732 RPINIT 040652 RPLA = 000020 045610 RPMR1 = 000024 045630 045632 RPOF RPSN = 000032 = 000030 056647 RPSTUL 040434 001510 RPSTUS RPSTUO 021062 001500 021322 021152 021230 021116 021342 001502 RPSTUS RPSTU6 RODY = 000200 RD.RP 045116 READDR 024444 RWS R6 R7 READIN= 000121 RECAL = 000107 SAVEFG SAVER1 017026 040454 040464 RPSTU7 RPTMR RPVEC RPWC = RPO7 READHD 040444 RPSTU4 ROCHR = 104410 RDDAT = 000171 ROHD = 000173 ROLIN = 104411 RDOONLY 001424 040424 RPSTUZ2 . 044102 044200 044264 = 000200 SC20 = 002000 SECOND = 000012 RPER2 = 000040 RPERS = 000042 046032 045570 sC11 sCi12 SC13 sC2 RPDS RPER1 = 000014 045772 046012 043630 SC3 043676 SCa 043702 SC40 SCS 043714 SCé 044024 SC8 ARCH= 000131 RPEC2 = 045752 sC RPBAE = 000050 RPCC = 000036 RPCS1 = 000000 RPCS2 = 000010 RPCS3 = 000052 RPDA = 000006 RPDB = 000022 RPEC1 = 000044 QTERP = 046052 RANCYL 017726 RHEXT 040646 RMR = 000004 RPADR 040640 RPAS = 000016 PS = 177776 PSEL o PSW = 177776 PUNSAF 007720 PURFLG 040100 PURUP 040124 PWRVEC= 000024 060644 PAR1 PAR11 PR7 RELBUF 040474 040504 040514 044402 040642 000002 041364 RTC = 000117 RTURN 032050 RW1 = 002000 RW2 = 004000 S = 010000 *%000006 =#000007 054747 040602 001356 SECLMT= 000152 SEEK SEEXKFG SWi2 SW13 SWi4 SW1S SW2 SW3 SW4 SWS 040604 SW9 SEQPAR 020330 SET.IE SIZE70 045506 004742 SETFMT= 000143 SETVEC 005604 005112 SKI = 040000 SKIER 013246 SLASH 060742 SRCHUT 040576 016420 = 000004 = 001000 = 000002 = 002000 = 004000 = 010000 SWé6 SW? SELDRV= 000145 SPOTCK SW09 SW1l SW10 SWil 001344 = 000105 SIZMEM SWo2 = 020000 = 040000 = 100000 = 000004 = 000010 = 000020 = 000040 = 000100 SW8 T = 000200 = 000400 = 001000 TAB TABLE TABLEO TABLE1 TABLE2 TABLES TABLEA TABLES TABLE6 TABLE7 054726 056657 061644 061664 061732 062000 062046 062114 062162 062230 062276 TAB.XY= 001114 STA 006074 TAP = 040000 START START1 003522 003532 TCF T0 = 000400 043404 STACK = 001100 START2 STATIN STATIS STATPR 003550 001314 017270 025020 STKLMT= 177774 STNDAT ST0 SUPRS SUPRSL 002314 044472 032442 032426 SWR 001154 SUPR1 SUPR2 SVRHXX SWREG SWTIM 032454 032516 045342 000176 010052 TBITVE= 000014 THEAD 020776 TIMER 040606 TKVEC = 000060 TPE = 000002 TPVEC = 000064 TRAPVE= 000034 TRE = 040000 TRFER 013146 TRKLMT= 000154 TRMREP 057274 TRNSWT 040574 TRTVEC= 000014 TSTANY TST1 TYDRV 001422 003540 033044 CZRJIOBO RPOT PERF EXER MACRO vO4.00 1-DEC 83 10:32:28 PAGE 135-4 D4 SYMBOL TABLE TYPDRY TYPDS = TYPE -+ TYPOC = TYPON = TYPOS = 033050 104405 104401 104402 104404 104403 SCHARC SCKSWR SCMTAG $CHM3 = sCM4 = SCNTLC 036262 034010 001114 000000 000001 034715 TYPSUM 025150 SCNTLG 034727 UNS = UNSAF UNTASN UNTNOT UNTOFF UNTON UPE = UsSi = us2 = US4 = 040000 013402 056732 056710 056667 056700 020000 000001 000002 000004 $CODE = $COMND= SCPUOP SCRLF sCYL = $DBDIV $0BLK $0820 $0B20 SDECVL 000024 000002 001234 001203 000012 032174 036730 037404 037600 037564 WAITY 001632 SDEVM 001264 UCPAR v 007760 = 000100 WATPAK 030144 WCE = 040000 WCF WCFER WCHKX WCKD WCKER WCKHMD WC.HK WLE WMLEER WOR WRDCNT WRDPOS WRL WRTCHK = 000040 = = = = = 013304 040424 000151 011242 000153 043316 004000 012764 001000 001466 001374 = 004000 001506 WRTDAT= 000161 WRT.RP 045210 WRYUNS= 000400 XXDP Y ZEROS ZROIND 001430 057767 002360 001350 SCNTLYU SDEVCT $DIV SDOAGN 001216 SERMAX SERROR SERRPC SERRTB SERRTY SERTTL SETABL 032126 032044 001131 035022 001132 001300 $MADR4 001254 SRPCC = 000224 001250 $BDDAT $BELL 001142 001176 $GTSWR 034100 $HARD = 000106 $GET42 SRPDA = SRPDB = SRPOC = S$RPDS = SRPDT = SRPEC1= SRPEC2+= SRPER1= SRPER2* 001247 SRPOF 001242 SMTYP2 034734 001237 001243 SMTYP4 001253 SPASS 001170 000000 036510 037702 036512 000052 000026 001214 S$PASSC= 000114 $PASTM 001106 S$PATTC= 000030 $PREVA= 000032 $PREVO= 000027 S — - 000036 000017 000014 032742 037346 017120 001272 000204 000172 SRPBAE- 000236 001246 001252 001102 037202 000112 034745 001222 001224 001206 SNULL S$NWTST= SOCNT S$OCTVL SOMODE S$OPERC= S$PACK = $HD = 000000 $HIBTS 001100 SHINUM 037304 034442 SMAMSS $MAMS4 SMBADR SMFLG SMISPO= SMNEW SMSGAD SMSGLG SMSGTY $NSEC = 000124 SNTRK = 000125 032024 SROLIN 001206 001236 S$NPATC= 000123 001172 001171 032736 000132 000001 001134 001140 037206 SMAIL SMAMSL SNEXT = 000130 001210 037204 034352 $SRDPAS= SRDSZ = SREG = SREPLZ SRESRE SRETRY SRPADR SRPAS = SRPBA = SFATIR = 000116 SFATAL SFFLG SROCHR 001276 001304 001306 037306 001122 001124 001302 062474 001240 001244 $NCODE= 000122 SNCYL = 000126 001272 037720 040062 037772 001202 SLKCSR $LKS SLLVEC SLONUM SLPADR SLPERR SLPVEC SLSTAD $MADR1 S$MADR2 001126 001226 SETEND SPWURON SPWRMG SPWRUP SQUES SRAND SMTYPS 035412 S$PSEL = 000003 SPWRAD 040066 037203 SMSWR SMTYP1L 003360 SFILLC SFILLS SFILLZ S$FIRST= $FMT = $GDADR $GDDAT $BUF = 000006 $COW1 001266 $COM2 001270 SLKCS8 SMAMS2 033100 036720 032034 032020 001226 001227 031500 032012 001117 001100 036764 036740 036746 036756 001150 001262 001136 040072 001151 001130 001204 $MADRS S$DRVSNe 000160 SOSPLY SDTBL SENDAD SENDCT SENV SENVM SEOP SEOPCT SERFLG S$ILLUP S$INTAG SITEMB8 SLF SLFLG 034722 SAPTHD SATYC SATYL SATYS SATY4 SAUTOB $BASE $BDADR $HLDWC= 000120 SICNT 001120 ' SRPCS1+ 000166 SRPCS2+= 000176 SRPCS3= 000240 SSUPRL 032526 SSUPRS 032542 S$SWREG 001230 $SUPR1 032554 SSUPR2 032616 $SVPC = 000210 SSWR = 122000 $TATUS= 000016 $TERM = 000032 S$TESTN STIME $TxB STKCNT S$TKINT $TKQEN= S$TKQIN $TKQOU $TKQSR 001212 026226 001162 033472 033510 033507 033474 033476 033500 $TKSRV 033560 $TKS 001160 $TMPO 001174 $TN = 000002 $TNPUR 037514 SRPMR1= 000212 $TPB STPFLG $TPS STRAP $TRAP2 $TRK = $TRP = $TRPAD $TSTM $TSTNM STTYIN 001166 001173 001164 040336 040360 000011 000015 040372 001104 001116 034676 SRPSN = 000216 STYPE 035732 S$RPO7 05715S STYPOC 036312 SRTNAD 032046 SRTOTL= 000066 $TYPOS SUNIT 000174 000210 000222 000200 000214 000232 000234 000202 000226 SRPER3= 000230 SRPLA = 000206 = 000220 SRPVEC 001274 $RPWC = 000170 SRPO7P $SAVRE $SAVR6 $S820 $S820 $SEC = $SEEKS= $SETUP= $SIZE 057162 037310 040076 033412 033442 000010 000046 000156 062344 $SKI = 000110 $SOFT = 000104 $SSEC = 000022 $STOTL= 000076 $STUP = 177777 S5EQ 0248 $TOTAL= 000102 $TYPDS STYPEC STYPEX STYPON SUNITM SUSWR SVECT1 SVECT2 SWCNT = S$WRDL = SWTOTL= 036514 036144 036264 036326 036266 001220 001110 001232 001256 001260 000004 000020 000056 SWTPAS= 000042 $XOFF = 000023 $XON_ = 000021 $3$GET4= 000000 SOFILL 036511 .4X = 001100 — CZRJ0BO APO7 PERF EXER MACRO VO4.00 1-DEC 83 10:32:28 PAGE SYMBOL TABLE . ABS. 070405 000000 ERRORS DETECTED: 1555 000 001 © VIRTUAL MEMORY USED: 62464 WORDS ( 244 PAGES) DYNAMIC MEMORY AVAILABLE FOR 71 PAGES +CZ7RJ08 /C+[20,12)CZRI0B .DOC,CZRIOB . H1S,CZRI0B, [ 20,0)SYSMAC /M 4 | SEQ 0249 JOBO RPO7T PERF EXER MACRD v04.00 1-DEC 8% 10:532:78 PAGE S F4 SEQ 0250 S REFERENCE TABLE (CREF vO04.00 ) $SSEOP $8SED0T (11544 111, 29 850D $SGETE SOFILL T8-1 7% mr 129-48 24-25 54.7 i- 1-11 6765 120-80 89-1 89-10 7.4 73.) 75-10 S4A0CAT 86-1 SASTAYT SATYL 91-1 91-10 911 SATYE SATYC B86-1 91-1 91-10 91-10 WD SATYS SAUTOB $BASE $BDADR SBDDAY SBELL 7-11 4-3 35-41 5-82 S1-8 S8-S1 59-61 62-16 21-45 62-63 22-4 62-77 22-37 155-15 $0-60 16-6 135-14 4] a3 20-7 58-31 67-30 73-1 731 85-1 $8-3 14-16 15-10 15-88 17-16 86-1 86-1 86 -1 47-28 47-3%2 48-12 57.95 $7-240 S7-247 101-41 45-14 45-16 45-37 48-10 S0-3Se S0-57« S0-63e S6- 30+ S6-31¢ S56-36+ 56-37 S6-41¢ 66-14 66-35¢« 101-38 107-18 25-15 23-21 23-22 34-22 34-37 38-40 $7-250 71-7 S57-290 71-30 S7-304 71-36 S7-317 73-1 $7-324 75-1 $7-362 75-1 12-717 8-00 12-72 12-74 S7-8 85-1 85-1 85-1 sCOw1 $COM2 SCHARC 8-00 8-0¢ 88-1 88-1¢ 88-1e 88-1e 88-1e sCm3 8-0 8-00 8-00 20-62+ 97-1 8-0 12-25 SONTLC 85-1 85-1 $CODE 36-5 36-31 SONTLG SONTLY 85-1 85-1 85-1¢0 85-1 35-% 97-1 8-00 12-25 85-1 40-16 42-33 44-140 S0-58¢ S0-67¢ ‘g-#‘ SCPUOP B8-00 15-Se 15-33« 38-93 41-21 120-21¢ S7-83 $7-258 S7-280 114-32 41-41 42-37 42-50 42-64 42-66 42-67 85-1 88-1 43-20¢ 85-1 88-1 44-12¢ 85-1 9%-21 49-15 85-1 132-21 S0-24 86-1 86-1 86-1 86-1 S0-26¢ S0-34¢ S6-15 S6-46¢ 59-97 $9-103 S9-113 S59-119 59-129 59-135 74-10 74 -380 12-51 S7-1%2 $59-22 16-18 S7-152 59-28 $DB2D S57-383 S57-390 S7-415 SDEVCY 8-00 73-1e 73-1e 40-11 42-26 57-275 73-1 73-1 73-1¢ 66-33¢ 42-39 107-27¢ sCvL D1V 47-2% 66-43 75-1 88-1 leg-{c“ S$DOAGN 4a7-17 8-00 12-25 37-45 85-1¢ m‘:;»;. 57-113 S7-424 45-10 85-1¢ S6-48 8-00 36-10 85-1 56-42¢ SCRLF S6-34¢ 67-16 12-112 g-:h 8-0¢0 SCNTAG 15-87 7-110 'g-r 8-0 15-S% 89-1e lggro; sCre 12-99 89-1e 91-10 85-1¢ 90" 134-50 IBUF SCKSMR 9.0 133-4%3 88-1 8-0¢ 8-00 5-5% 87-87 16 ST-inn 59-168 16-39 57-186 62-20 5S6-28 19-15 S7-208 63-72 23-14 S7-231 64-44 57-11 57-12 $7-29 $7-63 87-1 87-1 S57-159 66-14 67-75« 84-13 9%-10 86-1 38-65 $7-65 $7-99 87-1 87-1 101-44 107-25 $7-39% 73-1 SEQ 02351 - - - %8 & = 3% 02 2= ¥ o2 ? s & 2 § 2 R § 8 e3 4 $d 3 aklas amfids .3 3,30 i5-8 o0-%9 80 61 shyxsy yeyosyiiy Lupats cyegicies fi.‘:.'a 1% 47 «a S7T-% ST-047 S7T-284 57357 $7.202¢ B b l.-. p R n3y as? 'fl-« &‘m €0-22 $7-511 121-410 12¢-7 -8 24.85 3 B3 B B3 -4 sy 44 4 33-47 5-9 Q-7 R st $T1-1% sr-an 126-8 45-S1e 45-52¢ S7-308 S$7-460 99-04 ::‘ 41-20 121400 - §8 §F gt At -4 -7 126-10 13129 ‘g:’ 0-17 -7 84-110 $7-169 6-2% ‘ig S0-53e 56-47« S7-27¢ 66-41e 120-20¢ 6-2% 6-29% 6-29% 6-2% 6-29 ny S7-288 120-32¢ 50-20 - 37245« 1\ -7 s Bl ew O Q. gis - 14 $-4 1 333 853 £ 8222 o 12-80 - we— R - B83w. 233 o3¥SSEBn.MEeuess wriERkuSypeaiogleeeiiaiiishc - A Y R T | T T T T L TS - o - L L] T T LR P T 3 it s O R BaRE B SySiiel, g“. RPOT PERF EXER MACRD vOs., 00 1-DEC-83 10:82:20 Pack R ERENCE TABLE (CREF wOe.00 ) B8 i ®BP 6-29 6-29% R - ——— - ————— - ———— —. .. st U o — - — - P ' Z33dansRd..2300 p23#3082383-3.--3-.33oF ' " ~4f t=Y $x3s 3 -sE3T 2<%sa8se z..w.ar,w:m"“ ttou v 34 g2y i 34 g3 - 3 .&fimfim. mmagfig..a_%mmmé m 3X28z ¥4 — . —_— ——— . — . it - | L4 ! 3 ohBe3 3 33 ii3 es :: -y | | L i JOBO RPOT PEN € SIT12 5-1080 13.33 12-16 113-% 1080 18- 1118 1114 BITIS 81T 34 74 s v Iv . 8178 BITY BLKADR Aoee . . BLMKSS BLNKSA 8PE BPTVEC BSE BUFTBL BUSADR CFLAG CMGADR CHKMC CI1 CI2 CIS CI4 CIS CI6 CI7 29-23 24 26-32 26-24 1040 9.00 24-85 12-85 7-166 S7-182 1080 42-44 16-20 S-2660 5-104¢0 S.2740 83 127-650 12-79 9-00 38-46 9-00 S0-45 132-13¢ 12-95¢ 62-19¢ 12-1S¢ S3.14 105-42 105-32 106-610 106-86¢ 47-13 105-39 106-44 CKHCE CKLMTS 24-63 50-19 24-59 86-1 $7-225 1 103-35 10558 08-77 10460 105-35 106-208 11“3.” 2r-35 20-13 2919 30-25 s1-45 52-8 104 111-93 106-60 105-22 105-35 106-20 106-55 106178 64-15 62-23 41-32 9-33 63-76 4-37 70-20 4-37 70-22 42-56 2 S7-110 57162 46-20+¢ 47-12 112-18 104 2 33-47 111-98 37-%0 3 29-2 e 29-8 g3 bR -30 16- 11-% S57.302 S7- 30-3 50-8 32-24 59-24 59-70 ‘%-? 63-60 59-72 a-17 65-80 59-80 41-17 57-3513 127-660 132-27 132-99 127-640 42-7 14-7¢ CI7T8 CIS8 CK.CHR CK.DEC CK.DIG CK.NUM CK.OCT CKBUS CKCLK CKCLK1 CKCLK2 CKCLKS CKERR CKSWR 28-18 9-00 106-51 106-104 104-37 106-125 106-177¢ 106-180 82-320 82-10¢ 70-27 132-32 81-42¢ 22-19 16-4 S8-7 58-19 58-15 22-18 CKFMT 26 1080 -1040 -10se 1040 853 g8 | 211 83.27 S5-1080 22-9 106-205 106-208 1080 "22-61° -1040 - SEQ oas? ( 47-25¢ 106-12¢ 106-53¢ 106-84 106-115 105-52 106-129 109-70 106-190¢ 83-20 82-38 83-140 132-44 82-40 35-260 S8-5¢ 58-170 58-28¢ 58-26 35-3¢ 14-8¢ 14-9¢ 47-30¢ 47-35 47-36 47-49¢ 14-15¢ 14-15¢ 14-18¢ 14-29 14-21 46-12 46-14 12-120 62- 13-10 63-4¢ 15-22 63-9 15-57« 70-9e 15-43 70-25 15-86« 70-35¢ 15-94 85-5e 17-50« 9%-22¢ 18-3 9%-26 132-22+ 132-30 132-42 106-67 106-103 106-82 106-94 106-102 106-110 106-114 12-18¢ 55-160 17-18 106-1608 106-170 106-118 106-120 106-23 106-33 106-140 106-152 109-7 83- 111-76 14-12¢ 17-47¢ 96-30¢ 132-13 132-15« 106-166¢ 106-37 106-49 106-58 106-169 106-172¢ 108-16 106-66 109-67 106-77 114-31 133-100 62-38 73-7 96-19 S52-37 54-15¢ 58-37¢ 29-3¢ 30-3¢ 50-29 86-1 S51-37 97-10 67-32 20-9 34-5 34-24 CROSS REFERENCE TABLE (CREF v04.00 ) CZRJOBO RPO7 PERF EXER MACRO V04,00 1-DEC-83 58-9+ S58-21e 66-9& 111-52 58-44 36-17+ 37-3¢ v SEQ 0258 61-4 36-30+ 37-72 37-47 37-50+ 37-55 37-83« 37-934 22-22 22-24 22-24 22-26 22-28 22-30+ 61-39+ 129-5 59-149 127-51 128-30 128-62 134-12 134-26 134-40 36-26 37-65+ 37-53 36-12+ 36-3¢ 36-5¢ 34-43 36-19 20-88 37-58 66-35 @ < "5 558220280508 8k2 9-00 58-S CLKFLG FF KO 58-440 62-27 CL S5-132¢ 62-15 CLR 63-66 17-31 CLRDPB CLRQUE 102-17 106-226 9-0¢ 36-11+ CMCNT cMCYL 36-16+ 36-47 P 10:32:28 U BVRNINED 128-48 128-86 134-16 134-30 134-44 135-6 85-5¢ 67-37 30-12 73-1 73-1 56-67¢ 38-84 37-84 20-15# 37-602 56-70 37-77 37-64+ 37-81 63-75 128-5¢ 86-1 86-1 86-1¢ 86-1+ 86-1+ 87-1 12-31 96-38 127-59 128-52 128-88 134-17 134-31 134-45 135-7 12-31 96-38 127-60 128-53 128-88 134-18 134-32 134-46 135-8 12-45 125-6 127-61 128-54 128-89 134-19 134-33 134-47 135-9 12-56 125-7 127-62 128-55 128-89 134-20 134-34 134-48 135-10 12-62 125-8 127-63 128-56 129-25 134-21 134-35 134-49 135-11 59-93 125-9 128-19 128-56 134-6 134-22 134-36 134-51 135-12 59-109 127-48 128-20 128-59 134-9 134-23 1%4-37 134-53 59-125 127-49 128-26 128-60 134-10 134-24 134-38 134-54 59-148 127-50 128-28 128-60 134-11 134-25 134-39 121-12¢ 57-302 121-13 123-8 121-14 133-79¢ 121-15 121-19 67-38 30-15+ 67-73 73-1 128-32¢ 128-31¢ 30-48+« 68-10» 57-224 68-17+ 57-302 135-1 135-2 88-1 127-53 128-37 128-83 134-13 134-27 134-41 135-3 t)[. SEQ 0259 CZRJOBO <PO7 PERF EXER MACRD V04,00 1-DEC-AR3 10:32:26 PAGE S-10 CROSS REFERENCE TABLE (CREF v(a.00 ) 71-21 S-262¢ 11-5 57-66 57-75 57-79 57-87 11-12 11-19 11-26 11-40 8-0¢ 23-4 29-15 33-45 38-40 41-11 42-44 57-64 57-146 57-195 57-256 25-3¢ 30-85 8-0 18-14 125-1¢ 125-6¢ 125-7¢ 125-8¢ 125-9¢ 11-33 125-3¢ 125-4¢ 125-5¢ 12-25« 23-37 30-21 33-49 38-41 41-12 42-47 57-65 S$7-149 $7-197 57-268 57-330 S7-417 12-25 12-25 64-15¢ 71-29« 73-1e 125-2¢ 12-25¢ 24-4 30-45 33-51 38-62 41-17 42-50 57-66 57-152 $7-200 57-288 57-336 57-418 L I ) DH16 DH17 DH2 DH3 DH4 DH6E DISPLA DISPLY S5-267¢ 5-1040 9-0¢ 65-132 1] DH14 DH1S 5-192¢ 24-97 26-20 S~V DCU DDISP ODRVS DEVOFF DGE DH1 62-69 s2grEye gw&w@vn DATAl< DC¥ DCKER DCKER1 25-20 31-4 34-22 38-74 31-22 34-23 38-80 41-32 42-64 57-87 57-166 57-216 57-302 S57-377 57-447 S57-424 41-31 42-59 S57-79 57-162 57-213 57-302 57-362 57-433 109-116+ 111-20 28-8 27-6 32-19 35-16 40-30 41-41 57-29 25-23 33-4 38-33 40-37 42-38 S57-57 57-125 57-186 57-245 S7-317 57-393 57-113 57-182 57-239 S57-313 57-387 97-2¢ 24-31¢0 111-58 111-69 111-79 106-215+ 109-28 111-22 111-60 111-71 111-89+ 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 106-214+ 108-5e 109-40 109-64 109-73« 111-31» 111-37 103-16+ 103-33 103-85+ 109-114 104-26 126-2 12-98« 105-11e 126-3 122-8¢ 122-8¢ 105-45» 126-4 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 33-62 106-182¢ 106-195 12-98« 12-98+ 12-98¢ 12-98¢ 12-98+ 12-98+ 12-98+ 24-10 64-40 122-8¢ 122-8¢ 122-8¢ 122-8¢ 33-34 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 71-200 130-20 130-20 130-20 130-20 130-20 130-20 130-20 130-20 71-52 128-41¢ DRSTAT 98-23¢ DRVACT DRVCLR 6-60 DRVER 24-103 DRVINT 102-39 128-20¢ 104-32 106-163+ 106-183» 106-193 28-310 103-15¢ 104-21 109-101 109-117 111-34 111-44+» CZRJOBO RPO7 PERF EXER MACRD v04.00 1-DEC 83 10:32:28 PAGE S 11 N SEQ 0260 CROSS REFERENCE TABLE (CREF v04.00 ) DRVMSG DRVNO DRVPAR DRVPRM 19-16 9.-08 9-00 17-36 DRVQUE 104-29 DRVSN 8i-11 DRVYSTA 16-21 DRVTYP DRY DSWR D100 D101 DT02 D103 DTO4 DT0S DT06 D707 D708 D71 DT14 DT1S DT16 oT17 DY2 DT3 DT4 DTé DTE DTEER DTUM DVA bDvC 104-24 16-25 5-165¢ S-1040 S5-211¢ S5-212¢ S-213¢ 5-2140 S5-215¢ 5-216¢ S-217¢ 5-218¢ $5-219¢0 11-6 57-70 S7-76 57-80 S7-88 11-13 11-20 ECBADO ECBAD1 ECBIT ECC ECC1 ECC2 ECCX ECGD ECGD1 ECH ECI ECMSKO 9-00 9-00 9-00 26-57 40-66 40-41 41-20 9-00 9-00 S-183¢ 5-2420 9-00 ECSEC ECWRD 9-00 9-00 ECMSK]1 ECWRD1 EM1 EM10 EM11 EM12 9-00 41-6 9-0¢0 11-4 23-16 23-23 23-4 71-88% 63-73 57-67 63-70 107-20 118-22¢ 104 -49 16-49 63-63 105-19 59-74 98-37¢ 105-23 63-88 102-30¢ 102-29¢ 106-231¢ 109-32 68-14 98-528 8-0 12-25 105-35 106-50+ 40-24 40-25¢ 104-40 128-61¢ 17-28 67-80 86-1¢ 67- 128 8¢ 103-21+ 111-80e 103-51e 103-30e 103-73» 104 -55 106-232+ 102-31e 109-38 103-22+ 102-32e 109-44 103-41¢ 102 -43+ 109-119 103-46+ 106-187+ 106-198 106-216 106-218+ 106-224+ 107-6 103-79« 104-19 111-25 111-40 126-1¢ 126-7¢ 126-8¢ 126-9¢ 126-10¢ 11-34 126-3¢ 11-27 126-4¢ 11-41 126-5¢ S-189%9¢ 24-93 30-81¢ 62-10 100-33¢ 111-S0e 111-62 S-157¢ 5-269¢ 719 59-68 2%-27 63-21« 23-26 22-3¢ 63-Se 63-79 40-Sle 40-68¢ 40-22+ 40-3¢ 126-2¢ 102-24 41-17 41-37 40-23¢ 108-6+ 40-45+ 41-2¢ 40-64 41-38 41-400 41-410 25-5 27-29 40-43» 40-44+ 40-3e 40-47¢ 40-48¢ 40-15S¢ 40-52 40-57 40-18+ 40-69 40-27+ 40-28+¢ 40-20¢ 40-38 40-29¢« 40-31 40-38« 40-39 40-51 40-53 40-54+ 40-59¢ 40-60¢ 40-61 40-65¢« 40-68 40-70 40-71+ 40-72+ 41-19 41-25 41-37 40-24¢ 41-17 124-3¢ 124-9¢ 124-100 124-11¢ 40-26¢ 40-54 40-63 40-71 40-55+ 40-59 CZRJIOBO RPO7 PERF EXER MACRO v04.00 1-DEC 8F 10:32:28 PAGF S 12 DS 5EQ 0261 CROSS REFERENCE TABLE (CREF v04.00 ) EMs 25-37 EM1S 24-15 EM20 28-8 124-15¢ EM22 27-24 124-170 28-32 124-23¢ EM14 EmM2 EmM21 24 -4 11-11 25-39 EM23 EM24 EM25 EM26 EM27 EM3 27-6 29-15 30-21 51-41 32-4 11-18 EM31 EM32 EM3S EM34 EM3S EM36 EM37 30-61 30-84 31-4 35-4 31-22 51-32 27-27 EM30 EMa EM40 EMal EMa2 EMa3 11-25 32-19 35-34 38-33 34-16 EMag EMaS EM46 EMA7 EMS EM50 35-16 25-23 S57-98 25-20 11-32 32-39 EMS2 EM6 EM60 EM70 EM71 25-10 11-39 353-23 33-45 33-49 EMS51 30-45 124-120 124-13¢ 124-140 124-40 124-160 124-18¢ 124-19 124-200 124-210 124 -22¢ 124-5¢ 124-240 124-25¢ 124 -260 124-27¢ 124-28¢ 124-29 124-30¢ 124-60 124-310 124-32¢ 124-33¢ 34-21 124-35¢ 27-44 124-37¢ 27-42 124-7¢ 124-39% 124-40¢ 124-340 124-360 124-38¢ 27-31 124-8¢ 124-42¢ 124-43¢ 124-44¢ 124-41¢ EMPTYQ 106-181 106-230 EMTVEC 5-1040 12-25¢ ENDCYP 37-93 38-86¢ 108-40 12-25« 111-94 118-7¢ ENDCON 9-0¢ 17-4¢ 17-Se ENDING 9-0¢ 21-19 129-10 ENDPGM 14-8 14-13 133-80¢ ENDSEK 9-0¢ 21-28 21-31 ENTADR 128-56¢ ENTCOM 62128-54¢ ENTLMT 67-43 128-55¢ ENTPR 15-101 15-108¢ EQUAL 128-4¢ ERCTR 9-00 36-9e 36-50¢« ERPRC1 22-44 22-50¢ 26-28 ERPROC 22-8 22-12 22-14 ERR S5-172¢ 17-8 17-9« 17-13e 17-14+ 37-14 44-69 22-36¢ 37-29+ 38-88 38-91 EMT72 ERROR 33-51 5-104¢ 124-45¢ 21-21 21-24 CZRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE S-13 CROSS REFERENCE TABLE (CREF vO04.00 ) 13-6 131-1e 13-7« 131-1e 45-12¢ 45-20 45-39 45-41 45-59% 67-19 67-70 67-71 68-9e 68-16+ 79-11e 61-15 80-13e 80-17 80-38+ 9-0¢ 43-30e¢ 20-57 29-8 34-42¢ 44-11e 44-12¢ 44-13+ 97-1 97-1 53-41 109-66 12-56 97-1 97-1 74-70 109-123 12-62 97-1 97-1 27-57 49-7¢ 5-152¢ 5-156¢ 45-10¢ FALPR1 FE1 23-17 S54-43 23-210 23-25¢ 55-46 126-88¢ FER FILBWF FILLO FILLZ FMT16 FMTER FMTRK FRSTER GENDPS8 GENPAR GENREG GETBUF 9-00 22-56 15-59 S5-181¢ 20-29 HELPTX HERTZ HOUR HY IAE IAEER IBSAVE IDLE IE ILF ILR ILv 106-53 121-15¢ S8-7e 58-19¢« 58-37 44-19 63-58+ 123-30 111-90 59-125 119-10¢ 59-148 59-149 86-1 5-2430 29-10 6-22¢0 36-3e 37-33 38-43+ 44-15« 20-23 GETID 17-32 GETLMT 67-10 GETPAT 5S0-68 GETREG 6-15¢ GETREM S1-15 GETREQ 105-12 GNS 7-1 59-155 GO GODRIV GTSWR HCE HCEER HCI HCRC 58 -6 5-153¢ S5-1540 5-155¢ 45-9« FEOMLY 13-34¢ 53-410 FACTOR FAIRNS FALPAR 12-25+ 151-2 97-1 S53-43 52-30 109-34 12-31 97-1 S-151¢ 20-30 12-31 97-10 S-184¢ 30-16 5-2410 5-185¢ 24-55 28-30 12-134 134-100¢ 9-0¢ 12-89 9-00 12-90s 5-104¢ 88-1 5-187¢ 24-79 31-21¢ 86-1 18-7 20-43 5-110¢ 5-177¢ S5-178¢ 5-163¢ 16-62 - Fa 12-28¢ 131-1e 12-25¢ 151-1 111-42 59-93 86-1e+ 86-1e - Fl F2 F3 131-1 12-25 86-1e o FO 12-27+ 86-1e 5-162¢ 24 -43 el EWN EWNERR S-104¢ SEQ 0262 g8yt ERRVEC ES 97-1 97-1 29-5 20-10 20-11e 88-1 86-1 20-48 17-33 61-49 61-44¢ 61-45 61-47+ 86-1¢ 86-1e 111-82 59-109 97-1 97-1 97-1 97-1 97-1 97-2 97-1 97-2 59-152 97-1 JOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGF S-14 S REFERENCE TABLE (CREF v04.00 ) L3 27-80 23-41 30-67 60-200 20-14e “ 107-3¢ 56-25 28-16 24-8 29-23 24-19 61-38+ 61-53 351-8 51-25 56-57¢ 62-100 58-23 o ~ - : 88-1 12-6 36-20¢ S57-191¢ 57-213¢ 57-343 57-358¢ S57-433 127-46¢ 9%-5 38-48 o B3 60-17¢ e =xg 60-19¢ 60-18¢ 26-64 23-28 30-51 38-94 12-93« 128-53¢ ., T INCTOT 27-83 ouuuutg;gy*guu L8830 2 313 a ;n INCSKI INCSOF 26-48 30-50 -43 — INCHRD INCHIS FS 60-160 26 -49 32-12 26-69 32-23% 27-11 32-42 27-84 61-58¢ 96-17+ 96-28 129-4 53-8 28-17 33-26 CZPJ0BO RPOT PERF EXER MACRO vO4.00 1-DEC-83 10:32:28 PAGE S-15 G5 SEQ 0264 CROSS REFERENCE TABLE (CREF v04.00 ) LINDAS LINDEC LINEL S7-179 lg?-l‘” S7-204 S7-209 38-92 23-3 30-44 ”-g’ 7-160 ;7-“’ S'-b’, $7-192 S7-194 57196 S7-199 S7-208 S7-207 S7-215 S7-218 S7-22¢ S7-2% 23-% 30-60 24-3 30-83 3‘-%‘ 51- 25-9 51-21 25-19 5n-n 25-22 31-40 25-38 52-3 275 52-18 27-23 52-38 28-7 33-3 28-31 33-22 29-14 33-41 30-20 34-15 24-5 51-33 55-33 7-209 58-32 LINE2 2851-5 25-38 51-23 LINE2A 57-37 S7-42 S7-610 23-%9 24 34-18 38-35 LINE2B LINES LINESA LINESS LINESC LINESD LINESE LINESF LINES S57-200 S7-62 23-6 $3-25 32-41 350-47 35-36 31-6 31-24 S7-1510 S7-1380 $7-100 S7-1580 S7-177¢ 33-6 g-? LINES LINESA LINEG 26-13 LINEGA LINEGC LINEGD LINE? LINETA LINES 57-650 s2-21 -22 27-10 a-g LINESS 57-454 26- 26-63 25-29 25-32 23-9 30-39 44 64 30-52 26-47 23-40 53-53 24-7 25-24 52-5 26-2 32-20 27-10 32-40 27-51 33-5 28-9 33-24 28-33 33-52 29-16 354-17 30-22 55-17 30-46 35-35 30-62 38-34 24-18 26-3 27-10 27-51 28-10 28-34 29-17 30-23 30-63 31-43 32-6 55-18 57-125¢ S57-119¢ 57-237¢ 57-2560 28-11 29-18 30-24 30-64 51-7 351-44 52-7 -62 27-19 24-9 30-76 28-22 28-25 -20 51-14 29-29 29-32 25-33 51-26 30-35 30-38 26-50 51-35 50-72 30-75 26-71 51-50 31-13 351-16 27-85 52-13 32-30 32-3%2 28-23 32-33 -14 33-17 2833-1 33-351 33-33 28-36 33-36 33-59 33-61 29-30 55-21 S57-336¢0 S57-342¢ 29-33 55-39 30-36 38-95 S7-4120 44-63 S57-4330 38-64 41-6 41-17 41-17 41-25 41-37 41-37 42-43 42-46 42-49 S57-32%¢ 27-16 26-60 23-42 30-73 32-44 27-78 S7-213 24-18 51-42 S7-101 32-10 57-296¢ -68 57-158 S57-45% 38-36 351-47 52-11 -58 LINSS S7-425 35-37 30-27 51-48 26-54 S7-377¢ S7-420 -19 29-21 -49 34-19 28-15 30-28 57-330¢ S57-60 $7-379 S57-1440 55-7 27-51 29-22 57-35100 S7- 127-12¢ g-u 38-61 $7-108 26-4 S7-148 27-10 S57-151 27-51 S7-181 S7-185 57-241 S7-267 S7-270 S57-302 S57-302 S57-312 2 §8 88 SaA%33 3388 55282 8 S8 5§ sy., 8 gakteny . nyitons ¥ s3salsssneanaiss,.sangasdiessasanss - LTS,CREF v08.00 ) MACRD vO4 .00 1 -DEC-88 10:52:28 PAGE S 17 IS 38, 81 19-20 19-27 = 216 637 7 44 00 1080-34 S7-46 10987 109199 -88 18-3 20-51 6580 65-130 éi 58 W 57-344 204 2060 213 6519 6522 £333332 RS mp- wm wm L L L ““ —— e —— e — | — ——— o — - —— Lg - 23¥a&28as e —— i %E 629 SEQ 02e7 753 01-20e %N-14e 102415 s: ]s 102 16e 102-4Te 104-11 104-13¢ 104-60e Sh0T AT CAINCE 1AL (O vos e ) FACRD vO8 00 1-DEC 88 10:52:0% PacE S 1Y BN N S .giag ol g Bts R m:;t;»e' 1164 112300 1M-00 10045 10597 1002 Ba s BR B R R 4w O 0% 08 M- 1M MM 12 138 106-151 106-168 106-179 100-15 1096 -87¢ 106-203 106-227¢ 108-13¢ flgu B HA 8L 3P L8 EN 4 g:’ 48 W STam srare B W ”»-1 Y- 12 & » gsz -c NS 1547 *% steue 555“ g‘.iu g8 B2RER 323%R 8tes toey 523 $83.208 1333333137 s < g et — 28 £ BF a7 32 JUN ] B up ¥ pmnanm.a!..%?J.H!‘” tifl' KS 13-23 10140 10048 1040 106-806 107-% 106-76 105-17 106-93 104d 10998" 116 101-200 103-6% 1099 0u e 109-115¢ 111-9% gw s 8 NS NN Nt e 105-16e O 100 m:.ikfi?‘mzs105-56 W70 115- 106-40 106-81 106-139 1315 109-61e LATET.IS1£PPISTMO(FLEPRELTEIESTEEEw LS o e 4 wS L3@Ot-E§geil1 a.w%z:.a.xa:z&:.,&tfiési.mam -HR1Ekh§asgtegsagz og]t i = g32 -3] g2 § : + l 3 — - — W‘f‘&“&fi‘r}uu 10:32:28 159 FHEmFumHwmEmMmwEmmmwm 15-208 PaGE $-21 1511 1640 30-58 30-81 M5 SEQ 2TM Q-7 "IUH' 108-41 62-81 109-125 111-29 111-95 114-7¢ 0&4“1‘11‘11!&.&0&otototolot4 109-81 21-43 1 57-6 57-9 86-1 -29 37-16 bt3- <5~ 42-16 WREG [ 12 a2 25+ 39 12-31 -1 71 8 25« 1 12 3 1 85-1 12-25¢« 56-26 81-26 85-1 12-31 57-6 85-1 12-104 57-9 -1 15-15 57-73 85-1e 16-14 57-144 86-1 17-6 S7-177 86-1 21-43 57-395 86-1 22- 20 S57- 425 86 -1 nod -29 -25 -1 SEQ 0271 CZRJOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE S-22 CROSS REFERENCE TABLE (CREF v04.00 ) SHTIM 22-58 57-193 7-12¢ 67-36 23-36¢ 57-200 127-80 8-0 130-5¢ 130-20¢ 130-20¢ 130-20¢ 130-20¢ 130-20¢ 130-20¢ 130-20¢ 130-20¢ 130-5 130-8 130-8 130-8 130-8 130-8 130-8 130-8 5-222¢ 5-104¢ 5-270¢ 107-8 108-3¢ S51-29¢ 103-18+ 100-20¢ 111-88+ 5-104¢ 85-1+ 5-263¢ 5-104¢ 5-104¢ 12-25+ 5-116¢ 24-51 32-18¢ 37-62 S4-47 21-56 128-28¢ 99-31¢ 106-13» TRTVEC 5-104¢ 12-19¢ TSTANY 9-0¢ 15-7+ 103-83+ 55-50 106-184 106-186+ 106-197 15-57+ 12-8 TYPOS 12-48 TYPSUM 59-32 UCPAR 22-54 62-25 111-24 97-1¢ 16-55 23-14 59-28 59-94 16-64 23-15 59-30 59-99 16-69 23-16 59-31 59-100 18-39 23-21 59-50 S59-105 18-41 23-22 59-68 S59-106 79-32 81-11 59-132 61-17 63-76 71-30 73-1 85-1 86-1 96-25 85-1 12-59 16-19 59-49 59-64¢ 23-140 108-11=+ 59-166 12-31 15-59 TYPOC 106-219+ 106-225+ 108-10 59-159 12-30 15-55 59-131 59-168 63-75 71-11 73-1 85-1 86-1 96-21 68-182+ 59-156 12-6 15-53 59-126 59-167 63-73 71-9 73-1 85-1 86-1 96-1 110-12 68-11+ 67-66 TYPE 16-47 21-56 59-22 59-93 109-85+ 67-39 67-14 67-17 81-12¢ 16-46 21-54 58-30 59-87 57-498 55-23 81-11¢ 63-77 59-153 109-58+ 110-14+ 111-45+ 111-73+ 111-81» 15-32 16-37 15-38 16-44 12-25+ 59-81 19-21 59-150 106-161+ 106-209+ 108-8+ 85-1» TYDRV TYPDRV TYPDS 105-48+ 12-45 15-63 59-137 61-22 64-43 71-31 12-51 15-91 18-42 23-23 59-70 S59-109 132-21 132-24 132-27 19-17 23-27 59-69 63-74 71-10 87-1 77-32 85-1 87-1 87-1 85-1 87-1 97-1¢ 59-151 62-23 67-43 71-36 12-117 16-18 97-1¢ 73-1 59-149 62-22 64 -45 71-33 12-62 16-17 59-152 62-24 70-12 73-1 81-12 85-1 87-1 132-36 85-1 86-1 S59-148 62-20 64-44 71-32 12-56 15-104 85-1 87-1 132-26 132-38 12-130 16-20 19-15 23-25 59-711 S59-110 59-154 62-28 70-20 73-1 81-15 85-1 87-1 132-39 71-35 12-132 16-28 19-16 23-26 59-72 S59-115 59-155 62-92 70-21 73-1 81-17 85-1 87-1 97-1¢0 121-14¢ 111-51» 12-134 16-31 19-18 57-8 59-77 59-116 59-157 62-94 70-22 73-1 85-1 85-1 87-1 15-19 16-34 19-19 57-11 59-79 59-121 19-22 S57-12 59-80 59-122 85-1 85-1 59-158 63-6 70-30 73-1 85-1 88-1 59-160 63-19 71-7 73-1 20-16 S7-14 59-82 59-125 59-161 63-72 71-8 73-1 85-1 89-1 85-1 90-1 85-1 CZRJOBO RPO7 PERF EXER MACRO vO4.0n 1-DEC-8F 10:32:28 PACT S-23 Be S5EQ 0272 CRNSS REFERENCE TABLE (CREF v04.00 ) UNSAC UNTASN UNTNOT UNTOFF 24-39 63-39 64-37 63-95 128-10¢ .4-T5 63-25 UNTON UPE Us1 uSe US4 LA 20-35 56-28 56-37 107-28 14-21e 14-22 34-38 20-78 o0 8558 a R=e 9 9 £ 38-76 40-33+ 15-110 36-40¢ 41-7 15-112+« 36-44¢ 53-3 37-11¢ 129-3 37-38 37-76+ 41-26 50-44 37-3» 106-47 106-56 106-64 106-75 106-80 12-47 12-58 16-40 16-42 17-24 106-21 106-178 129-11 50-67 106-31 109-47 106-35 56-31 107-18 12-39« 12-40 12-42+ 37-28e 37-35¢ 37-40 113-10¢ &> = 20 WRTCHK WRTDAT WRYUNS XXDP Y bt gt 9 WRL WRT .RP ZEROS ZROIND 20-2i vy WROCNT WRDPOS gy R 13 WCHKX WCKD WCKER WCKHD WLE WLEER WOR 20-19 L TUL . HK WC WCE WCF WCFER sV RnoBasl Vv WAILT WATPAK 33.22¢ 128-12¢2 128-11¢ 128-92 38-16 38-19+ 38-24+ 106-92 106-100 106-112 106-127 17-26 63-26 63-28 63-40 37-80+ Co SEQ 0273 CZRJIOBO RPO7 PERF EXER MACRO vO4.00 1-DEC-85 10:32:28 PAGF M-1 CROSS REFERENCE TABLE (CREF v04.00 ) 12-19 97-1 97-1 97-1 971 97-1 97-1 97-1 971 97-1 97-10 97-2 8-0¢ !xtlv-r-r-r-r-;-uu—v-r-u-uunu-r-1 tfig kil ~ — -Oom 97-1 32B o ununIE 8L 5-94 5-99 5-101 5-102 38-24 93-1 57-28 9-1 64 -47 66-46 67-81 68-20 69-29 79-34 80-36 90-1 64-28 66-9 68-7 69-10 S0-1 91-1 91-1 91-1 97-1 97-1 97-1 97-1 97-1 97-1 97-1¢0 97-2 J - (V. "] o ' k) [Ll P et ot o C“:fl' N 593 88285 o5¥ 3% — oy @ o o ~ @ - flflflfiflflfl:‘lflflflfi\lflfl b S B 44 e83388%3e 5 5 2 T aam ' RIRISE LS . 12-25¢ . .SACT1 .SAPTB . SAPTH .SAPTY .$CATC . SCMTA 8-0 SQRUNRUHJUNJUN’UN#?NJUNHUH’UN'UH’UHJUNJ NNy Nfillfl $ SCMRE $SCMTTM $SESCA $SNEWT $SSET $SSETM $$SKIP CZRJIOBO RPO7 PERF EXER MACRO v04.00 1-DEC-83 10:32:28 PAGE M-2 CROSS REFERENCE TABLE (CREF v04.00 ) SWRSU TRMTRP TYPBIN TYPDEC TYPNAM TYPNUM TYPOCS TYPOCT TYPTXT UPCODE XXEP 5-104¢ 85-1 9% -1 5-1040 97-10 5-1040 5-1040 5-1040 5-104¢ 5-104¢ 5-1040 5-104¢ 59-161 95-2¢ 72-110 7-8 85-1 7-11 7-11 7-11 86-. 87-1 12-25 85-1 151-1 12-25¢0 59-150 59-153 59-156 59-159 97-1 97-3 12-31 16-19 62-25 12-6 9%-1 73-1 19-17 85-1 12-45 23-27 87-1 12-56 59-69 87-1 12-62 SEQ 0274 8-0 -0 STARS Do 88-1 63-74 71-10 71-35 59-82 59-93 59-109 91-1 12-19 73-1 92-1 77-4 93-1 59-125 59-148 59-149 59-152 59-155 59-158
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies