Digital PDFs
Documents
Guest
Register
Log In
XX-2AF72-9F-1
May 1975
199 pages
Original
14MB
view
download
Document:
PDP-15
System Software Handouts
Order Number:
XX-2AF72-9F
Revision:
1
Pages:
199
Original Filename:
http://bitsavers.org/pdf/dec/pdp15/PDP-15_System_Software_Handouts_1975.pdf
OCR Text
PDP-15 u Ts HA ND FTWARE SYSTEM SQQ PDP-15 HANDOUTS SYSTEM SOFTWARE • EDUCATIONAL SERVICES digital equipment corporation • maynard. massachusetts i The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this manual. The software described in this document is furnished to the purchaser under a license for use on a single computer system and can be copied (with inclusion of DIGITAL's copyright notice) only for use in such system, except as may otherwise be provided in writing by DIGITAL. Digital Equipment Corporation assumes no responsibility for the use or reliability of its software on equipment that is not supplied by DIGITAL. Copyright {S) 1975 by Digital Equipment Corporaticn The following are trademarks of Digital Equipment Corporation: CDP COMPUTER LAB COMSYST COM'i'EX DDT DEC DEC COMM DECTAPE DIBOL DIGITAL DNC EDGRIN EDU SYSTEM FLIP CHIP FOCAL GLC-B IDAC IDACS INDAC KAlO LAB-8 LAB-8/e LAB-K OMNIBUS OS/8 PDP PHA ii PS/8 QUICKPOINT RAD-8 RSTS RSX RTM RT-11 SABR TYPESET 8 UNIBUS PDP-15 SYSTEM SOFTWARE COURSE ABSTRACT Ill. MACRO Assembler Syntax This course is intended for programmers who wish to acquire a working familiarity with PDP-16 Assembly Language programming and the Disk or Advanced Monitor Operating Systems and the services provided by their monitors and associated system software. A portion of course time is devoted to supervised laboratory sessions. IV. Tape and File Formats V. ll')terrupt Systems A. Program Interrupt Control (Pl) B. Automatic Priority Interrupt (API) VI. System Programs A. EDIT, MACRO, LINKING LOADER, DDT B. PIP, PATCH, SGEN, UPDATE, CHAIN and EXECUTE PREREQUISITES A working knowledge of the material presented in the ln'troduction to Minicomputers course. COURSE OBJECTIVES VII. 1/0 A. B. Upon successful completion of this course, the student will be able to: VIII. FORTRAN and MACRO Interface • Write, run and modify assembly language programs using the PDP-15 instruction set and the MACRO assembler syntax. • Interface programs to the Advanced or DOS 1/0 Monitor. • 1/0 Monitor System Macros Interact with the system by means of keyboard commands, system program command strings and programmed monitor requests. IX. Handler Format X. Interaction with the system via keyboard commands and programmed monitor requests• COURSE LENGTH 10days COURSE OUTLINE I. Memory Modes II. PDP-15 Instruction Set A. Memory Reference Instructions B. Augmented Instruction Set Organization; Memory and Addressing iii COURSE OUTLINE WEEK I MONDAY A.M, A. B. c. D. E. F. Description of Course Block Diagram of PDP-15 Software Overview Memory Organization 1. Addressing on the PDP-15 2. Arithmetic on the PDP-15 Central Processor Organization Introduction to the Instruction Set MONDAY P.M .. G. H. I. J, Memory Reference Instructions Operate Instructions EAE Instructions Introduction to MACR0-15 TUESDAY A.M. A. B. c. D. E. Review Subroutines Sum Group of Examples Indexed Instructions Absolute vs. Relocatable Programs TUESDAY P.M. F. G. H. I/O overview IOT Instructions and Dedicated I/O Paper Tape Formats WEDNESDAY A.M. A. B. c. Console Description and Operation Operation of Disk Operating System Use of the Editor WEDNESDAY P.M. D. LAB iv - 2 - THURSDAY A.M., A. B. c. MACR0-15 (again) Program Interrupt Facility (PI) Automatic Priority Interrupt (API) THURSDAY P,M., D.• E, F. LAB Program and Homework ·Review Quiz 1 FRIDAY A.M, A. B. c. D. Quiz 1 Review Overview of DOS Monitor File Formats and Directory Structure Overview of Monitor SuperV"ised I/O FRIDAY P,M, E. LAB WEEK II MONDAY A.M. A. Progrannned I/O Connnands 1, Basic Operation 2. System Macros 3. DAT useage and Linking Loader 4. User's Buffer Structure MONDAY P.M, B. LAB TUESDAY A.M. A. B. C. D. Linking Loader Libraries and UPDATE CHAIN and EXECUTE PIP TUESDAY P.M, E. LAB v -3- WEDNESDAY A.M. A. B. c. D. Fortran and Macro Interface DDT tQ DUMP WEDNESDAY P.M. E. F. G. LAB Program and Homework Review Quiz 2 THURSDAY A,M. A. B. I/O Handler Format Sample Handler THURSDAY P .M. C.. LAB D. Final Exam FRIDAY A.M. A. B. c. Monitor and System Modification 1. PATCH 2. SGEN Unichannel Discussion Final Exam Review FRIDAY P 0 M2 D., Optional Lab vi BLOCK DIAGRAM OF THE PDP-15 SYSTEM Computer: a machine which inputs data from the outside world, processes the data, perhaps puts it in temporary storage and finally outputs the data and/or results in the form of hard copy,displays or commands to other devices it may be controlling~ Programz a sequence of instructions to a computer, specifying the necessary steps to solve a problem (sometimes it includes the data it is to work on). -main component -handles bidirectional communication with memory and I/O processor -performs arithmetic and logical operations -controls and executes programs stored in memory -handles peripheral data transfers -coordinates transfer between: CP & peripherals memo.g & • · periphera1s -main storage area within computer from which instructions are fetched and executed (data may also be stored here) -various types of memory available CORE MEMORY I/O BUS J:/O PROCESSOR CENTRAL PROCESSOR UNIBUS PERIPHERALS PERIPHERAL PROCESSOR -second general purpose processor -second I/O bus allowing use of PDP-11 peripherals FLOATING POINT PROCESSOR CONSOLE -allows use of floating point arithmetic via over 100 instructions without use of complex software routines I/O BUS PERIPHERALS -allows operator communication in system1 -starting & halting of programs -monitoring of registers -modification memory of SOFTWARE To utilize the powerful PDP-15 hardware a number.of operating systems have been developed (special applications packages are also available). See chapter 10 of the System Reference Manual for descriptions of each of these systems. DOS-15, DISK OPERATING SYSTEM Disk Operating System (DOS-15) is an integrated set of software designed to meet the demands- of research, engineering, and industrial environments. It includes the software necessary for simplified programming and efficient operations. DOS-15 brings to the user the advantage of disk resident storage via rapid access to the system's resources. The DOS Monitor, the heart of the system, incorporates all the functions of the "Advanced Software System" plus the added power of fully automatic random access file operation. The user controls the operating system by instructions to the Monitor. The Monitor runs the jobs, supervises data and file manipulation, and interacts with the operator/user in a simple -~9r1Y_~~at[Q_Q_&.'!1.?l!n~i_.__ Noteworthy feature~ of DOS-15 are: Disk Resident System Software All DOS-15 System Software resides on either DECdisk, or RP15 Disk P~c-~._ or RK15 _disk cart~id_9~_. ___ _ Disk File Structure The disk file structure allows the most efficient use of disk capacity and data retrieval for processing via: System supported DECdisk, Disk Packs, and Disk Cartridge Devices, providing both economy and stor- Interactive Operation An interactive keyboard/program Monitor permits device-independent programming, and automatic calling and loading of_system and u~-~~_pr~~~af!ls. ~~~ cap~-~!!x=------------- -- -- - - -- . --- - Virtually unlimited data capacity (Disk Pack= 83.7 million words, DECdisk = 2.09 million words, Disk Cartridge = 9.6 million words). Random/Sequential File Access furnishes file protection through unique user directories and associated user identification codes. Files can be made invisible to other users, but with privileged access via a supervisory code. Conversational Mode. System Utility Programs interact with the operator/user in a simple, conversational mann~_r. _ -- User/user file independence-identically named unfor matted Input/Output (FORTRAN IV). Programmed Monitor Commands Input/Output programming is simplified by the use of a set of system commands which are standardized for system-supported 1/0 devices. Random Access-formatted as well as unformatted l_i:iput/Q~!P-~!JFORT~_IVt_/-- Dynamlc Storage Allocation The available disk storage is automatically allocated for optimum storage utilization. Dynamic Buffer Allocation Input/Output core is automatically optimized by the Monitor. It allocates only that space V'!'lliQh_ Jiuequired for the system and the user. 110 Device Handlers Data and file manipulating 1/0 device handlers are supplied for standard system peripherals, allowing device independence and overlapped computation, and. 1/0.__ ------ - - -- - --- ·-- ---- - - User-Created System Flies The user may easily incorporate his own software into the operating system, thereby tailoring the system to his hardware and software needs. --~-- - -- -------- Batching Operation An alternative tO Interactive operation is a batching mode which permits the sequencing of console com- _ mands to come from paper tape or cards. Input/Output Spoollng DOS-15 systems using the RK15/RK05 Unichannel Disk System, provides spooling of card reader, line printer, and XY plotter data. Programming Languages FORTRAN IV, FOCAL, and MACR0-15 programming languages are offered. Bank and Page Modes Choice of SK (Bank Mode) or 4K (Page Mode) direct addressability. Page Mode operation eerr:n.!ts !ll_QPification vi_a !h_~ ind~~T~9ister. 2 Spooling is a method of storing (queueing) data to and from slow speed devices on the high speed RK05 disk. This dramatically improves system performance. Spooling is only provided for devices interfaced to the UNIBUS of the RK15 Disk System (i.e., the CR11, LP11, LS11, and XY11). Spooling requires SK of local PDP~_!!___~~m~_!'y,_,------ ---- ----- -- - -· - The following software is available as part of DOS-15: Mcmitors Resident Monitor Keyboard Command Decoder Batch Processor System Loader PIREX (Peripheral Processor RK15 Only) l~anguages FORTRAN IV (F4X, FPPF4X) FOCAL MACRO-i 1 {Assembler RK15 Only) MACR0-15 (Assembler) ALGOL (optional) Text Editors EDIT EDITVP (Storage Scope Editor) EOITVT (Graphic Display Editor) Loaders Linking Loader CHAIN & EXECUTE {Overlay Loaders) ABS 11 (RK15 Only) Debuggers DDT (Dynamic Debugging Technique) DUMP (Core Dump Lister) QFILE (Store/Retrieve Core Dumps) 1/0 Handlers COB (Card Reader for CR03B, CR15 or CR11) DOSBCD (Batch Card Reader) OKA, DKB, DKC, DKL, (RF15/RS09 DECjisk) IJPA, DPB, DPC, DPL (RP15/RP02 Disk f'ack) RKA, RKB, RKC, RKL (RK15/RK05 Disk :;artridge) OTA, OTC, DTD, DTE, DTF, (DECtape) LKA (LK35 Graphics Keyboard) LPA (Line Printer for LP15, LS11 or LP1 ·) LVA (Line Printer/Plotter) MTA, MTG, MTF (Magtape) PPA, PPB, PPG (Paper Tape Punch) PRA. PRB (Paper Tape Reader} TTA (Teletype) Utiliti12si (General) DTCOPY (DECtape Copier) MTDUMP (Magtape Utility) PIP (Peripheral Interchange Program) SRCCOM (Source Compa~e) UPDATE (Library File Manager) 8TRAN (PDP-8 to PDP-15 Translator) 89TRAN (PDP-8 to PDP-9 Translator) TKB (RSX-15 Task Builder) utilities (Slfstem) DOSSAV (Disk Save/Restore) RFBOOT (DECdisk Bootstrap) RPBOOT (Disk Pack Bootstrap) RKBOOT (Disk Cartridge Bootstrap) VPA (Storage Scope) VTA {VT15 Graphic Display} VWA (VW01 Writing Tablet) XYA (XY11 Plotter, RK DOS only} Checkout-Package RF.CHK (DECdisk Checkout) RP.CHK (Disk Pack Checkout) RK.CHK (Disk Cartridge Checkout) Minimum Hardware KP15 Central Processor 16,384 18-b it Core Memory Console Terminal PC15 High Speed Paper Tape Reader and Punch KE15 Extended Arithmetic Element TC15 DECtape Control1-or TC59 Magt[1pe Control 1 TU56 Dual DECtape Transport-or 1 TU10, TU20, or TU30 (7 or 9 track) Magtape Transpo ·t RK15 DECdisk Control or RP15 Disk Pack Control or RK15 System 1 RS09 Disk Drive or 1 RP02 Disk Pack Drive or 1 RK05 Drive 3 MEMORY Memory• the main storage area for computer instructions and system data. In order for a program to be executed, it must be placed ("loaded••) into memory. Memory is storage space--a place to keep things for a It can hold either data or instructions. while. Memory, often referred to as main storage, is much like a large chest of drawers. 10 9 8 7 6 3 2 I 0 . t:::::I t::;::! ...................._______....., t=!1 t:::=i MEMORY a. You can store something in each drawer. b. You must examine a basic storage unit when looking for something -- in the chest this unit is a drawer1 in a computer this unit is a location (word). c. You refer to these basic units by numbers you tell someone to look for something in the 3rd drawer from the bott:Q.m1 you tell the processor to look for something in location 3. In a computer, the numbers of the locations are called Address numbers begin with zero as shown above. addresses. 4 Each location or word in a PVP-15 is partitioned into small.er subdivisions cal.l.ed bi ts. --:Bi.ts·~ are subdivisions which have binary values, either 1 or o. Locations subdivided into bits are like drawers partitioned into small slots. To examine a bit 0 you must first look at the entire locationJ to look into a slot you must first pull out the entire drawer. 0 1234 5 6 7 8 9 l0lll2l314151617 LOCATION The bits in a location are al.so numbered beginning with zero, but these numbers are not generally referred to as addresses. So you may imagine memory as a chest of numbered drawers, each containing numbered slotsB or you may simplify your model and imagine a matrix of m numbered locations, each containing 18 numbered bits as shown below. m-1 m-2 m-3 • • ............................................ • """"'..................""""'........._m!lm..............................lllld-..e.,...-~ • • • • ... ...... 13 .... 12 11 10 7 6 I 5 4 .... 3 2 1 0 0 1 2 3 4 5 6 ±1ID 7 8 5 9 ~ ID 11 12 l3 14 15 16 17 The PDP-15 has an 18 bit word. The bits are labelled from left to right, starting with 0 and ending with 171 WORD LENGTH ' oTT3456789wIT12IlNE1617 ~ most significant bit "msb'' least significant bit "lsb" Because one octal digit is the equivalent of three binary digits, the contents of an 18 bit word is often given as a string of 6 octal digits: o0 T0 20 T 4 5 1 1 1 6 7 8 0 0 91o IT 'i2 TI 14 0 1 1 6 2 Binary value1 Octal values SIGNED NUMBERS 1 1 1 0 0 1 0 .1..JL..L 15 16 11 000111001110010101 071625 Words may be looked at as instructions or as data (numerical values). When viewed as numerical values, numbers are usually looked at as being SIGNED. The sign of a number is determined by the most significant bits If MSB=O, the number is POSITIVE. . MSB=l, the number 1S NEGATIVE. 6 5 EXAMPLES Positive numbers -271350 000 001 101 110 010 100 OR OR 000 000 000 000 000 001 OR 000001 000 000 000 000 000 000 OR 000000 010 111 001 011 101 000 015624 Note that "0" (zero) is considered a positive number because bit O, its most significant bit, is O. Negative numbers -101 111 001 100 010 001 111 000 000 010 110 011 111 111 111 111 111 111 100 000 000 000 000 000 OR OR OR 571421 OR 400000 700263 . 777777 Range POSITIVE NEGATIVE 000000 777777 777776 •• • 700000 • 000001 000002 ••• 100000 • •• • • 200000 •• • 300000 600000 •• .. •• 377776 377777 7 • 500000 ••• 400002 400001 400000 . COMPLEMENT NUMBERS All negative numbers on the PDP-15 are expressed in COMPLEMENT FORM rather than sign-magnitude form. sign magnitude +5 000 000 000 000 000 ·101 -5 100 000 000 000 000 101 OR OR 000005 400005 There are two forms of complement numbers used on the PDP-151 l's COMPLEMENT the l's comp1ement of a binary number is the result of inverting each bit position. ~· number 010 101 001 000 100 011 l's complement 101 010 110 111 011 100 ~ OR OR 251043 526734 that when you add a .number to its l's complement, the sum is1 777777. OR 111 111 111 111 111 111 Hence, an easy way to compute the l•s complement of an octal number is to subtract it fro~ 777777. 777777 - 251043 526734 2's COMPLEMENT the 2•s complement of a binary number is the result of adding "1" to the l's complement. i.e. (the 2's complenient) = (the l's complement) + 1. number 010 101 001 000 100 011 l's complement 101 010 110 111 011 100 2•s complement 101 010 110 111 011 101 ~ OR OR OR 251043 526734 526735 that an easy way to compute the 2's complement of an octal number is to subtract it from 777778 or a similar value value where the 8 is in the rightmost non-zero position of the number being complemented. 251043 777778 BUT 251040 1131ao -2'!;!9040 -251043 526735 526740 when you add a number to its 2•s complement, the sum is1 000000. ~that 251043 251040 +526735 000000 +526740 000000 8 SOME CONSEQUENCES 1) There is !lQ difference between the 1'2 and 2's complement representation of positive numbers. 2) There is a difference between the l's and 2's complement representation of negative numbers. Positive Number l's Complement 000000 000001 000002 777777 777776 777775 •• ••· 777776 •• • 077777 100000 100001 700000 677777 677776 700001 700000 677777 • • ••• 400001 400000 •• • • • 377776 377777·· ------ ' 2•s Complement (-1) (-2) -----777777 • (-131,071) 400002 400001 400000 ' ·217 2i' Note that the complement of 400000 is 400000. · 400000 (-2 ) is r9o negative a number to have its complement (2 ) represented in 18 bits. The largest positive number which may be represented in 18 bits is 217_1 or 377777 8 or 131,071 10 • Zero 0 1) There are two forms of zero in 1•s.complement1 000000 and 777777. 2) There is only ~ form of zero in 2•s complements 000000 (777777 is a -1). 9 MEMORY 128K 77777 BLOCK 96K 3 BLOCK 2 7CXXJJ - BK 67777 24K 64K BLOCK 20K 32K BLOCK 0 ORGANIZATION P~E 7 - BANK3 PAGE 6 60CCX) 57777 50CX)() - 7777 PAGE 5 - YXJ:X) - 27771 - BANK 2 PAGE4 I 6K 4<XXXD 37777 12K - PAGE 3 - PAGE 2 BANK I PAGE I 4 K 100.QO_ 07777 NOT.Ea BANK 0 PAGE 0 location~ ,tn ea~h page. Each page starts with an address that is a multiple There are 10000 (octal) of 10000,. There are 20000 (octal) locations in each bank. Each bank starts with an address that is an even. multiple of 20000. · DOUBLE PRECISION ADDITION I I ~ I I I I Program to illustrate the use of two's complement addition in performi~g a double precision add. Two words are used for each DP number.. The first word of the pair contains the sign and the most significant part. The qecond word contains the low order part. It is important to note that all bits of the low order part are numeric bits, i.e., the sign bit iS"Considered as a numeric bit, not as a sign. For illustration . purposes, assume that the word size is only six bits. Some DP numbers follow: I NUMBER HIGH LOW . I I I I 0025 0063 0377 ODO 000 000 000 000 011 010 101 110 011 111 111 i ' -1 111 111 111 111 -100 -40 111 111 111 111 000 000 100 000 I The program to perform DP addition follows: CLA!CLL TAD AL TAD BL DAC CL CLA GLK TAD AH TAD BH DAC CH I EXAMPLE 1. I I 127= 306= \( Add I Add high order Add in LINK Result I f /Clear AC and link /Get low half of A /Add low half·of B /Save low half of result /Clear AC, but link remains /If addition of AL and BH caused a carry, link=l /and the one is placed in AC (17) so that it can /be added to the high half. If no carry, AC 17=0 /Add in high order parts of the two numbers DP ADD 127+ 306 = 735 HI'GH LOW 001f001 000 011 010111 000 110 low order I EXAMPLE 2. 011 101 Link = 0 000 100 0 000 100 DP ADD 1254 + 2362 = 3636 HIGH 001 010 010 011 I I 1254= 2362= I Add low order I I Add high order Add in LINK 011 101 1 RESULT 011 110 100 101 = 435 LOW lOllOO 110 010 011 110 Link = 1 '\ 18 011 110 = 3636 CPU CENTRAL PRQCESSORa· the Central Processor Unit (CPU) functions as the main component of the computer by carrying on bidirectional commwtlcation with both the memory and I/O Processor. Provided with the capability to perform all required arithmetic and logical operations, the central processor controls and executes stored programs. It accomplishes this with an extensive compiement of registers, control lines, and logic. m. 6 bits long Holds Bits 0-3 OP Code 4 Indirect bit Index bit 5 MO------. Contains all INSTR information from CPU ·to REGf!lnll data lines All words read from m.emory Into CPU enter MI first (data and iastruetions) MEMORY INPl.tT REGISTER PC Contains address. in memory of next. instruction to be executed -------t=.1 ~ Temporary PROGRAM DATA SWITCH P1:£41STER ona&ND tNOEX REGISTER COUNTER FROM COllSOl.E ftNSOLE -Oata Switches •Address Switches ADORE SS Rt:GISTER -i.;ights ...Operate Keys ~ .~'Tw-+-~~~~~-----:__•_u_is_TE_•__....,.._ storage of the operand address for all MRis INPUT GATING ARITHMETIC UNIT y r-----------, STEP A:c------- COllllTEn I I I I Re'tains results e arithmetic/logical I . Used to set a limit on operations with the Index Register or for storage MULTJPLl(fll QUOTIEllT operations btends capability of processor to do hardware multiply, divide,,normalize Program cont.roll I/O transfers go through the AC and shift l bit extension of the AC CPU Options -Memory Protect -Memory Protect & Relocate -Power:fai1 19 INSTRUCTION SET MEMORY REFERENCE 00 retrieve enter 60 modify contents of memory locations OPERATE 74 -operate on link and ACa -clear -complement -rotate -skip OPERATION CODE 009-609 -shift INDEX 72 -operationsinvol vin~" the XR -normalize th«! LR EAE 64 -multiply -input/ output transfers -divide INl)EX BIT* (I• I NDEXEDl ,-A-, 7 8 9 IND I REC! ADDRESS (1 INDIRECT) j 10 ! II 12 13 J 14 j 1s j 1s 17 OPERAND ADDRESS *USED AS A TH I RTEENTH ADDRESS BIT IN BANK MODE Memory Reference Instruction Word OPERATION CODE 645= EAE 705 = IOT 72e =INDEX 74e •OPERATE 0 2 7 8 9 10 II 12 INSTRUCTION CODE "THESE BITS USED AS PART OF THE INSTRUCTION CODE IN EAE AND OPERATE INSTRUCTIONS A!.!f1mented Instruction Formot 20 13 I 14 I 15 16 17 PAGE 1 MACRO Ali!MBI.¥ LANGUAI! IXAMPLI MCRO!>C Sl'C • T XTl.E MACRO AS81MlH.. V 1.ANGUAll! f!x.AMPI.! I I I 1 AIS I .L.OC UlrB 00100 I OJ0U10 QllU!Bt e00u10 800UJ0 180102 0001013 START JMP 1 JMP START START I 10u.1a 140103 OtllJU14 101015 00Utl5 20010~ I.AC DZM 14CIJ0111 DZM IUHIJ103 001~7 018lH 0! DZM DZM DZM .oru DZM OZM I /YAPUAILll 001UJ 110111 liJOJUR 00U3 L.AC CNT# OAC CNT# 20Jt02!1 041025 LAC CNTIUI DAC CNTI 21101e 04UJ28 I 00114 IOJUl~l l[lj 1115 20109• 00115 00111 00UUI ru1111 A a1nma2 Cl I.AC TAFJLI L.AC I.AC CTABL.! I.AC CA l0U13:5 L.AC CC 2010~• cc rao.1103• IUJ0UJ0 00UU! IL%T!RAL.8 8•1111 201035 I LAC ca /tNDIRICT 11.1012~ IPJ0UJ0 00124 220100 00UH'5 221ll'H 1n12a 01U~eJ 12UJ05 s001ru1 800 UJl! !IHU31 121038 IUJS21 I.AC U.111 1.,,ACw 111111' I.AC• START•I JMP• Al JMP 11111 JMfD START JMP• CUii I .!J!CT 26 MACRO A!SEMBLV LANGUAm! !XAM,L! MCROEX SRC l'IAGE I I eu.10s 21111114 At 01tUC!ll QJ01CU14 8•110 I) tUr/101 tHlfU00 0018084 0UH!3 210100 01011 PJUH~ 200114 101121 UJU.131 0111114 20UJ40 !U0U5 IU020 001008 IUU030 HHUU! '0CH 1 lf! 20fUU.I 1021 201041 1211005 M OJUHU5 Q.1112112 MM lJ muue 9J SllJ1,, '1l lU02~ IHJ10t m 001042 01024 0tUJIUHlt tH022 Cs4 c I.AC 0Ut32 10033 00112• tU 035 01036 IU11.131 00HH14 IHl01H4 0011.1111.10 IU.111 IUJ 011.10220 0U!40 001017 010•1 0001 UJ 711874 0Ul34 01042 e+c•• ca+t•A L.AC C!# I 0 eaue I TAISLI 0 IMULT?•Dl,XN!D SYMBOL /UNCl,!NID SVM90L D DD e L.AC 1..AC eJ0.11110 HHHHU 9 L.AC e l..AC A L.AC I 01031 .L.OC UUlS A a CB A•B+C A•CB+C' ,!NO START •I. •L. •L. •I.. *L •t.. •I.. •L •L •I. S?Z!'.•01044 4 !AAOR L.XNl!S 27 PAGE 1 PSEUDO OPS !XAMf'L.!S PSEUDO IRC .T%Tl.I! Pl!UOO OflS !)CAMPLIS I I 1110100 ,ABS ,L.QC 101 I 00 l fll!lJ I.AC 11111 2lUll0(11 I '*******•************************ ,.................•.•.......••.•• I. IU:PT I 00UH 00l01 00Ul3 00Ul4 11Hta!5 00108 00117 PHlll 11 00111 7410101 741010 1•1mu.1 7421U0 1•1111 140UI 141114 141UU5 1411JU6 tR •R •R Z!RO •R •R •R •R ,R!fitT 4 RTL. • REPT 19, 1 DZM au,, ,................................ ,.....•...........•..........•... I IRlll~YlNG I IUl'I' OJlll 111 00117 llltltUJ SU,I'! I 00110 Ql0128 alL.OCIC 9 " lfJIHH0 TAIL.I (ii 18001CIJCll TABl..!I flJ eHH26 ITDR•G! .Loe .•9 I ,/CONDlT!ONALI ................................ I ,...........................•...• I IHHIHHH2 0ru 127 Bia .1,01, • L.AC A+·1 ·•!NOC .ZPPOI B TAD 341113 ca ,INDC ,IPAllNG •....................•..••....•. TMI LllTINI ,..•..•.•.......•........•.•.•... I I ,EJECT 28 Pl!UDO SRC PMU: PSEUDO OPS !MiMPLIS I /tttt•t•t•t•t•ttttttttttttt•*tttt /CHANGING TM! L.OCAT!ON COUNTIR •••• l••····························••L. I .1..ac tel50 !1.11050 ,l.AICI? .....•.•........................ I AND ,S?~ST I••****************************** mUJt!I 4flJ511UJ 01051 01062 C!l l 0fJ3 010!4 2111lf.I 4fUH31 5184ltl\ 102931 0UHH'J iHl132 01996 0UH51 0UHJ0 01081 I Ml!S8 aAIC!J IA 8"0K!Nl«i!,«ll• ,ASCII I UP M!llAllAI 4284?1 340815 4UJ0IU1 00tU:l00 I 4181850 M!Slt OU862 OJ! (1J53 0UJ84 3141fHl 1UfUH5 HUllHJI ~.umee IUJlll tHll83 NAM!l 411110 M!Slt 3$1944 I 0UIS7 tU 070 IU071 3114HI LU071 01e21s 0Ul13 GU.If.Ill 1111074 01075 01076 fU017 418151 33054 .. (11110!8 111203 I I NAM!I I 11!883 ,IJXIT •ABCtlBt ,AICl! 'AICtt .l!XBT tA8Ct• 1AICtI iAtl•iCtlll 31~111 0HHUJ0 I OJ111H ,ASCI! •ABC113' NAM!a 9UJ25! .aixeT 'AB•/C1231 I I••••••****'*******************•* ,...............................• /PAI! IJICT ALIO CAUllD IV ~T!TL! I 29 Pl!UDO OP !~AMPLll••TMll PAGll MACROS PSEUDO SRC .TITLE Pl!UDO OP !KAMP~El••THIS FAG!I MAC•OI I I I••*******••••••••*•*****•******* ID!~INlNG A MACRO l••*************•~•••*•**"'******t I .DIFlN IUB A,e,c 1..AC IS TCA TAO A DAC C alNDM ,ICALL1NG ................................ A MACRO I ,.............•.........•........ I tU101 11 Ut:S 111112 14003! •G IUUJ4 340U7 040110 •G ru tm5 I.AC IUFF .,,, TCA •Ii TAO !UFFI DAC TABLE I I.HU.JI 01 UU' 011 tm PH1U 201124 14tHHH 341111 14!U21 01114 01115 2CU125 141031 34U26 04S122 TAO BUl'Ff! •G OAC TAILl•i •G l1UH20 P.H! 17 1 •U!H/.131 01120 01121 3413U1 1!141121 sue CMll81etM!l8~TA9L!~I I.AC CMlll TCA •G tG •G •G TAD CMISS' OAC TA!l..l+I I ID:l.11'5 IUB BUFFloC8,TA8L!•1 I.AC US TCA t>G •G I CHU.2 PHU3 sue eu~F1,eu,F,TABL! IUB 8U,Fl1TAILl1T!~P# •G LAC TAllLI TCA it#G DAC TEMP# •G •G TAD 8U,,I I IHUUUJ 111123 ru 1124 11U!l!S IU UUS 0000112 .,, t. riJfHJ!ll015 •I.. 0!1090 •I.. •I.. tUZE1111UU!1 fUIUU!Hi! 30 •••••••••••••••• w • • .,, SUM GROUP .. t ·····-·········· TMERE ARE 4 PROGRAMS IN TH!S l!RIEI~ fW!V OPFER SCH.UTJON8 !EACH USING A Oll'P'ERE~T ADOR!SS?NG MOO!' TO TM! SAM! PR08le:P4: TABLES A, 8 AND C EACH CONTAIN fh!tONI WORD !NT~l!S. ADD CORRl!SPONDtNG !NfRl!I FllHJM TA8LEI A AND 8 AND STORE TM! R!lULT ?N TM! CORRESPONDING ENTRY IN TABLE c, I.!. C(ll I A~I' + B(t'~ . 00 THIS WITHOUT CHANGlNm ANV OF· TH~ YA~UES IN TABLES A AND I. THESE PROGRAMS WER! WRITTEN TO %LLUITRAT~ TM! VARIOUS TYPES OF ADDA!SStNG AVAILABLE ON TH! POP•tS AND fO D!MONSTRAT! CERTAIN MAC~O LANGUAG! EL!MfNTS AND ASSEMBLER D!RECTIV!SI •STATEMENT FORMAT tTV•E OF BINARY OUTPUT TO B! G!N!RATED .ABS .ABSP •S!TT?NG THI! LOCATION COUNT!R .L.OC •G!TT!NG H!ADfNGS ON Al8!Mf!LV L.tlTINGI .TtTL.E . ' , .-. ~ - ,. tiSP!Cil'VING WHETHER NUMB!f'l-1 A~E OCTAL. Clit D!ClMAL .oe:c .OCT •IU:SIUIV?NG .. 81.,JiCNS OF MIMOR¥ FO~ 9TOIUIH .Bl.OCk tVARIABL..ES USING· # •i..!T!FULI USING· 0 ce.;,' Cl•l5' •DEFINING TK~ YA~U! OP IYMIOLS UStNJ'f THI SVMltU• .AS. A L.AB!I.. (2•13) USING D?RECT ASSXQNM!NTS CG!•USl •ITOR?NG VALUll lN sueCElllV! LDCA1tON8 ... •l~!C?FVJNG THI PMVllCAL ENC CF P~OGRAM .!ND THE AIOVI; J;S JUST A S!L.f!CTEO LIST 0111';-·'AIAIQL-V t,.ANGUAG! !1.IM!NTS AND ASSEMBLER OIRECT%V!8 CALSO CAL.LED PS!UDO OP!RAT?ONS,. MAKE SURE YOU ARE FAMX~IAR WXTM TH!M. !AC~ TO~IC xa DISCUSS!~ ?N TM! MACRO MANUAL START?NG CN THE PAQ! G!VEN t~ PAR!NTM!S!S~ PAGE 1 SUM SRC COMMINTARV ON SUM .TITLE COMM!NTARV DN SUM I I I I I •*···········~············ • POINTS TO SI NOT!O • • • •••••••••••••••••••••••• I I l•t. NOT! TM! .TXTL! 11ATEMENT AND WH•T IS PR!NT!n AS IA HEADER., I . 1•2. THE FIRST COLUM~•?VEI LOCATIONI~ NOTE T~AT TM! IL.OCATlON COUNTER B!Gl·NS AT· UUJ. c.as:CAUIE 0, ".Loe lll) I 1•3. TM!.· "DAC COUNT" !NITFtUCT?ON llf.lf'lftENC!I '90CAT!ON H / 11 COUNT#.11 %8 US!O lN AN ?IZ !NSTR'UCTIDN JN LOCATION 111"; /T!ollS INSTRUCTS THE AS,SEMBt,;!A TD Sl!T UP A LOCATION tonru /MAV &E REP!RREO TO Al·"COUNT"• THI ASS!MBL!R SET UP /LOCATION 133. (COUNT rs A .VAR?AIL!) I - 1•4. VALUES ARE SET UP !N &!QU!NTtAL 1..0CATIONS POR IT ABl.ES A AND 8. ?N !A·CM CAS! THERE ARE ACTUALL.¥ 15 /STAT!M!NTS ON ON! LIN! CSTAT!M!NTS AR! TER~lNAT!O ev /S!MI~COLONS ANO CARR!AGI ~ETURNI)• NOTE THE SPAC! /BEFO~! !ACM VALUE. I /.t3. NO NEID TO ACTUALt,LV P~~C.I AN;,¥ i~·LU!I ZN /TAii.i C••JUST TO R!IEIVI iTOAAj!. t•'ACI!. Tio!! n. BLOCK IHAS TH! El'F!CT OF ADDING ! TO THE LOCATION COUNTl!R~ /NOTE TM! ADDRESS OF LOCATION "INDl.OC"• I /fltJ. . . THI ".!NO" STAT!MINT !NO!CATIS TH! PHVS!CAl. l!Ntl /OF THE PROGRAM AND MUST B! TH! V!RV ~AST ITAT!~!NT IIN A PROGRAM~ NOT! THAT IT lS BELOW COMM!~TS. /WHAT DO YOU TMJNK WOULD HAPP~N ON TM! ~!8T!NQ tF THE l".EN0 11 STATEMENT APP!AR!D BEFORE THOSE COMMENTS! I . 1•1. NOJE T~! US! 0, 'H! "•EJ!CT" STATEMENT (SO THAT /THE t..%ST1NG WlL.1. CONTINUE ON A F~l&iH PAGE' ti NOT /NEC!ISARV BECAUS! 4 •~TtTL!" STATl~INT ALS~ IGEN!RAT!S A FORM F!!D WMICM CAUl!S TH! 1.%8TlNG /TO CONTINUE ON A FA!SH PAG!. I "'2iO ~.~.:· 1 SOLUTION USES AN ADDRESS MODI,?CATION T!CMNIQUF. SPC SUM I .TITLE SOLUTION USES •N ADDRESS MO~tFICATtnN TE .•as /ABSOLUTE PROGRAMf LOADED SY TME IABOLUTE LOAO!RJ TO RUN IN BANK MnOE /SET LOCATION COUNTER TO t0~ .Loe 10m I tll01 ~0 i'l~1~1 ~01912 ~~1~J 171113 040133 200113 !40120 START 15!T UP N!GATIV! COUNTER nF ~e IAS !ACM TABLE MAS 5 !NTRtES. I.AW •f5 D·AC COUNT I A/A BB ADDITION /CF ENTRIES I.AC A TAO S l~!R~OR~ OAC C llTOR! R!SUkT IN C, ISZ AA ISZ BB ISZ CC /SO THAT THEV REF!R!NeE THE ISZ COUNTlf IARE W! DONE? JMP AA INOl••l!CAUS! W! DIDNiT SKIP IGO 8ACIC FOR MORE. · HLT IV!SI DONE, 11NOT!1 !, TMt8 PROGRAM 15 TO BE /RUN AGAIN AA,88 AND CC SHOULD IB! R!XNITlALlZ!D (CAM YOU THINK /OF WAVS THXS COULD 8! OONE!l I CC I lilQ.11CJ!5 r.ill?t 1 '716 440102 440103 l"llil' ~1 440104\ /MOD?FV LOCATIONS AA,89 AND ce /NEXT LOCATION IN ·tHE TABLE~ I 440133 I !110111 I /SIT. UP TABLES I 0\0 t13 tllrf1U4 111~ 115 ~~1,16 0000m1 0000!02 ~l.?117 00P.l~Pl5 fnQ! 1 ~3 Ia00111Cll2 00121'1102 0001i!02 00flJel02 "I~! :!'4 000002 ~"' 1 ~2 11 2F e 2r 21 2r 21 2 ~J 4, 5 000003 000012!4 !;!0!120 ~1~UH A /JUST RESERVE SPA.CE FOR TA8L! C I C . • BLOCI< e I ENOL.OC 0 I ITMIS IS THE !ND OF THE PROGRAM. ITHE~!FORE, THIS IS WH!R! WE WANT TO PUT /THE II. END II STATEMENT~ I 000100! SIZE•~llll 34 .ENO START NO ERROR LIN!S PAGE SUM1 SRC COMM!NTARV ON SUM1 ,TtTL! COMMENTARY ON SUM! •••••••••••••••••••••••• PO?NTI TO Bl NOTIO • •••••••••••••••••••••••• I I * I I /t1, THIS PROmRAM USES· ?NDlR!CT ADDRllllNG THROUIM /LQCAT%0NI AA.BB ANO cc~ LOCATION AA CONTAINS TH! IADDR!ll 0, TABLI A~ NOTE THAT TMll %1 ACCOMPL!IM!D /llMPLV ev P~AC%NQ TH! 1¥MBOL "'" XN TH! OPERATOR /,%ELD. WHEN TM! ASSIMSLER !VALUAT!S TMIS STATEMENT, IIT LOOKS THNOUG~ XTI S¥~BOL TAIL!I POR TM! VALU! OF /IVMSO~ "A" 1 tt•NOT! THAT TM! YA~UE OF TH! SY~BOL "A" T~! LOCAT!ON !T NAMES•••• /NOT TH! CONTENTS TM! ~CCAT!DN IT NAM!S, THIS 11 IA VERT IMPORTANT O!ST?NCT!ON!l I llMILARLV, LOCATION 88 CONTAINS THI A~DRESI OF ITABL! I l!CAUI! TH! IVMIOL "B" 11 G!VIN AS TM! CONTENT~ /OP LOCATION es. TH! VALUI OF TM! IVMBOL 9 II TM! /ADDRlll OF TM! ~OCATION tT NAMIS, 111 1 NOT T~E CONTENT 10, TMAT LOCATION. S!M!L•~LV POR LOC•TION CC. TM! /CQNT!NT OF ~OCATlON CC !8 G!Y!N Al "C"~ TM! VA~UE OF /T~E SYMBOL nett lS 130, THE ADD~!SS O' TH! LOCATION /IT N•~!S, M!NC!, THE CONT!NT OF ~OCATtON CC !9 t3P, 1%8 li3e TM! ADDR!IS OF a, I 1•2, NOTE TMAT DATA !S SEPARATED FROM TM! 1NSTRUCTtnNS /WHICH OP!RAT! ON THI DATA. W! DO NOT WANT TOUFALL INTO /THE DATA AND ITART EX!CUT!NG !T 1 WHAT ?NIT~UCT!DN WOULD /W! HAVE IF WE "'!~L INTO" ANO TRt!D TO !~!CUT! LDC 113• I NOT! TH! UI! OF "COUNT" AS A VARIABL! 1 CWMAT IS IT. IXN TM! USE OF TM! IVMIO~. "COU~Tn THAT MAKES !T A I•~. IA VARlABL!t)~ WHAT LOCATION ti 81T UP BY ~H! ASS!MSL!A 180 THAT IT MAY BE R!F!R!NC!O USING •COUNT"! I 1•4, NOT! THAT WI R!l!~V! IPAC! FOR TAILE C !VEN THOUGH IIT II AT THE V!RV ENO OF TMe WRITTEN P~OGA~M~ WMAT /PROBLEM WOULD WI RUN INTO !F .W! DID NOT RE&!RV! THIS JSPAC!t C~XNTI 8!! NOT! •8) I l•Se THINK ABOUT THE "~AC• AA~ lNITRUCTtON tN LOC 101. /THII SAV81 LOAD TH! ACCUMULATOR WtTM TM! CONT!~T OF ITH! ~OCATtON POINTED TO av LOCATION AA. T~! FIRST TIM~ ITHRU, LOCATION AA CONTAINS 113,TMI ADD~EIS OF THP. FIA&..._. /LOCATION XN YAB~! Ae IN ~OCATlON 119, TH!~! JS AN JMISZ AAff,l,I, tNCREM!NT THE CONTENT 0, ~OCAT!ON AA 8¥ 1 1(10 THAT AA NOW 'OINTI TO TH! NEXT ENTAV l~ TASLE A,, /THUi, TH! N!~T TIM! nLAC•AA" 18 !X!CUT!O, TH! AC IS ILOAD!D WlTM TH! NIXT INT~V 'PAOM TAIL! A, TMJS ~ETHOD Ill V!RV NXC! FOR IT!PP!NG THAOUIM TAl~!I, NOTl1HOWfVER, /THAT W! HAVE TO UPDATE ~OCATtON AA OUAS!LVES WtTM TH! l"llZ" tNITRUCT!ON 1 BY US!NG AUTOa!NCREMENT ~!Q!STE~S IW! CAN GET AAOU~D THIS~ *** I!! SOLUTION IUMt, I 34 SUMI SOLUTION USES INDIRECT A06RESl!NG SRC .TITL! 80~UT10N USES INDlR!CT ADDRESSING I I I START 0iH01 '111113 041t:Se 0011212 1118125 Nl!)(T 00U'l3 lfHH1214 Q.160127 00100 I 380UH'I I 00109 00Ul6 !HUl1 44!U25 001u.1 4401:!5 tUJIU02 440125 441U 27 L.AW •5 DAC COUNT# IS!T UP A COUNTER OF •5 LACt AA TAD• ea DAC• CC lbOC AA CONTAINS THf AD0 1 10~ A~ ~AC• AA G!TS TMI ICONT!NTI DF A IN AC, IETC. f'QR BB l!TC. ,OR CC 11% AA 181 BB tSZ CC llNCR!M!NT TM! !NDl~!eT IADDA!S~!S OF AA,BB /AND ce. XSZ CCIUl\IT 1111 ii'' AL.I.. OON! 1 I 00111 001112 00U:S 00114 "101115 Ql01US tUH 17 tUl 120 00121 0tUIQ!03 HlfHl0~ 000005 0ru100s HJ01 l~ Q.HB!U 21!1 000130 001 :.HJ u t• 3r •• 5 0HHHJ5 011GHl!2 011H23 0fil!124 ML. T '140040 0fUH801 QUl0002 00flHHl:5 IHHHl0'4 ia0122 lll!H25 00128 00121 JMP N!XT AA A 88 8 cc c c .. 81..0CI< 5 I I 0001!UI Sl?E•OllU:!I .END START NO !"ROR LlN!S 35 /NOT OONl 1 G!T N!XT DlTA. IA~L OON! 80 MALT~ 1 SUMS! SRC I I I ~ * I I I I I POINTS TO 8! NOT!D 1•1. NOT! T~AT !~ THIS ~~OG~AMe DATA APP!AR8 ~!FOR! TM! II~STRUCTJONS IN THE P~a~~AMm TM! IM,ORTANT THING II TO ll!PA~ATI TH! DATA 'RDM TMI INSTRUCTIONS~ BUT IT DO!SN•T /MATTIA WMJCM APP!A~I Ft~STe I 1•2. NOT! TMAT T~! Fl~ST !~!CUTABL! bDCATtO~ IN A PRO• IG"A~ IS NOT AL~AVS IN TH! F!~ST lOCATlON US!D 1¥ TM! /PROGRAM. TMAT IS§ TH!ft! CAN B! A DtFF!~!NCE B!TW!!N TH~ /PROGRAM START lOOR!$$ ANO TM! P~O~RAM LOAD AOD~!Ss: /IN TMll CAS!s TH! P~O~RAM ITART ADD~!SS ti 1t1a WH!R!A~ IT~! ~ROGRAM LOAD AOD~Eil II 110~ I 1•3. THIS PROGRAM MA~!S USE OF AUTOalNC~EMINT AOD~!SSIN~1 f WITM ~OCATIONI 110 11, ~ND 11~~ TO ACCEI$ S!QU!NTlAL ILOCATlONI IN TABLES A,S ANO C ~!8~!CT1~EbV CL~C•t0, /TAD• 11,0AC~i 1~~~ I THll MEANS THAT W! W~NT TO ~OAD LOCATION i0 WITM A IVALU! l LESS TMAN THE START AODR!S$ OF TAIL! Aa /bOCAT?ON 11 WJTH A VALUI 1 LEI& THAN TM! ITA~T ADDRESS ITA8~! e ANO LOCAT!ON 11 WITM A V~bU! 1 ~Ele THAN T~! /START ADDR!IS 0, TAa~E c. NOTE THAT THE "LAC (A~ttt IAND "DAC 1mn INSTRUCT!DNB A~! USED CLOCATIDNI lit AND 1122) TO DO T~!S~ TM! UI! OF ~(A~t" R!QUllTI THE ASS!MSL!~ TO IET UP IA LOCAT!ON CONTA?N!Nm TH! YALU! ffA@in, TM! ASSEMBLER I ICAN EVA~UAT! !~P~!ilION~ AND 00!1 10 MOVING FROM L!FT q a~0~t ® ' ' • LOCATION i!8 ?I S!T UP TO ICONTAlN TH! 17. TH! INSTRUCTION ~LAC (A~l" JS ASS!~BLED IAS a0e13s (~O~D TM! ACCUMU~ATO~ W!TM TM! CONTENT OF /LOCATION 1~8,l~!., TH~ 7Plm I SIM%LARLY "LAC f!mi" LOADS TH! ACCUMULATCR WITH 1"104" AND "LAC cc~t~ LOADS TM! ACCUMULATOR W!TM "lit". /TO RIGHTeaeA•i I 1•4. TO ITOR! TH~ "''" XN ABSOLUTI LOC~TlON 10 A l"llAC 10" INSTRUCTION II USED~ WDU~D W! eE LOADING TH! ~1 11 7711 INTO ABIOLUT! ~QC,TION 10 IF TH! " 0 LOC" STATEMENT IR!AO n,LOC 2~000" ~ATHI~ I 36 TMAN "~LDC 1mm"t IUM2 PAGE SOL.UTlON U8!8 AUTl•tNCRIM!NT ADDRESSING SRC .TJTL.! SOLUTION UllS AUTl•INCR!M!NT AOD~!Sl!NQ I I I 1 1210 l HI ABI .1..oc UUI 29 ., u fJJ 3 I UH!aOJ 130UH 11801 l 11111002 10UJ2 ·80fHJ03 fH!l001B• 0010~ CIJ0i!34 01105 A eeee0e 00106 00UJ1 IHUlfUJ2 1118111214 IOJOHHll lllQJ 110 0Jrll0005 . 00111 0001210~ OJIH 12 c .SL.OCI< fJ I 0011,. 0012121 11'1113 00121 amruae 1110122 START 0411135 I.AW DAC I &.AC 040110 DAC •9 COUNT# /PUT •9 INTO COUNT CA•1 ITH?l."ITHOD MAK!8 UI! OF /AUTOe!NCR!MINT R!GJIT!~S UJ I 00123 2fll1~1 00124 0411HU l 00UHI 00U?6 201141 0410112 00127 10130 2110111 180131 1880012 01132 440139 llHH3a 811117 JMP lllH !4 741HJ40J ML.T fUHUU' el!ND lllU.177 •L 118104 •L.· 11111 ll •I.. StZ!•llfU41 NO ERROR 1.IN!I I.AC CB• l lt IAUTO•!NCR!M!NT 18 A PR!• I.AC CC• 1 ti IJNCR!~!NT, !ACM 0, T~! /R!G!IT!RS MUIT BE LOAD!O WITH I DAC I ~•0111· NXT L.AC• 10 TAD* 11 DAC• 11 %1Z COUNT I l!l;ll AND ll. SlNC! DAC N)CT /ONE Liii THAN THE STARTING AOC I I /TO ASSURE THAT THI LOADING O' JAN AUTO•INCR!M!NT ~!QlST!R W!L IWORK IN ANY llAG! OR BANK, TH! ll~ITRUCT!ON TO LOAD LDCS 1011S /ANO ti IHOU~D 8! OF TM! FORM I l.~C CA•t I 1rat31 00137 00140 ITART 37 DAC• Cl I - ·~ ::-\'\·!;/ ,, r~'t\ . ,t\.t.ts. i·ht.~r. ;;r'.t;'~{~~ en .:; PAGE 1 SUM3 SRC COMM!NTARV ON 8UM3 ,TITL! COM~!NTARV ON SUMI I I I I I I I ••••••••••••••******•••• • • • POINTS TO I! NOTIO * * * ****•******************* 1•1. NOTE TH! us1 OF ",ABIP". TM!S PRomRAM MAK!s u1~ ur IIND!X!O ADDRESSING AN0 1 THERIFOR! 1 &MU8TI 8! !N PAGE MOD! I NOTE TM! US! 0, TMI "08A" INSTRUCTION~ ALTMOUGM IA "OBA" ZNST~UCT?O~ rs CONTAtN!D IN TH! PAGE MOO! /VERSION OF TM! A!SOLUT! ~OAD!R CWHICM le OUTPUT ON THE /PAPER TAPE IN FRONT OF VDUA ASl!MILID PRDG~AM), !T 18 llT%LL A GOOD IDEA TO INC~UD! A "DBA" IN YOUR ~ROGRAM llN CASE THE PROQRAM ts REITA•TID ,ROM TH! eONSO~E /WITHOUT R!LOADINI IT. ODNtT R!LV ON TH! CONIC~! IBANK•PAG! MOO! SWITCH. /ti, I I•!. NOT! THE USE 0, TH! "~DICQ AND "~OCT" ASS!M!LER /DlR!CTlV!S. COMPAR! THI VA~Ull G!NIRAT!D FOR TH! /NUMB!RI STATED WHlL! UND!~ O!CIMA~ RADIX CBASE ti,~ /WITH THOI! G!NERATID PDR T~! NUMB!RS STAT!O WH!L! /UNO!R OCTAL RADI~ f!AIE 8)~ I 1•4. NOT! TH! " 1 !NO !!GlN•t" STATIMINT~ A ":IND" llTAT!M!NT %8 U81D TO IPICIFV TH! ~HYS?CAL END 0, IA PROGRAM, A "START ADDR!SIP OR UTRANS,!R AODR!88" ~ /(THI LOCATION AT WMICH W! WANT THI LOAD!R TO ITART THT /PAOGAAM) MAY ALSO Bl l,ICIF!!O IN TH! ~!ND STAT!MENT~ /THIS 18 DON! BY FOL~DWING TH! u,!ND" WITH A IPAC! OR /TAS AND TH!N GIVING AN !XPR!SSIDN WHICH MAV BE !YALUA• /TIO BV TH! ASl!MIL!R~ IN TH! PR!Y!OUS EXA~PL!S, /WHEN A TRANS~!R AODR!SS WAS S?VIN IT WAI A V!RV lllMPL! EXP~ES$%0N••THE ~~B!~ ua~D ON TH! F?RST llXECUTABLE LOCATION, BUT THI AlllMBL!R CAN MANDL! /LONGER EXPA!SllONI~ ZN THIS CAI!, TH! IVM!OL B!Gl~ ITH! VALUE 10001 1 THIA!FORE, 8!GIN•1•11110, /THUi, IN THIS CASE, ",END !!G!N•lu HAS TH! SAM! l!FF!CT AS ",END 11010"~ I l•!J, NOT! THI !IU:fOR IUAllNOIT!C IUYIN ON TH! STA.T!MEN'r-ITO B!· ASS!MBL!D INTO LOCATION tlll!. THE "N" lNO?CATES IAN ERAOR IN NUMB!~ UIAGI. WHAT !S TM! !RROR' /MOW WAI IT HAND~ED BY THE ASS!MIL!~ (COM~AR! LOCATIONS 110020 AND 11018)t I 38 IUM3 ROUTlN! US!I INO!X!O AODR!SStNG (& LIMIT ~!G!ST!R' SRC 1 TITL! ROUTINE US!S INDEXED ADDRESS!NQ f & L!M7T 1 ABSP I I .1..oc 101u.101 i 0000 I UHIH!H3 1011612 10007, 100033 i 0CH2 12Ul00 I !!GIN OBA I.AC (9 l!NT!R PAGE MOD! PAL. /PUT 8 %N L.tMIT RfG~ Cl.. X /XR1111eJ A,)( TAD S,X IAOD~!SS OF A • CCX~)~ I 10HJ3 11500121 10004 1001'1H5 1101.?114 1 lliel0el I AA 3tU1®21 fl!l5HJ26 OAC CoX I 1 fUl!'l1 t 00Hlll 7~5001 HHH1 '140040 6tHt1004 CAI.. 15 I !U!!IHIJ182 110005 HHl001 10023 1lUt24 100215 QUUHU2 01fUH!1 000012 1m0ae .DEC ii 51 !IP l'J !B lli.UHH4 800033 \Hl0011 UJ021 10rne AXS 1 JMP AA I-IL.,. UHH2 10<U3 10014 11UH 15 10016 t0(U1 1001121 ~AC ,OCT 2, IU 111 1'1' 158 0fUJ005 c I 010000 10033 00m~~5 ·~ S 1%1!• Ul034 1 IAAOR L.IN!I l!TC 11 /!TC, l!NCR!M!NT AND T!IT XR /)(R c 1.R IXR1LA111 W!tRE OONEl VIA CO~IOLE. IR!TURN TD MONITOR IBV HITTING CONSOLE CONTINUf 1 /CHIC~ RllU~T8 /PROGRAM TO ADD TWO NUMBERS, USING TAD, AND TEST /THE RESULT FOR ARITHMETIC OVER FLOW. /CLEAR THE LINK AND THE AC. START CLA!CLL /GET THE FIRST # lN. THE AC .. TAD A /GET RID or ALL BITS EXCEPT THE SIGN. AND MASK I ADD THE 2ND NO • TO BIT ~- ·.or A. TAD B /SKIP IF ZERO LINK SZL /NON ZERO LINK INDI:CATES BOTH A AND B NEG. JMP NEGNEG /BECAUSE ONES IN BOTH SIGN POSITIONS IS /THE ONLY WAY THE LINK CAN BE SET SINCE ONLY /THE SIGN BIT OF THE 2ND # IS ADDED RAL /GET RESULT SIGN INTO LINK. SZL /SKIP IF ZERO LINK JMP POSNEG /LINK=l, MUST BE +-. JMP POSPOS /tINK=0, MUST BE ++. POSNEG LAC A /SINCE ONE VALUE IS + ADD TAD B /THE OTHER IS -. CORRECT ADDITION IS ASSURED. DAC SUM /NO TEST IS NECESSARY, SO STORE THE SUM HLT /AND HALT. POSPOS LAC A /IF THE SUM OF TWO POSITIVE NUMBERS GIVES TAD B IA NEGATIVE RESULT, ARITHMETIC OVERFLOW HAS SPA /OCCURED, TEST THE AC FOR POSITIVE VALUE. JMP POSERR /IF NEGATIVE, GO TO ERROR ROUTINE. DAC SUM /POSITIVE RESULT SO SUM OK, STORE RESULT HLT /AND HALT. NEGNEG LAC A /IF THE SUM OF TWO NEGATIVE NUMBERS GIVES TAD BQ IA POSITIVE RESULT, ARITHMETIC OVERFLOW HAS SMA /OCCURED, TEST THE AC FOR NEGATIVE VALUE. JMP NEGERR /IF POSITIVE, GO TO ERROR ROUTINE. DAC SUM /NEGATIVE RESULT SO SUM OK, STORE RESULT HLT /AND HALT. MASK 400000 /ANOTHER, SHORTER SOLUTION FOLLOWS: LAC A /IF THE OR'ED SUM OF THE SIGN XOR B /BITS IS A 1, THE SIGNS WERE SMA /DIFFERENT AND THE SUM MUST BE CORRECT JMP LIKE /SIGNS WERE THE SAME LAC A TAD B DAC SUM HLT LIKE LAC A /PERFORM THE ADDITION, AND THEN TAD B /CRECK THE SUM FOR A CORRECT SIGN DAC SUM I AND (400000 /GET SIGN OF RESULT. IF OR'ED SUM XOR B /GIVES A SIGN OF 0, THE SIGN OF THE /RESULT IS THE SAME AS THE SIGN OF B. SPA /SINCE A & B WERE SAME SIGN, RESULT IS OK JMP ERROR /SIGN.CHANGED, OVERFLOW OCCURED HLT IA THIRD SOLUTION MAKING USE OF ADD IS MUCH SIMPLER. CLL /CLEAR LINK LAC A /ADD THE TWO NUMBERS ADD B /IF EITHER NO. IS NEG., IT MUST BE l's COMP. SZL JMP ERROR DAC SUM HLT /IF LINK IS SET, OVERFLOW /OCCURRED, GO 'I'O :ERROR /ADDITION OK IF LINK=O 40 ADDRESSING References: Volume 1 Processor Handbook System Reference Manual 4~3 8-1 Memory Reference Instructions specify locations to be operated on by the Central Processing Unit. The CPU computes the actual (effective) address of the location referred to by combining bits from the instruction itself and also from the PC at the time the instruction is being executed. Various addressing modes require further computations with pointer words and the index register. In the following illustrations: PC: refers to the contents of the Program Counter at the time the MRI is being executed. Instruction: refers to the contents of the location being executed. XR: refers to the contents of the Index Register. Pointer Word: refers to the contents of the location designated as a pointer word in an indirect reference. 41 DIRECT ADDRESSING PA<;B lfQDE -block PC + Instruction page-· - I ~j!N1~j~l I I I I I I I I I I I I a 1 2 3 4 s 6 7 a 9 10 11 l2 13 14 is l6 11 I I I I I I IYIYl~l•l•IYlwl-.rtl•l!l•I Effective Address NOTE that the effective addres_s is in the· same page as the instruction. BANK MODE - -block bank I fii!'f!i•~,I I I I I I I I I I I I I I PC + 0 Instruction 1 2 3 4 5 6 7 B 9 10 11-12 l3 14 l5 16 17 _ I I I I I ttl~ltlf@fltl•i•IYl!l•l•l•I Effective Address NOTE that the effective address is in the same bank as -· the instruct!q~~ · - 42 · INDIRECT ADDRESSING PAGE MODE bl~il. PC + Instruction page I l~it~I~ I~) I I' I I I I I I I I I I 0 1 2 3 4 .. _. . ' ,., . ., 5 6 7 8 .. - · Addres~:·of 9 D 11 12 13 14. 15 16 17 .. P-obit;~r - ·word b:l.ock PC + Pointer Word l fi~) I I I I II I I I I 0 1 2 Eff.ectiv.e,Address NOTE that the pointex: word is in the same.pag• a~ the instruction. NOTJ t_hat the effective address ia in the sam.!lll 'block (32K) as the instruction. 43 INDIRECT ADDRESSING BANK MODE block!l;ank PC + Instruction I ~j~ff j't'I I I I I I I I I I I I I I 0 1 2 3 4 S 6 7 8 9 ID ll ~ ll »· ~ IB V I I I I I f111,l4fl=tl,l~ltt11~1'1'1~1"11 . - ·-1 ... . ... Address of Pointer· Word blOC'k PC + Pointer Word I f,ji I I I I I I I I I I I I I I I Q 1 2 3 4 s 6 1 a 9 ron u n w n I I I lfl!l~l•lfltltlYlfl•l•l!l~l-al~I ~re ~ffe~tive ··- - Addres$. . NOTE that the pointer word is in the same bank as the instruction. NOTE that the eff.ect.iv.e address is in the same block (32K) as the instruction. . . . 44 INDEXED ADDRESSING PAGE MODE ONLY block PC + page 012345 67 1 2 3 4 6 7 Instruction + XR 0 5 8 9 10 11 12 1'3 14 15 16 1 7 1¥1~1~T~l~IE~I Ul*'?l~l¥1~1~1m~1~1 EFFECTIVE ADDRESS NOTE that the effective address may be anywhere in l2BK. Care must be taken not to address non-existent memory (this includes negative a~dresses). 45 INDIRECT INDEXED ADDRESSING PAGE MODE ONLY block page PC + Instruction 1 r~~,,~«i~'~' 1 1 1 1 , 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 I l I I I I l~l,lflYl'Jltlfl•l•lflJ l~I 1. -Addr~s ~ PC + Pointer word + XR '···' ~ .of Pointer Word I 0 If1 Ill I I I I I I I I I I I I I I I 2 3 4 5 6 7 8 9 101112l3 l4l51617 I I I 0 1 2 ,,,,,,,,,,,,,,l!lfltl•lflflil 3 4 5 6 7 rl 8 9 ]() ll l2 l3 14 15 16 17 t~1~1~111~1~1~1m~1~1"il~IE¥1ilt1~1-1 EFFECTIVE ADDRESS NOTE that the effective address may be anywhere in 128K. Care must be taken not to address non-existent memory (this includes negative addresses). 46 AUTOINCREMENT ADDRESSING PAGE MOD§ and BANK MODE address 10•17· set tii ~ i I I I I i I I I I I ] ~ Instruction I I I I Auto- 0 . 1 2 3 4 . 5 6 . 7 8 9 10 11 12 13 14 15 16 17 . ' !ggimgr10-11> 1i11IJl'l~l•ltl!F!l•l~l~l-.l•l~til,l•i + 000001 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 EFFECTIVE ADDRESS - ·-~- __ ., __ ··--···· -··-· --·-·-··--·--·· ··------···· ··- - ... -· ···-------·-"--·· ---··~------ NOTE that the effective address may ~e anywhere in 128K. Care must be taken not to address non-existent memory (this includes negative addresses). 47 1· INDEXED AUTOINCREMENT ADDRESSING PAG! MODE ONLY address 10-17 both set Instruction 4 5 6 7 8 ' 9 10 11 12 13 14 15 l6 17 0 0 0 0 0 0 tutoncre!Jten ocat1onr10-11) 9 + XR iIIIIII I OTI1 I I I I I [ I 0 - \ ~ + 000001 0 0 0 0 0 0 0 0 0 0 NOTE that the effective address may be anywhere in 128K. Care must be taken not to address non-existent memory (this includes negative addresses). 48 0 1 SUBROUTINES What: A section of code, usually performing one task, that may be called from various points of the main program. How: The JMS instruction is used to enter subroutines. Recall that upon a JMS a) The updated PC is stored at the address specified in the JMS. b) The (specified address) +l is now placed in the PC so that execution is picked up at the second location of the subroutine. Bef o!;:e JMS ~ ,100 101 JMS MOVE 100 101 PC 200 MOVE (I After JMS 200 MOVE J:MS MOVE 101 PC~201 c) Return to the calling program is effected via a "JMP*" on the first location of the subroutine. 0 MOVE JMP* MOVE Passing Arguments - very often a subroutine has to process data conUained in the calling routine. In order to th~a do the calling routine must pass this data or the address(es} of the data to the subroutine. This is called "passing arguments." There are a number of ways this can be done. AC } Among them are: passing arguments in CPU registers 1) 2) MQ,XR,LR 3) trailing arguments: JMS SUB Arg 1 Arg 2 Arg 3 49 4) Setting up a list of arguments and passing the address via (1), (2), or (3). LAC JMC (LIST ADDRESS SUB LIST ADDRESS ARGl ARG2 ARGN 50 or JMS LIST SUB ADDRESS etc. PC15 High-Speed Paper-Tape Reader Punch 1. 1 INTRODUCTION The PC 15 High-Speed Paper Tape Reader/Punch is used to input perforated paper-tape programs into core memory, or to punch core memory programs or data on paper tape. Information is punched on 8-channel fanfolded paper tape in the form of 6- or 8-bit characters at a maximum rate of 50 characters/second. Information is read at a maximum rate of 300 characters/second. The PC 15 consists of a PCOS Paper Tape Reader/Punch with interface and control logic for using the reader/punch with a PDP-15. 1.2 PAPER-TAPE READER 1.2.1 Characteristics and Capabilities Data can be read from tape and transferred to the PDP-15, using the computer hardware readin logic or using program-controlled transfers. For hardware read in operation, the hardware readin logic supplies inputs for selecting the operating mode, starting tape motion, and implementing transfers. For program-controlled transfers, the computer issues input/output transfer (IOT) instructions that select the operating mode, advance the tape, and implement the transfer. To maintain a maximum rate of 300 characters/second, a new select JOT must be issued within 1.67 ms of the last reader flag. If not, the reader operates start-stop and reads characters at a 25 character/second rate. The re- quirements for maximum character rate are described in detail in Programming Considerations, Paragraph 1 .4. 1. The reader interfaces with the automatic priority interrupt (API} facility, the program interrupt facility, and the input/output skip chain. For API operation, the reader is assigned API level 2; a unique entry address of 50 8 is assigned to its service routine. The reader contains a no-tape sensor and flag (character ready for transfer} circuits. If a no-tape condition is detected, the reader flag is set, and a program interrupt is initiated whenever a reader select IOT is given. The states of the reader flag, the reader API 2 level, PI request and skip request 51 devices are displayed on an indicator panel at the top of Cabinet H963E (Bay 1R). In addition, this panel displays the reader buffer contents and the VO address (API unique entry address). These items and the reader controls are described in Controls and Indicators, Paragraph 1 .2 .3. Reader mechanical facilities include a right-hand bin for supply for tape being. read, a left-hand bin for receiving the tape, and a feed-through mechanism to control passage of the tape into the receiving bin. A snap-action retainer on the feed-through mechanism facilitates simple loading of the tape. 1 .2 .2 Operating Modes The PC15 reader operates in either an alphanumeric or binary mode. For program-controlled transfers, the operating mode is selected by IOT instructions. For hardware readin operation, control logic in the reader automatically selects the binary mode. When alphanumeric mode is selected, one 8-bit character (in ASCII code) is read and transferred to the PDP-15 accumulator. Jn the binary mode, the reader reads three 6-bit characters (three frames with channels 7 and 8 ignored) from tape and assembles them into an 18-bit word for transfer to the accumulator. 1 .2 .3 Controls and Indicators Two front panel controls are provided for the PC15 Paper-Tape Reader: ON LINl/OFF LINE and FEED. The ON LINE position places the reader under computer control. The OFF LINE position, which is used for loading paper tape, raises an out-of-tape flag and places the reader under local control. The indicators associated with reader operation are located on an indicator panel at the top of cabinet H963E (Bay lR). Table 1-1 lists the indicators and their functions. Table 1-1 Indicators Associated with Paper-Tape Reader Indicator Function READER BUFFER 00-17 Indicates the contents of the paper-tape reader buffer. API 2 RDR Denotes API level 2 is active as the result of a reader interrupt. 1/0 ADDRESS Indicates the unique trap address associated with 1/0 devices; address 509 for paper-tape reader. RDR FLG Denotes information has been read from tape and is available for transfer from reader buffer. 52 Table 1-1 (Cont) Indicators Associated with Paper-Tape Reader Indicator Function PI RQ Denotes one of the 1/0 devices (including paper-tape reader) handled by the BA 15 Peripheral Expander has generated an interrupt request. SKIP RQ Denotes one of the VO devices (including paper-tape reader) handled by BA15 has responded to a skip IOT instruction. 1 .2 .4 Tape Formats The format of the perforated paper tapes for the alphanumeric (ASCII usage) mode is shown in Figure 1-1. In addition, tape channels are related to the PDP-15 accumulator stages. The leader and trailer portions of the tape are used to introduce or conclude a paper-tape program. Only the feed hole is punched for the leader/trailer portions. Note that each character is read by one IOT instruction. 8 z 4 6 CHANNEL Io I 1IzI3I4 Is Is I IeI l1ol11 l1z l13l14l1sl 1sl11I 1 '--.,.J UNUSEO LEAOER (FEED HOLE ONLY) DIRECTION OF TAPE MOVEMENT 9 ...................... 7 l 5 3 - 1 ACCUMULATOR CHANNEL TAPE CHANNEL 87654 321 - - - - i t - - FEED HOLE • • • • • • • • • • • • • • • • • • - ••oao•o•• -3039 ____ ...._ ) 3379 2778 READ BY ONE IOT INSTRUCTION TRAILER (FEED HOLE ONLY) ~ ooHOLE POSITION .. HOLE PUNCHED 15-0232 Figure 1-1 Tape Format and Accumulator Bits (Alphanumeric Mode) 53 The paper-tape format for binary mode using hardware readin (HRI) is shown in Figure 1-2 as well as the relationship of accumulator stages for the 18-bit word. Note that only the feed hole is perforated for the leader/trailer portion and that channel 8 is always punched in the program portion of the tape. Any character without hole 8 punched will be ignored. Channel 7 punched in the last character indicates the last 18-bit instruction is to be executed by the computer. This instruction can halt machine operation or can transfer machine control to another part of the program. When using this format, channel 7 must be punched using the alphanumeric mode. 1 .2 .5 Instructions The PDP-15 JOT instructions used for program-controlled loading of paper-tape data are listed below. Refer to Volume l of this handbook for IOT instruction format. Mnemonic Octal Code RSF 700101 Skip next instruction if reader flag is a 1. RCF 700102 Clear reader flag. Read reader buffer, inclusively OR contents of reader buffer with AC, and deposit result in AC. RRB 700112 Read reader buffer and clear reader flag. Clear AC and transfer contents of reader buffer to AC. RSA 700104 Select alphanumeric mode and place one 8-bit character in reader buffer. Clear flag before character is read from tape. Set reader flag to l when transfer to reader buffer is complete. RSB 700144 Select binary modes. Assemble three 6-bit characters in reader buffer. Clear reader flag during assembly and set flag when assembly is complete. Operation Performed The paper-tape reader responds to on input/output read status (IORS) instruction by supplying the status of its device flogs and no-tape flags to the accumulator. The reader device flag (reader interrupt) interfaces with bit 01 of the accumulator. The reader no-tape flag interfaces with bits 08 of the accumulator. 1 .2 .6 Function al Description The PC15 reader consists of an electromechanical tape feed system, a light source and photo cells for sensing tape perforations, a buffer register for storing and assembling data, and control logic for computer interface, tape advance, and transfer operations. These circuits can be used with the PDP-15 hardware readin logic, or can be used for program-controlled transfers, as described in the following paragraphs • 54 FIRST CHAR READ CHANNEL SECOND CHAR READ THIRD CHAR READ 6 4 2 6 4 2 6 4 2 ,......... .......... ,...,..... .......... ,...J-,, .......... ,...._, ~ ........ s s 10 11 12 13 Io I I I 3141 51 I 71 I I j I I.._,._..I 2 CHANNEL 9 14'is II I 1s 11 ACCUMULATOR 5 5 TAPE CHANNEL 87554 32 FEED HOLE LEADER (FEED HOLE ONLY) 8 CHANNEL PUNCHED FOR EACH CHARACTER DIRECTION OF TAPE MOVEMENT t 0 D D 0 0 • 0 0 0 -FIRST CHARACTER READ } -SECOND CHARACTER READ FIRST INSTRUCTION -THIRD CHARACTER READ READ BY ONE !OT OR INITIATED BY REAQIN } NEXT INSTRUCTION } CHANNEL 7 PUNCHED CAUSES LAST INSTRUCTION TO BE EXECUTED TRAILER (FE EO HOLE ONLY) LAST THREE FRAMES MUST BE PUNCHED USING ALPHANUMERIC CODE TO EFFECT THE CHANNEL 7 PUNCH. HOLE POSITION HOLE PUNCHED 15-02 33 Figure 1-2 HRI Tape Format and Accumulator Bits (Binary Mode) 55 1 .2 .6. 1 Hardware Readin Operation - The PC 15 reader can be used with PDP-15 hardware readin logic to load programs from paper tape at a rate of 300 characters/second. For this operation, the desired tape is installed in the high-speed reader, and the program loading address is selected, using the console ADDRESS switches. The console RESET key is then pressed to initialize the computer and paper-tape reader. A readin operation is started by pressing the READIN key on the console. With this key action, a Read in {RI) condition is stored in the reader, and the binary mode is selected. The reader then advances the tape, reads three characters from tape, assembles them into an 18-bit word in the reader buffer, and signals the hardware readin logic with a program interrupt. The hardware readin logic, in turn, transfers the 18-bit word to the accumulator under 1/0 processor and computer timing. The word is subsequently loaded into core memory by forcing a DAC instruction. The first 18-bit word is stored at the address specified by the console ADDRESS switches. Subsequent 18bit words are stored in sequential memory locations. The readin operation continues unti I a perforated hole 7 is detected. This condition is inserted in the last character of the last 18-bit instruction. When this condition is detected, the reader supplies the hardware readin logic with a skip request, As a result, the hardware readin logic causes the last instruction to be loaded into the Memory Input register for execution. This instruction can halt machine operation {HALT) or can transfer program control to another part of the program (JMP). When using the readin feature with the MP15 Memory Parity option, the last instruction on the paper tape {which will be executed by the processor) will not be written into the next sequential memory location. That location, however, will be loaded with data that may contain wrong parity. Therefore, that location should be re-stored by the program before an attempt is made to read from it. Otherwise, a parity error wi 11 occur . 1.2.6.2 Program-Controlled Operation - The PC15 reader operates in the binary or alphanumeric mode depending on the select IOT instructions issued by the computer. On decoding a reader select alphanumeric (RSA) mode JOT (7001048 ), the reader advances the tape one character, loads this char- acter into the reader buffer, and sets the reader device flag. The reader then signals the computer that data are avai Iable by providing a reader interrupt to the API or PI, or by responding to an RSF IOT instruction. If the API facility is being used, program control is transferred to the reader service routine where the computer services the request, and an RCF {7001029) or RRB {7001129) instruction is issued. If the API foci lity is not being used, the computer issues an RSF instruction, and the reader returns a skip request whenever its flag is set. The skip request causes the next instruction (normally a JMP .-1 in wait loops) to be skipped so that the character can be transferred to the accumulator by issuing an RCF or RRB instruction. The RCF or RRB instruction transfers the reader buffer character to the 1/0 bus and loads it into the least significant bits (10 through 17 for 8-bit alphanumeric character) of the accumulator. The character is subsequently stored in a core memory location designated by the program. The read reader buffer (RRB) instruction also clears the reader flag for the next read operation. For binary mode operation, the computer issues a reader select binary (RSB) mode instruction (octal 700144). On decoding this instruction, the reader clears its device flag, advances the tape three 56 characters, reads these characters from tape, and assembles them into an 18-bit word in the reader buffer. The reader also counts the number of characters with hole 8 punched read from tape and, when a count of three is reached, generates an interrupt request. The control functions for transfer of the 18-bit word to the accumulator is the same as that described for the alphanumeric mode. 1.3 PAPER-TAPE PUNCH 1 .3. l Characteristics and Capabilities The PC15 paper-tape punch consists of a tape feed system, a mechanical punch assembly, a buffer register, and control logic for mode selection and activation of the tape feed and punch mechanism. Tape advance, mode selection, and transfer of information to the punch are controlled by IOT instructions. Tape is perforated at a rate of 50 characters/second. When the punch is selected by an IOT instruction, data from the PDP-15 accumulator (AC10-AC17) are transferred to the punch buffer. Then, without further inputs, a character is perforated on tape. The punch contains a device flag that denotes punch status for transfers. This device flag interfaces with the PI facility and I/O skip chain. The status of the punch flag is displayed on an indicator panel at the top of Cabinet H963E {Bay 1 R). An out-of-tape switch is located on the punch mechanism. This switch initiates action that stops punch operations when approximately one inch of unpunched tape remains. Power for the punch operation is available whenever the PDP-15 power is on. The punch runs when selected by an JOT instruction or when the FEED switch is pressed. Punch mechanical features include a magazine for unpunched tape and a container for tape chad. Both are accessible when the reader-punch drawer is extended from the cabinet. 1 .3 .2 Operating Modes The PC15 Punch operates in the alphanumeric or binary mode as designated by JOT select· instructions. One of these instructions is required for each character punched for mode change. In the alphanumeric mode, an 8-bit character (in ASCII or modified ASCII code) is punched for each accumulator transfer to the punch. For the binary mode, one 6-bit data character is perforated for each accumulator transfer. Hole 8 is always punched, and hole 7 is never punched. Three of these characters, however, form one computer word for read in operations. 57 l .3 .3 Controls and Indicators The PC15 Punch has a front panel FEED control. This control is used to advance the tape from the punch as required for leader or trailer. The punch also has one indicator (PUN FLG) directly associated with its operation. This indicator, located on an indicator panel at the top of Cabinet H963E (Bay l R), indicates the status of the device flag and, shows that the punch is available for a punch operation when lit. The punch also shares the PI RQ and SKIP RQ indicators on this panel with other 1/0 devices. , 1.3 .4 Tape Formats Tape formats are shown in Figures 1-1 and 1-2. 1 .3 .5 Instructions The PDP-15 IOT instructions used for punching of paper tape under program control are listed below. Refer to Volume 1 of this handbook for IOT instruction format. Mnemonic Octal Code PSF 700201 Skip next instruction if punch flag is a 1 • PCF 700202 Clear punch flag and punch buffer. PSA 700204 Select alphanumeric mode and punch one character. Set punch flag when punch is complete. PSB 700244 Select binary mode and punch one 6-bit character. Set punch flag when punch is complete. Operation Performed The punch responds to the IORS instruction (Volume 1, Paragraph 3. 7. 1) by supplying the status of its device flag and no-tape flag to the accumulator. The device flag interfaces with bit 02 of the accumulator, and the no-tape flag interfaces with bit 09. 1 .3 .6 Functional Description The PC15 Punch operates in the alphanumeric or binary mode, depending on whether a PSA or PSB instruction is issued. When one of these instructions is decoded, information is loaded into the punch buffer from bits 10 through 17 of the accumulator and is punched onto tape. During the interval the punch operation is in progress, the punch flag is cleared to indicate the punch is busy. When the punch operation is complete, the punch flag is set to 1 to indicate it can accept another input character. 58 The operating sequence for punch operations normally begins with a PSF instruction to test the device flag. If the device flag is 1, a skip request is returned to the computer, and the computer issues a PCF instruction. This instruction clears the device flag and the punch buffer. The computer then issues a PSA or PSB instruction. On decoding a PSA instruction, the reader loads the accumulator input into its buffer, advances the tape, and punches one character. For the alphanumeric mode channel 8 is punched as a function of bit AC 10. For the alphanumeric mode channel 7 is perforated as a function of bit AC 11. After the character is punched, the reader sets its device flag, and the process is repeated. This operation, performed by the PCF and PSA instructions, can be combined by microprogramming the two instructions to form octal 700206. The same principles are used for punching a binary character; however, a PSB instruction is used in place of the PSA instruction. On decoding a PSB, the punch perforates channel 8 and inhibits the punching of channel 7. The remaining six channels are punched as a function of AC12 through AC17, and represent one 6-bit character of a computer word. 1.4 PROGRAMMING CONSIDERATIONS l .4. 1 High- Speed Paper-Tape Reader To use the reader at the transfer rate of 300 cps, a select IOT (RSA or RSB) must be issued within 1 .67 ms after each flag. This action is required because a 40 ms reader stop delay is present. When this delay is activated, it overrides the select IOT input and subsequently stops the tape. Thus, if a new select IOT is not received within 1 .67 ms of the setting of the flag, the reader operates start-stop and reads characters at 25 cps rate. No data is lost. The RSA (octal 700104) and RCF (octal 700102) can be microprogrammed to form an octal 700106 instruction. This instruction reads the character, transfers the character to the accumulator, end advances the tape in one operation. An RSF (octal 700101) and RRB (700112) cannot be microprogrammed. l .4 .2 High-Speed Paper-Tape Punch Channel.7 can be punched using only the alphanumeric mode. Therefore, when punching the last character of a tape for hardware read in operation, the last character must be punched in the alphanumeric mode. The PCF instruction can be microprogrammed with a PSA or PSB instruction to form octal 700206 or 700246. This instruction clears the punch flag and buffer, selects the applicable mode, loads the 59 punch buffer, advances the tape, and perforates the character on tape. After completing the punching, the punch flag is set to denote the punch can accept another character. Microprogramming the PCF and PSF instructions is not allowed. 1 .5 PROGRAMMING EXAMPLES 1.5. 1 Paper-Ta'pe Reader/Punch Handlers All PDP-15 Systems are supplied with standard 1/0 device handler subroutines for the paper-tape reader/punch hardware. For PDP-15/10 Systems with 4K core, the COMPACT software includes paper-tape handler routines such as PTLIST and PTDUP. The Basic 1/0 Monitor, supplied with PDP-15/lOE Systems with BK core or greater, include standard 1/0 device handlers for the high-speed paper-tape reader and punch. These standard device handlers operate in systems with or without API and are upward compatible with all other monitors on the PDP-15/20 Software System. Complete instructions on use of standard paper-tape reader and punch handlers and their modification for special applications are provided in the PDP-15/10 Software System Manual, DEC-15-GR lA-D. 1.5.2 Paper-Tape Reader Programming Example The following subroutine illustrates the use of programmed IOT instructions to read a group of binary words from paper tape. Twenty-five 18-bit words are read and stored in a table starting at ADDRESS. NOTE This example is for instructional purposes only and is not to be considered a complete, fully tested software system segment. SUBRTE READLP 0 LAW DAC LAC PAX IORS AND SZA JMP* RSB RSF JMP RRB DAC AXR ISZ JMP JMP* -31 WDCNT (A DRESS /25 DECIMAL WORDS (1000 . /IS THE PAPER TAPE READER EMPTY? /YES IF NON-ZERO. /EXIT •••• ITS EMPTY /NO. START READII'~·; ;, .VORD. SUBRTE .-1 o,x 1 WDCNT READ LP SUBRTE /WAIT FOR IT. /GET IT FROM HARDWARE BUFFER. /POINT TO NEXT LOC AT ADDR. /HAVE 25 WORDS BEEN READ? /NO ••• CONTINUE LOOPING. /YES. EXIT. 60 1 .J .3 Paper-Tape Punch Programming Example The following subroutines illustrate some paper-tape punch programming considerations. Their P.Urpose is to unpack successive 6-bit ASCII characters from a table, convert them to 7-bit ASCII, and punch them on paper tape. The starting address of the table is placed in a location named ADDRESS. The number of words in the table .is placed in WORDCNT. After these parameters have been deposited, the subroutines are entered by a JMS to PNCHOUT. NOTE This example is for instructional purposes only and is not to be considered a complete, fully tested software system segment. PNC HOUT 0 LAC TCA DAC CLX NXTWORD NXTCHAR WORDCNT /THIS INITIALIZATION /ROUTINE STORES 2'S /COMPLEMENT WORDCNT /AND CLEARS XR. LAW DAC -3 COUNT /SET UP A COUNTER FOR /3 CHARACTERS. LAC RAL ADDRESS,X /uSE XR TO GET EACH WORD. /AC HOLDS 3 6..;BIT ASCII /CHARS. ROTATE INTO LINK. /ROTATE WORD 6 PLACES /THRU LINK. THE NEXT /6-BIT CHAR. IS IN AC12-17. SAVEAC (77) (40) /SAVE REMAINING CHARS. /THIS ROUTINE CONVERTS /THE 6-BIT ASCII IN AC12-17 /TO 7-BIT ASCII IN /ACl 1-17. JMS PP CHAR LAC SAVEAC JSZ COUNT NXTCHAR JMP AXR 1 ISZ WORDCNT JMP* PPASCII JMP* PNCHOUT /READY TO PUNCH CHAR. /RESTORE SHIFTED AC. /LAST CHARACTER? /NO. DO NEXT CHARACTER. /POINT TO NEXT WORD. /LAST WORD? /NO. DO NEXT WORD. /YES. RETURN TO PROGRAM. RTL RTL RTL DAC AND TAD AND TAD PPCHAR WORDCNT (40) (77) 0 DAC IORS AND SZA JMP STORE (400) EOT /SAVE CHAR. FOR 'NO TAPE' /TEST. /LOAD PUNCH STATUS INTO AC. /TEST NO PUNCH TAPE BIT. /SKIP IF TAPE OK. /GO TO END OF TAPE RTE. . 61 LAC PSA PSF JMP PCF JMP* 1 .5 .4 STORE /LOAD AC WITH CHARACTERS /SELECT ALPHA MODE & PUNCH /WAIT FOR FLAG. .-1 PPCHAR /RETURN TO SUBPROGRAM. Programming With API or PI The standard device handlers for the high-speed paper-tape reader and punch include c.omplete interrupt subroutines for both API and PI service. Details on how the Program Interrupt Control (PIC) skip chain and the Automatic Priority Interrupt (API) channels are set up and provided in Part III of the PDP-15/10 Software System Manual. The following example of a hypothetical interrupt service subroutine is provided for general understanding of interrupt servicing. NOTE This example is not a complete, fully-tested interrupt' service handler. 1 .5 .4. 1 Program Interrupt Example RSB PI .LOC 0 0 JMP SKPCHN /ISSUE READER SELECT /BINARY IOT WITH PI ENABLE. /REST OF USER PROGRAM. SKPCHN SPF AL SKP JMP* INT6 RSF SKP JMP* IN12 PSF SKP JMP* INT3 /SAVE PC, LINK, EXTEND MODE /& MEM. PROT. BITS AT LOCO. /GO TO SKIP CHAIN. /POWER FAIL FLAG TEST. /GO TO NEXT TEST. /GO TO POWER FAIL SUBRTE. /PAPER-TAPE READER DONE? /GO TO NEXT TEST. /GO TO PTR INTERRUPT. /PAPER-TAPE PUNCH DONE? /GO TO NEXT TEST. /GO TO PTP INTERRUPT. /OTHER TESTS /INT6, INT2, AND INT3 ARE PART OF A TABLE /OF INTERRUPT SERVICE ROUTINE STARTING ADDRESSES. /AN EXAMPLE OF INT2 FOLLOWS: . 62 INT2 /15-BIT ADDRESS OF PAPER /TAPE READER SERVICE /ROUTINE •. PTRPIC /OTHER 1/0 SERVICE ROUTINE /POINTERS PTRPIC DAC LAC* PTRAC (0 /SAVE AC. /SAVE PC, LINK, BANK MODE . /AND USER MODE IN PTROUT. /REST OF INTERRUPT HANDLED. 1 .5.4.2 API Example RSB /SELECT READER IN /BINARY MO.DE /REST OF INTERRUPT /HANDLED. PTRINT .LOC JMS 50 PTRINT 0 DAC LAC PTRAC PTRINT /API ENTRY. SAVE AC. /SAVE PC, LINK, BANK /MODE & USER MODE BITS. DAC PTROUT I /PAPER TAPE READER /API ENTRY LOCATION 63 PAPER TAPE 1o·Ts - -··· . READER IN PUT ALPHANUMERIC BINARY Memory Reader · ·· Rss~g. RRB ... _··oA.~ _,...._ · uffer- · ~ · · RCF Memory --- PUNC-H OUTPUT ALPHANUMERIC LAC Memory llllJ. . ·PsA --- · . . . . 8 ..,_ Buffer ~---·· PSBB _ .. Buff e~ II- Punch Punch Channel 8=1 Channel 7=0 64 . .____ PAPER TAPE FORMATS Assembled Programs May Appear In Two Formats Hardware Readin Fonnat Absolute Binary Format 1. Loaded using Hardware control logic 1. Loaded using Absolute Loader 2. Ou~put from assembler when use ,FULL 2. Output from assembler when use .ABS 3. Load address supplied by DATA SWITCHES on CONSOLE 3a Load address for each block supplied as first word in data block 4. All words loaded sequentially - no way to change where loaded 4. All words loaded sequentially until new load address supplied by data block 5. Read continues until a frame with CHANNEL 7 punched is detected. 5. Read continues until START BLOCK. 65 PAPER TAPE FORMATS Programming tapes are supplied in one of two formats: 1. HRI - hardware read-in mode (.FULL assembly parameter) 2. BINARY OR ABS - (.ABS assembly parameter) HRI tapes consist of 18 bit data and instructions punched in binary mode (PSB), which are loaded in sequential memory locations via the· Hardware Read-In feature. The last word is an instruction which is to be executed when read Ci. e. HLT or JMP). The last word is indicated by channel #7 being punched in the last frame of that word. The load address is supplied by the address switch register. ABS or Binary paper tapes consists of 3 basic parts: 1. ABS Loader Program punched in Hardware Read-In Format 2. Data Blocks (there may be more than one) 3. Start Block (there is only one) The ABS Loader (Absolute Loader) is a program in HRI format. When read via the Console "Read-In" Key, it is loaded and started automatically. While executing, the Absolute Loader reads and loads the remainder of the tape. The Absolute Loader expects the tape it is reading to have a particular format containing Data and Start Blocks. DATA BLOCK - C.onsists of 3 control words (Data Block Header) followed by the data to be loaded: 1. Load Address 2. Word count (not exceeding 25 and stored as a 2's complement negative number) 3. Checksum DATA START BLOCK - A two word block at the end of the tape. It is distinguished from a Data Block because bit 0 of the first word is a one (i.e. channel #6 in the first of 3 frames is punched). 1. Starting address (777777 means "HLT" rather than "JMP" to $Qlll:~ J_oc(it_~qn) 2. Dummy word (not used) 66 FLTST PAGE SftC .F'ULL .LOC 100 00100 ·aEG 01JU.10 740040 rtHlll 01 750004 LAS 00102 340112 TAI ONE 0eJl 03 fiJ4eJ111 IAC TEMP eJfJ104 74fJ04fJ HLT 00105 7521004 LAS 00106 540111 SAi TEMP 0rlll 07 75004el CLAIHLT 00110 750041 00111 e 0 f.!HiJ fH!l TEMP fJ 00112 000001 ONE l HLT • ••••• • • 000lil S!ZE:fJ01 l3 .ENI BEG NO ERROR LINES 67 •• •• •• • • • FLTEST SRC PAGE ·.FULL .LOC 100 l?.!f.ll0fJ BEG 740040 00UJl 750004 LAS 00102 340112 TAD ONE 00103 040111 DAC TEMP 00104 74004l'J HLT IZJ01 fl.15 750fJ04 LAS 00106 5421111 SAi TEMP 00107 750040 CLAIHLT 00110 750041 00111 000000 TEMP fl00001 ONE 00112 00f/JfHllfJ SIZE:BfJl 13 • ••••• • HLT 00100 "1 • END NO ERROR LINES 68 .... • • ••••• • ··· . • PAGE 1 FULTS! SRC .F'ULL .LOC UJfJ 0fl10fJ BEG • • 740040 0eJleJ1 75 0004 LAS IHJl 02 340111 TAI ONE. 00103 040112 IAC 0fJl84 74fJ04fJ HLT 001 l'J5 75 eJQJfJ4 LAS 00116 540112 SAD 00 l f.17 750fJ4fJ CLA ! Hl.T 00110 750041 CMA I CLA !.HLT 12101 l l ONE 000001 ...... HLT fJ010fJ TEMP • • • l • ENI lilJfJ000fJ SlZE:fJ0113 -·- .. -· .... NO ERROR LINES ··----... ~ .. --- ..- ··-----·-~······--' 69 ............... -··· •••••••••••••• • PAGE I TRY SftC .• FULL fjfJ 1fJfJ .LOC UJfJ BEG 740040 fJll 01 750004 LAS l!JfJ 112 34fJ112 TAI Cl ,,,, 103 048111 IAC TEMPI 00184 748040 HLT 00115 . 75eJ004 LAS 00106 540111 SAi TEMP 01107 7511fJ40 CLAIHLT 001 UJ 75rt.lfJ4l CMA ICLA 1HLT fJ0l l2 fJfJ0fJ0fJ fHHJ0fJ 1 .ENI *L SIZE:IJ0113 :oo HLT fl011Jl'J NO ERROR LINES 70 :YOU :SEE •• •• WHAT . THE PROBLEM ••• IS . WHEN THIS IS • ·LOADED? • •••••• • • ••• •• CHECK .LOCATIONS ... PAGE ABSVER SRC 00100 .LOC BEG ' U.ltl ••... HLT 00 l IPJeJ 74fJ040 00101 751?.lfJ04 LAS 00102 .340112 TAI ( 1 00103 040111 BAC TEMP# 00104 740040 HLT 00105 75 fJfJ04 LAS 0121106 540111 SAi TEMP l?J0UJ7 750fJ40 CLAIHLT 01?JllfJ 75l'.104 l CMAICLAIHLT 0f.lfJ UJ0 .ENI BEG . l!H'Jl 12 00fJ001 *L SIZE:fJ0113 ........ •• ,••••••• ........ -..--. .......... •• • .... .ABS ENO OF ABS LOADEi-t· • ..•• •• • LA DATA WC BLOCK • ~SU HEADER DATA NO ERROR LINES 11-P........-~.......... ...............~~la LA .we DATA BLOCK ~~..... · · vSUM HEADER DATA "• ..... ·• . ·•.. ,, . •• 71 ' START BLOCK DOS-15 COOKBOOK Form~::t:t·!n:g:_ o·~·ct~p·es The format generator tape is read in under HRI mode 1. Set the address switches to 17720 (some tapes may call for 17700) •. 2. Depress STOP, RESET, READIN. Conversation program begins. Place Dectape on a unit other than unit ~. Don't take up more than 2 wraps. Fo1iow directions. Note: Before you can use the tape, you must go to PIP to clear out the directory. $PIP DOSPIP VXX ) L1.1TT "'"' DT 1 N.i.1DT2 Loading DOS Into a Cold Machine 1. Mount DOS restore tape #1 on Dectape transport Set rotary switch to 1 Set remote switch Set write lock 2. _1.,.oa_d __ !)OS __ say~=r~-l3~<?_r~ __p_~p_e:r_ tc.i2~_J:J::i~~-- hiqh=~Eeeg reader Place tape in reader Set address switches to 17720 nepress STOP, RESET and then READIN The paper tape is read in and a conversational mode program begins. INPUT: D'tJ UNIT: ~ OUTPUT: DJV The program will tell you when to mount the second tape. At the completion of loading, DOS has been placed on the disk. 3. To bring the resident Monitor into core: Set address switches to X7637 where X = 1 for BK 3 for l6K 5 for 24K 7 for 32K Place the DOS bootstrap tape in the reaaer (usually on the same tape as the DOS SAVE & STORE paper tape) Depress STOP' RESET I then READ'IN. DOS announces itself. 72 . . Note: The BOOTSTRAP stays in high core unless you cleverly manage to destroy it. To get the monitor: (a) (b) (c) (d) (e) Control c (echoed as fC) Set address switches to X7646 where X is same value as before: SibP, RESET, START Set address switches to X7637 and read in bootstrap again The whole DOS restore procedure again Call a maintenance person PIP To call PIP $PIP DOSPIP VXX ? To list the directory from the disk on the teletype: '7'L TT~ D~ To list the directory from the Dectape on unit 2 on the line printer: ">Lu LP ~ DT 2_J To transfer a file from the disk to dectape: >-TuDTl ~DKwTESTFL SRCJ :>-TuDT 21.J'FILEA BIN +- DKLSFILlwBI~ MACRO To call MACRO $MACRO MACRO VXX 7BN +- FILENM..J OR ALTMODE To load a program generated under .ABS or .ABSP! 1. Place tape in reader 2. Set address switches to 17720 3. Depress STOP, RESET then READIN. This causes the absolute loader to be loaded. It starts automatically and in turn reads in the rest of the tape--that is, your program. DOS-15 V3Aelelel $L *************************•***************************************** EXAMPLE OF WRITING,ASSEMBLING AND LOADING A RELOCATABLE PROGRAM ******************************************************************* $EDIT ED I TOR V3A000 >OPEN SAMPLE FI LE SAMPLE SR C NOT FOUND. TNPUT LAC <707070 HLT .END fDIT ">CLOSE ED I TOR V3A000 >OPEN SAMPLE EDIT >N >C //START I ~TART LAC C707070 ·L .END >A >P START .END • END START >EXIT ·~DOS-15 V3A000 ·.A LP -12 $A DK -13 ··SK ON llAGI!: l SAMIPL! SlliC o.Qlta(ll0 R 200002 R START R 1jUJ001 A 000000! Fi ~0Q.ltA2 R 101010 A •I.. S I l F. 11!1 OH1H'IHU 00~01 BLOADER V3A000 >P ... SAMPLE P SAMPLE SRC 77634 .,.stS 74 REAL TIME CLOCK References: Volume 1 Processor Handbook System Reference Manual 6-42 B-14 The Real Time Clock option provides a user with time reference capability for accounting purposes, periodic interrupts and interval timing. The clock produces clock pulses at the rate of a a) 60 times a second (every 16.7 ms) for 60 Hz systems or b) 50 times a second (every 20 ms) for 50 Hz systems (the standard clock works off the line frequency--other clocks are available to produce clock pulses at user defined rates). When the clock is enabled (CLON), every clock pulse generates a request for a break at the completion of the current instruction. When the break is granted by the CPU, the content of memory location 000007 is incremented by 1. Location 000007 is the clock counter register. As long as the clock is enabled, the process of location 7 being incremented at each clock tick continues. When the content of location 7 overf1ows (i.e. is incremented from 777777 to 000000), the clock flag is set to 1. This condition may be checked for by the use of a Skip IOT (CLSF). Note also that the clock flag is interfaced to the PI and API systems so that if interrupts are enabled when the clock flag is set, an interrupt request will be made. Three IOT instructions are associated with the clock1 CLON 700004 -Clock On -Enable the clock ••• increment location 000007 every clock tick -Clear the clock's flag CLSF CLOF 700001 -skip on C1ock F1ag Set ••• the next 700044 instruction is skipped if the clock's flag is set -Clock Off -Disable the clock ••• do not increment location 000007 -Clear the clock's flag. since the clock eounter register is memory location 000007, its contents may be modified by a program. A standard technique for using the clock is to preset the contents of location 7 to the complement of the desired time count (in ticks} and then to enable the clock (and the interrupt system if interrupts are to be used). The clock flag will be raised (and an interrupt occur) at the end of the specified time period. For instance, to raise the flag aftera 1 second, set location 000007 to 777704 (-60 10 =-74 8 ) 5 second~set location 000007 to 777324 (-300 10 .:=""".454 8 ). Notice that it is the 2's complement that is used. This example and the following ones assume 60 ticks per second for the c1ock. REAL TIME CLOCK To check for an interval of 1 second by checking the clock's flag, the following sequence can be useda = LAW -74 DAC 7 /74 ticks 1 second /or DAC* (7 if program is not in page O I or bank O CLON CLSP /enable clock--start incrementing /check for clock overflow JMP .-1 /not yet next hstruction /get here after 1 second . To check for an interval of 1 second via interrupts under the PI system, the following sequence may be used1 .LOC 0 0 JMP* .+l · TIMERT /Main Routine .LOC 10200 • • • LAW -74 /set clock for /6010 ticks /enable clock,clear flag /enable PI interrupts DAC• (7 CLON ION •• •• • •• continue with 1 second•s worth of program • LOC 20500 TIMERT DAC ACSAVE •• • ••• •• • LAC• (0 /save AC as it was at time of interrupt process clock interrupt--this may involve resetting location 7 or even disabling the clock ·/pick up the return address from location 0 DAC RETURN# : other instructions are necessa,J"y here so that when we : leave TIMERT the system looks as it did before the : interrupt occurred • • JMP• RETURN /go back to where we ware interrupted 76 REAL TIME CLOCK To check for an interval of 1 second via interrupts under the API system, the following sequence may be used1 .LOC 2 TIMER /address of clock routine .LOC 51 JMS• 2 .LOC 10200 • • •• LAW -74 DAC* .(7 CLON LAC (400000 ISA ••• •• /set clock counter to ~60 ticks /enable clock,clear clock flag /enable interrupts /from the API system continue with 1 second•s worth of program • • LOC 20500 TIMER 0 DAC ACSAVE# /save AC as it was at time of interrupt process clock interrupt other instructions are necessary here so that when we return to the interrupted routine, the system looks as it did before the interrupt occurred. JMP• TIMER /go back to where we were interrupted 77 REAL TIME CLOCK NOTES . 1. The clock continues to count up from zert> after overf.low occurs. At overfl.ow detection, however, the clock counter is' usually reinitialized or the clock is disabled. 2. To enable the clocka Use the CLON instruction (make sure the console clock clock switch is OFF--front down.: if the console is locked, then CLON will enable the clock no matter what -position the console clock switch is in). 3. To disable the clocks a) Use the CLOF instruction orb) Turn the console CLOCK switch ON (rear.half depressedJ this will have an effect only if the console is not io·cked). 4. Depressing ~he RES;ET switch on·the console clears the clock's flag and disables the clock. 78 OUTIN P~OGRAM SRC TO MOY! AC L?GHfl C!NT!R,OUT,BAeK ETC .TXTL! PROQAAM TO MOVI AC LIGMT8 C!NT!R,OUT,8ACK I I I I I 10101 A UH HI A '111001 A 111 ITART CL.AlCl..L 101'!11 A 7940!Ul A 10102 A 70515ih1 A !IA I !0101~ A IU114! A UH04 A HHU41 A !0UHJ A 2Ut144 A 11Hfll8 A rU10t42 A L.OC 111 UJI ?OF S!TUP LAC ce1110m rue, 1..H# I.AC (110211 DAC RH# ITURN flt OFF ITURN API O,F (t8A WITH AC0•0' lllT ltf 1 B!CAUI! "OTAT! R!GMT OtSPL.AVING /GIT BlT ti l!CAUll ROTATE L!FT /!!,OR! DJSPLAV!NG 181FO~!: I I /MANUFACTURE 1H! DISPLAV!D ACCUMULATOR VA~U! llV TAKING !ACM M4~P AND ROTATING IT !N T~I APP~OPRtAT! ID?R!CT%0N, TH!N "~OR" TMI HAL~!$ FOR THE FULL VALU!. U1101 A IU1141 A UH 10 A 74!iH2QI A I "0111 f4 MOVE!. 101l1 A 100141 A L.AC L.M RAR DAC L.H LAC lllH Ul111 A 210142 A ifa\13 A 140!U0 A 1119114 A r!Jlf/.1142 A MAL. DAC RH >CON L.M 11115 A 851141 A DAC C!IPL,¥# 10UIS A rB5t!H40 A I lllT UP TH! R!AI.. TIMI' CLOCI< COUNT!R••LOCATXON 1 I 1I111 A '1'1'1'104 IA TlMIR 10120 A 070145 A I I I L.AW •J4 OAC• (1 .!J!CT 79 lllT UP COUNTER POPI ION! l!CONO INT!RVAl llAG! 2 OUT IN IRC PROGRAM TO MOY! AC LIGHTS C!NTIR 1 0UT,8ACK !TC I I I I /TURN CLOCK ON Cl'!RIT TtM! THRU' AND CLEAR Ct.,OCK l'L.AG'; /IUBIEQU!NT USll 0, "CL.ON" AR! TO CL!AR TM! FLAG ONLY, /THE CLOCK K!!PS ON COUNTING A'TIN IT OVIRl'LOWS TO I, • I 10111 A llUH41!1 10112 A 71HJ44 A 1112\t A 11111111 A l1Bt24 A 9UJ123 A I.AC OtlPL.V CL.ON CL.I' JMP ,•l I /l<llP ROTATtNG UNTIL TM! ACw4tlll1 OR AC•llt411~ IWH!N AC EQUALS THiii VALUES CHANGI THI DIR!CTlON 10, ROTATION, THtl II DON! av. ACTUAL.L.V CHANQ!Nla /TH! INITRUCT!ON "RAL" TO RRARM AND V!C! V!~SA, !T Ill ACCOMPL?SH!D Ul!NG TH! PXbR• !NSTRUCTlON Al /RAL17411Ut AND RAR17~Hl2f.l 1 . SWITCHING IACIC A~D /FORTH XS JUST A MATTER OF XORlNG WZTH 111131. /(TH!R! AR! 0' COURSI OTW!R WAVI TO SWITCH') tit IS A 9911415 A 11128 A e·111Ht 10121 A 511141 1111131 A A 811117 10132 A 211110 !11'133 A 251H!Hl ,.,.,, u111:u 11134 1013! 111as 10137 I SAD (4111111 JMP CHANG! A A A A A A A 151111 A A A A 81911113 A A IUJ1fJ7 A BAD COH1Jt 401 CMANl'll IKP JMP FORM I.AC MOY!L. XOR (OHlll131 DAC MOYEI. asru se XOR Utlll181 DAC MOVER JMP l'ORfil I 7181flt4A A CL.ONl,111844 1GIQH2HU CLSF•,IBllGUI 1 J.. I l!IUUIOJ A 1111100 A 1118100 A 001007 A 4fHJHJl A A •L. A *I. A •L. 10143 10144 101415 10145 A *I. 10147 A IHl141H!l A •I. UH80 A 08HJ:10 A •I. SlZ!•UIH51 .IND START NO !PtROR L.!N!I 80 PAGE NON GLOBAL 8UBROU'f %N! CAL.LS NOGL.OB Sllf C • 'I' ITL.E NON.GL.OBAL IUSROUTIN! C:ALL.S I 7@0401 A TSF11111Ul40H 100408 A TLS11100.t06 1:110~HiJQI R 12!tUll!2 A mia001 R 105514 A ~HU.102 R 700418 A I START ?OF ?SA+U'l Tl..S+UI I L.AC CTABL.! OAC PTR# l..AW •8 cue COUNT# R 2000,!43 ~ 1?10004 R 0411111142 R 1.!10tiHll ! R '1'1111~ A 000~e R 1401?!41 ~ 0012!07 R 100033 R eJ.J!aQ.IQl:S JMS CIU.F I R fHtUl42 R R 1 flHUJ25 R !Ul012 R 1000:53 F? ~0010 ~0011 MORE L.AC.,, '9TR JMS llFUNT JMS CRL.fll' I OHUH3 R 440042 R 18Z PTA un COUNT 001H4 R 4401?!41 R V!l00i5 R 800@10 ~ JMFI' MORE .,!)(%'!' I 00020 00021 0CJ!022 00023 013024 00mas 0!0028 ~0027 ~ 0fUJ06fA A TAIL.! R 100061 A R !UIQ.1062 A 000083 A llUHHS4 N f1.IQl11Jfill6S A A A A 190 fH 82 63 84 65 I I R tUJ0000 A R 700401 A PRINT QJ TSF JMFI ... s. Ql(lJC!13QI R 80C!IOHa7 R 000!31 R 7ell!l4ta8 A ~H!l032 ~ 620026 R TLS JMPw PRXNT I rUl033 R 000000 011J034 R 16001!5 011ltll35 R 100026 00036 ~ 1600112 0111037 R u.1002e 0011140 R 152011!38 A A CRLf' 0 L.•w 15 JMS PIUNT R L.AW U! A JMS PRINT JM!lw CALF R ~ I 12HU0QUI R 0Qltll43 R 1U.10021tl R •L S!Z!1(11Qlfll44 ,!ND START NO l!RROR t..IN!S 81 PAGE 1 GI.OBA!:. SRC rat.-OBAI.. SUBROl.i"T?NI CAl.L.I .TlTL.! Gl.OIAL SUBP'OUTJN! CAL.LS 7004111 I A 7014015 A Tl't'l0401 Tl.1•700408 I .laL.OBL CRl.il'-, PR! NT OHUJ00 R 7HJ0fH! A me1ra1 R 7rUl514 A 80H'J2 R 7014US A I I START %SAt1t19 TL.I+ Ul I OJ01t113 R 201HJ32 R 1Ull1!04 R 141H!ll7 R lllOJ!!S R 171"111 A 10008 R 04111.115 R 000~7 !D' I.AC CTABL.! DAC PTR# I.AW •8 OAC COUNT# R 120030 E JMS.!.. CRL.P' I 00110 R 221117 ~ 10011 R 12011111 E 00012 R 1:20QJ30 e: ,. MOR! JMS..!.. PR!NT JM8.!.. CRLP' I 1011H3 R 441017 00014 R 4400115 R llCHH !5 R fSOJIHI 10 R 0 lll9J20 R 00105fl 00021 R 0Pl008l 00122 R llHJ081 IUJl23 R IH!eJf.181 !10024 R 00008• 00029 R lllUllS! l&Z llTR lSZ COUNT JMfl MORE .EXIT I A A A A TABL.E e• A 88 I H.11011 ee 61 812 63 • ~ 1e1ne A ~HU!l0iUI E •E 11J00i11 R !Zll!IGUJ! l E •! LACw PTl'f 00032 R 01JllHI R •L. S l ZE •01Gt1033 .!ND ST.ART NO !RlltOR 1.lNES 82 -- PAG! CRL.F SU8ROUT!N! TO PRINT OUT CR AND 1..F SFIC a Tl TL.! I .GL.OBL CRL.,, PPUN'I' I CFH.,ff 00000 R 0100000 A 1Ul001 R i'tHitlUS A 00002 R 1;0006 E $USROUT?N! TO PRINT OUT .CR AND L.fP! 0 I.AW 2U5 JMI!,. PIU~T 1,.Ait4 212 JMS.!... PR 1 NT 00003 R 160212 ~ 000~• R 1201lH1H5 ! 00005 R tll211HUHB. ~ JMP* CFH.F I 000000 A 11!ND •! 0t1H308 R 0GHUHlJ6 I!: NO ERROR L.lN!S SIZ!fll0001iJ1 tlAG! l lllRlNT SUIFtOl.JTtN! TO PRINT CHAR O~ TT SRC ,TITI.! SUIROUT!NI TO P~tNT CHAR ON TT I ,GL.081.. I 1 !!llPU01 A TSff111110Gl41U 1110406 A TL.117' II 4tlUJ I PRINT I ICMARACT!R I I !XP!CT!D XN THI AC I 1'.1000121 R QJ011J01U! eHUU11 R 1180401 flH)JIU2 R EIUl0011 l 00£30.13 lit 100408 000(114 R 810flHHI fl A faRXNT ,.,, fll JMfJ .•l Tl..S JMPiA> PflUN'f Pl A R I fUJ000tll A SI?!•fl!&lf'UJ5 11END NO E~IU.'lR 1.l:N!S 83 DOS-15 V3A000 $A LP -12 $1< ON $MACRO 3MACR0-15 V3A000 >B LG+-NOGLOB END OF PASS 1 SIZE=00044 NO ERROR LINE tC DOS-15 V3A000 $LOAD 3LOADER V3A000 >P ... NOGLOB P NOGLOB SRC 77573 tS 'I'S 0 1 2 3 4 5 DOS-15 V3A000 $MACRO BMACR0-15 V3A000 >B LG..-GLOBAL END OF PASS 1 SlZE=0eJ033 NO ERROR LINES BMACR0-15 V3Al271Z1121 >B L+-CR LF END Of PASS l SIZE=00007 NO ERROR LINES BMACR0-15 V3Af2!00 >B L+-PR I NT END OF PASS SIZE=00f2!05 NO ERROR LINES DOS-15 V3Af2lf2l0 $LOAD 9LOADER V3A000 >P ... GLOBAL ,CHLF, PR I NT P GLOBAL SR C 77604 P CRLF SRC 77575 P PRINT SRC 77570 tS 'tS 0 l 2 3 4 5 84 PROGRAM TO AV!RAG! OIClMAL YALU!& AVGl,.08 SAC PAGE .TtTL! PROGRAM TC AV!RAG! D!CtMAL V~~UI~ I 11001oooooooooeoooeeooooeoooo1001eo~oooo100eoooeoooeo~o~ I I I PROGRAM ACC!PTS D!C!MA~ VALUES FROM THE K!YBOARO, SUMS THIM AND PAINTS OUT TH! DICl"AL. AVERAG! (GIVEN I TO TH! TENTHS ~LAC!~ ON TH! TEL!PRtNTER. I Ul!R SHOULD FD"'LOW fACH VALUE WITH A COMMAJ T!RMINATE~ I TH! LIN! WITH CR. FOR !XAMPL!I 3,11.ao,•,rCR) .. I 10000010000001ooooouooo10e110eoooooooooooooo100eoooooooc I 7HJ301 A 71Hl~12 A 1(11'•101~01 l<R817011~H I 7001408 A TLS•71!04115 I '30010 N 117792 A I BEGIN 000&'11 R 100002 A ~0002 R 705514 OBA IOF ISA4-t0 ~ I 00103 R 111416 • 010004 R 141117 R 00mms R 140120 R 00006 R 111125 E 000~7 ~0010 lN%T TL.1+10 OZM COUNT# OZM P'IN.61.,# JMS• CALff 140121 R NXT OZM NUMB# R 700301 • I NE>lT KSF ~ 0.0014 M 811035 ~ IOIB SAD C2U5 JMP AL.L.DU"11 00015 R 540130 R SAD qtQJ0 t I R 918HJ313 R 00011 R SIUU;J1 R 00020 R 04012.4 Ft OAC T!MP# ~0011 R 540127 R R 111121 R AND CU' I 00028 M 040121 R 000~0 R 110121 R I DUN 00031 R 3401291 R 0~0312 R 041120 R ~0033 R 440111 R 00034 R f.100007 A IR!IULT IMAL~~.?N MQ /ADD ON LAST OlG!T llAV! IN NUMB I-AC NUMB TAO '!NAI.· IGIT TM!I VALUE /ADD !T TO TH! SUM IIZ COUNT IK!EP TRACK OF HO~ MAN¥ VALUES' DAC FINAL. I /l!T OCTAL NUMBER LACQ T•D TEMP DAC NUMB JMP Nl!XT R 100010 R /CR MEANI LAST VALUE 1" 1 " 11,ARATIS VALUES L.AC NUMI! MUL. 12 R 1Hl0PI 12 A 000CU R 8410Jal2 A QJ00J215 R :J•IU 24 R ~0021 ems• JMP DUN 00122 R 653122 A ~002~ 1%NIT!ATI PRINT•~m!T PLAG . ICOUNT1 # OF VALU!l IFtNAL• SUM OF VALU!S llSIUI Cf/I AND L' IT!~PORARV LOCATION JMP e•1 001!.!U R 800010 R 00012 R 7011312 A 0001~ /RUN !N PAG! MOD! ITURN OFF PX /AND A~f INTER~UPT SV9T!MS JMP NXT 85 0 &'HIJ 3 a R 200111 R (110036 R 040041 R 00031 R 2fil0121ll fit 000.110 R tH53323 A 00041 R tl!tHIHi.1012! A 00042 R 040123 Ff 00043 R fU1002 A '110044 R 04012g R ALL.OUN LAC COUNT OAC • .t.3 L.AC f"tNAL. IOlV IG!T # OF VA1.U!8 JSTOR! FOR OtV!SION IG!T SUM 0 OAC REMAIN# L.ACQ OAC QUOT# lft!MA!ND!ft RITURN!D tN AC IG!T OUOT%INT IN MQ I ~0045 R 1:5!00f21 A 01!1046 R 200122 R 000611 R ES5J323 A Cl..X L.AC QUOT NEXXT 00050 R A000 U! A 00091 R 050112 R 11.10052 ~ 64UJ0m 011)053 R 14U?00 00054 R !5000157 00055 R 1310QH VJ00!56 R 60004'' IDIV 12 llTO!l! IN TAIL.! A DAC DIGIT,)( LACO A SNA R A R JMP DUNN /CONTINUE IF NOT ~ /STOP WHEN QUOTI!NT • I JMlw CRLF l:tSSUE CR ANO L.F AXR t JMP NEXXT I 00051 R 120125 E OUMN I 00060 R 2UH12 A 00061 R 340132 R 000!62 R 1201215 ! 00063 R 731111 fl OUNNN I.AC D?G?T,X TAD (260 Jt-18• PRINT AXR •t 00~64 R 724000 A 00065 R 14011210 A ~0~66 R tHHHl')6fl ~ P>U /PICK UP QUOTIENT /PUT IN TAB~! FOR L•T!R OUTPUT /TO MAI<! ASCII /GET N!~f CMARAeT!R •• wo~K IWAV BACK UP TAl.8! IARE WI OONE••WH!N X~•0, V!I SMA JMP OUNNN I L.AC (256 00061 R 2CIHU33 R !110010 R UUHIS E JMS• PFttNT IISSU! DECIMAL ~OtNT II • II I L.AC COUNT OAC ~!M 00071 R ~UHU 17 R 0001a R 040100 ~ 00073 R UH'H23 R 00QJ14 R ss31 u~ 1..AC R!MAtN MUL A 000115 R 01i'fi.l!U2 A Ut ~~11116 t.. AC:Q R. 64Ul01 A 00077 R 853323 A 001ra0 R 000000 A 00101 R e41002 A 00U!2 R 3_.ttH32 R 00103 R 120128 F. 00104 R UUH2! E 0!211 @5 R 7500184 ~ eJIZJUHi R 140~UJ0 A ~HU@7 R t500HJ4 ~ IOIV ~!M 0 L.l<CQ TAD C26! JMSv PRINT JMI• l!RLF L..AI SZA JMP INIT II I ~0112 R A O?GIT I !UJ0CUH1J R 00129 R Ql0012S E •! 10126 R 01Ul118 e: •! 00127 R 0002US A "'I.. O!IH3~ R l!J002S• ~ •I.. ~111131 R !1HH10i1 A •L. .,, L. 01H32 R lllfi!0260 IHH33 R 000256 A •I.. IU'.!•IHH 34 /WANT TO CONTINUE OR !XtT7 1%P IW?TCMll AA! 0 1 TM!N !X!T INON•t!RO••CO~TlNUE WtTM ANOTHER !)UT .BL.OCK f5 eENO BIGIN • NO ERROR 1,,,lNll, 86 PROGRAM INTERRUPT FACILITY References: . Volume 1 Processor Handbook System Reference Manual Preface• (PI) 5-11 3-8 The Program Interrupt Facility increases the efficiency of input/output operations by freeing a program from the necessity of constantly monitoring device flags. When PI is enabled and a peripheral device becomes available or completes a transfer, the PI autom~tically interrupts the program sequence and causes a JMS OGOOOOtt to occur. A subroutine at location 000000 may then sense the device flags to determine which of the devices caused the interrupt,service the device, and return to the main program. 11 The running time of programs using input and output routines is primarily made up of the time spent waiting for an I/O device to accept or transmit information. Specifically, this time is · spent in loops such ass TSF /SKIP ON FLAG JMP .-1 Waiting loops waste a large amount of computer time. In those cases where the computer can be doing something else while waiting, these loops may be removed and useful routines included to use the waiting time. This sharing of a computer between two tasks is often accomplished through the program interrupt faciiity, which is standard on all PDP-15 computers. The program interrupt facility allows certain external conditions to interrupt the computer program. It is used to speed the processing of I/O devices or to al·low certain alarms to halt program execution and initiate another routine. Each of the input/output devices has associated with it a device flag which is set to 1 whenever the device has completed a transfer and is ready for another. When the Program Interrupt Facility is enabled, the setting of the device flag (connected to PI) c~uses a program interrupt request. When PI is disabled, program interrupts do not occur, although device flags may be set. When the interrupt is granted, PI is disabled automatically, the main instruction sequence is suspended and the hardware executes a ••JMs 000000". This causes the contents of the ~rogram Counter (the address of the next instruction that was to be executed) to be stored in location 000000 and the instruction in location 000001 to be executed. · The routine entered due to the interrupt is responsible for finding and servicing the device that caused the interrupt. Usually, the instruction in location 000001 is a JMP to a sequence of code called a SKIP CHAIN which determines which device's flag caused the interrupt and then jumps into a service routine for that specific device. 87 PROGRAM INTERRUPT FACILITY The individual service routine then handles the condition causing the interrupt, reenables the Program Interrupt system and resumes mainline program execution by JMPing to the location pointed to by location 000000. The !OT instructions used to program the PDP-15 for program interrupts area ION 700042 IOF 700002 -Interrupt ON -Enable PI interrupts -Interrupt OFF -Disable PI interrupts -Restore ••• i.e. set up for the restoration of the Link,Page/Bank mode, Memory Protect bit ~rom the pointer word given in the next indirectly referenced instruction. 707742 Use of the interrupt system allows a mainline routine, referred to as the BACKGROUND PROGRAM, to execute without wasting a large amount of time in waiting loops while I/O devices devices are assembling and transmitting information. The interrupt service routine, called a FOREGROUND PROGRAM, is entered automatically whenever an I/O device requires servicing under program control. 88 REQUESTING AN INTERRUPT -- requests for program interrupts are made when f'lags are raised for device.s tied to PI. Device Flag Raised no interr'l'lpt >--..-- request YES mtterrupt Request GRANTING AN INTERRUPT nterrupt Request -- when the CPU receives a · request for an interrupt, it must decide if that interrupt can be. gr a..nted. PI interrupts will be granted only l)i:f PI is on 2)between instructions no interrupt; 3)after a non-privileged keep request tnstructions (privileged on line fnstructionsa IOTs, JMS, CAL,XCT,NORM) Execute Another *NOTEs The following have priority over Pia 1) Data Channel Transfers 2) Clock breaks for updating location 000007 3) API hardware in.t..errupts NO PI Interrupt Granted* 89 an i-ntei:trupt ·-eensists of 1 ·!)disabling ·P·I Interrupt 2)executing a JMS 000000 Granted Disable PI Hardware Force XCT of JMS _ 0 1 . ' . . .. Recall that information is also stored in bits 0,1, and 2 on a JMS. Location 000000 Bit o = Link at ti-e of interrupt 1 =·Page/Bank·Moae·Indicator 2 i::Memory Protect Indicator .. • ... -·- ··-t· . ~ .. _.., The word in location 000000 ha$ the following format• 1 2 Li&O: Page Memory Bank Protect 17 3 15 bit address of the instru¢t;.ion that was to be executed at time Gf interrupt 90 PROGRAM INTERRUPT FACILITY Single Device InterruEt Programming When programming a system with only one possible source of interrupts, say the paper tape reader, the handling of an interrupt is very straight forward and simple. 000000 0 1 JMP PTREAD PTREAD DAC ACSAVE /save registers used by the servie routine •• • code to handle the reader •. -was it the completion of a read or an • • error condition that caused the interrupt· •• -store away the character read from the tape -check to see if there is more to read ••• if so ••• initiate the next read ••e • /restore registers LAC ACSAVE .ION /reenable PI RES /set up to restore the Link, Page/Bank /mode, Memory Protect bit on the next /indirectly referenced instruction from /bits 0,1 and 2 of the pointer word JMPw 000000 /go back to where we left off . EXIT Multiple Device InterruEt Programming Many programming applications use the interrupt system to service severai devices. For examp1e, a PDP-15 may use the interrupt facility to control the operation of paper tape (reader and punch) through a teletype. Systems of this type require a service routine that determines the source of an interrupt request (i.e. which device flag is set). The following instruction sequence uses dummy IOT Skip instructions to determine which device requested an interrupt: DlSF /is it Device l? SKP /no JMP DlSRV /yes--go to Device 1 service routine D2SF /is it Device 2? SKP /no JMP D2SRV /yes--go to Device 2 service routine ••• DnSF /is it Device n? /no--not device 1-n, go to error routine JMP DnSRV /yes--go to Device n service routine JMP ERR 91 PROGRAM INTERRUPT FACILITY For example, suppose we have a PDP-15 system with high speed paper tape reader and punch, teletype and clock and that is all. The following gives a skip chain that could be used. 000000 JMP SKPCHN 0 1 MAINLINE ROUTINE •• •• SKPCHN CLSF SKP JMP CLOCK I KSF SKP JMP KYBD I TSF SKP JMP TPRINT I RSF SKP JMP PTREAD I PSF JMP ERROR .J'MP PUNCH CLOCK /did the clock cause the interrupt? /no /yes--go to clock service routine /did the keyboard cause it? /no /yes--go to keyboard service routine /did the teleprinter? /no /yes--go to the teleprinter service routine /did the paper tape reader? /no /yes--go to reader service routine /did the paper tape punch? /no--illegal interrupt occured-go to error routine /yes--go to paper tape punch service routine DAC ACSAVE ••• LAC ACSAVE ION RES I KYBD 1 TPRINT I PTREAD I PUNCH JMP* 000000 DAC ACSAVE • •• JMP* 000000 DAC ACSAVE •• JMP• 000000 DAC ACSAVE . JMP• 000000 DAC ACSAVE • • JMP• 000000 92 PROGRAM INTERRUPT FACILITY An interrupt grant will cause the computer to perform the following operations automatically: 1. The PZ system is disabled.2. The contents of the PC is stored at memory location 000000. 3. The 11 JMP SKPCHN" in location 000001 is executed. (note that steps 2 and 3 are the equivalent of executing •JMS 00-0000") The SKPCHN routine then determines the source of the interrupt and passes control to the appropriate device handler. The device handler (interrupt service routine) then performs the following operationsa 1. The contents of the Accumulator (and any other registers which will be used) is saved. 2. The interrupt is processed --determine whether flag was raised due to completion of transfer or an error condition -store data transferred.in and clear flag input -determine if more is to be input (if so, initiate it) -determine if more data is to be output (if so,initiate it) output -clear flag 3. Restore the Accumulator(and any other registers us~d and therefore saved). 4. Turn the interrupt system back on (if further interrupts are to be allowed). 5. Set up for the restoration of the Link, Page/Bank mode, Memory Protect mode. The "RES., instruction primes the system for this restoration, a1though it does not actua11y occur until the next indirectly referenced instruction is executed (and then it is done using the contents of bi ts O, 1 arid 2 · of the pointer word). 6. Return to the mainline program via a "JMP• 000000" instruction {recal1 that the updated PC was stored in location 000000), 93 PROGRAM INTERRUPT FACILITY NOTES 1. Instructions like CLSF,KSF and PSF are skip-on-flag instructions. There are Skip IOTs for every device in the interrupt system. Because of the predominance of skip instructions in the instruction sequence which determines the source of an interrupt request, it is often called a SKIP CHAIN, A skip chain may be enlarged to test for almost any number of device flags, provided that high-speed devices which retain information for a relatively short period of time are tested near the top of the skip chain, so that the chain may be traversed and the high-speed devices serviced before the inf ormation is lost. High-speed devices should never be required to wait for service while a long skip chain is traversed, Notice that the order in which the Skip IOTs are placed in the skip chain actually determines the priority of a device. If two devices have their flags raised simultaneously, the device whose Skip IOT appears closest to the top of the skip chain will be serviced first. 2. It is possible that the SKIP CHAIN will not be in page 0 or bank O, in which case a "jMP SKPCHN" instruction in location 1 won•t allow you to get there. Instead• 0 000000 1 JMP••2 2 SKPCHN will allow you to get to SKPCHN because a 15 bit address is picked up from location 2. 3. Similarly, it may be that the individual device service routines will not be located in the same page or bank as the SKIP CHAIN, and therefore will have to be entered indirectlyi KSF SKPCHN SKP JMP* VKB TSF SKP JMP• VTP JMP ERROR VKB KYBD VTP TPRINT 4. With some devices, error condition flags set to 1 will also generate interrupts. It is therefore the service routine's responsibility to determine if the interrupt was caused by the completion of a transfer or by the existence of an error condition. For example. an interrupt may be caused by the paper tape reader whens a) it has read a character and has assembled it in its buffer b) it has attempted to read the tape but finds a no tape condition. Some error conditions may be checked using the !ORS instruction. In other case~...!. devices have their own status registers indicating errors (e.g. ivr.r,DK,DP,DT). 94 AUTOMATIC PRIORITY INTERRUPT (API) References: Overview: Volume 1 Processor Handbook System Reference Manual 6-46 3-10 The Automatic Priority Interrupt system option increases the capability of the PDP-15 to handle transfers of information to and from input-output devices. API identifies an interrupt device directly, without the need of a SKIP CHAIN routine for flag checking. Multi-level interrupts are permissable where a device of higher priority supersedes an interrupt already in progress. These functions increase the speed of the input-output system and simplify the programming. In this way devices (especially high speed devices) can be serviced efficiently. The API option increases the I/O handling capabilities of the PDP-15 by adding eigJiF-ievels of priority servicing (0 - 7) and associating 32 channels with these eight levels. The highest four levels of priority, i.e. O, 1, 2, 3 are assigned to hardware devices. The lower four levels, i.e. 4, 5, 6, 7 are for software purposes. Of the 32 API channels, 4 are assigned to the software levels 4 - 7. The remaining 28 channels are available for use by-the hardware levels 0 - 3. Each of the four hardware levels may have eight devices (channels) tied to it, up to the total of 28 for the four levels. This is strictly a hardware limitation imposed by cable lengths and ci~cuit delays, and attempts to circumvent this restriction will create needless problems. Each of the 32 channels is assigned to a specific memory location called the Break Address. The break addresses are locations 40 - 77 in page 21, bank 21. Each device tied to API is associated with a specific channel (and therefore break address) and a specific priority lev-el. The table below gives the standard assignments. The channel assignments should r~main fixed for software compatibility, but the suggested prio~ity level may be changed (rewiring needed) at the discretion of the user. 95 API ADDRESS API Channel Break Address 0 1 40 41. 2 42 3 43 44 4 5 6 7 10 11 45 46 47 50 51 12 13 14 15 54 55 16 56 17 57 20 60 61 62 21 22 23 52 63 64 30 70 31 32 71 65 66 4 5 6 Software channel 3 7 DECtape (TC15) MagTape (TC59) 1 1 Paper Tape Reader (PC15) Clock Overflow (KW15) Power Fail (KF15) 3 2 0 0 Graphics (VT15/VP15) Card Readers (CR15/CR03B) Line Printer (LP15) AID (AD15/AF01) DB99A/DB98A Data Phone (DP09A) DECdisk (RF15) Diskpack (RP15) Plotter (XY15) 2 2 3 0 3 2 1 1 1 67 36 72 73 74 75 76 37 77 35 Software channel 0 Software channel 1 Software channel 2 53 24 25 26 27 33 34 Standard Device Suggested Priority Level Scanners (DCOl-ED) as needed use 70-77 UDC15 ADC15 3 LT19 & LT15 Teleprinter LT19 & LT15 Keyboard 3 3 96 Each device, when granted service via the APT facility, sends its specific break address to the computer. This address, which will normally contain a JMS instruction to the device service routine, will then be executed by the computer. This type of interrupt service eliminates the need for time consuming flag search routines, and extensive core use for interrupt handling routines, by automatically determining which device requested service and providing immemiate entry to the proper service routine. Higher priority devices will be able to interrupt lower pr.iority routines upon sending and having a request granted. The priority of devices multiplexed on the same priority level is determined by the relative position of the devices on the I/0 bus. The first device on the bus having highest priority at that level, the second having second highest priority, etc. The entire API facility can be enabled or disabled by a single IOT instruction. There is no way to enable or dis.able specific priority levels. However, for iseme devices there are instructions to disconnect its elf from the AP-:r facility. In addition ~o the above, there are two special features in the API facility. These are: a. The CAL Instruction - Execution of a CAL instruction with the API facility enabled automatically sets priority level 4 thereby shutting out software requests of a lower priority until this level is released. b. Program Interrupt - A program interrupt, from any I/O device connected to the computer, sets priority level 3. This occurs whether or not the API facility is enabled. This causes all devices on priority level 3,. all software requests and program interrupts to be shut out until the level is released. Special care must be taken in the programming of the API option to take account of these two features. 97 REQUESTING AN API INTERRUPT - -re-quests for API interrupts are made when device flags, which are tied to the API system, are raised. Device Flag Raised GRANTING AN INTERRUPT - when- the CPU ·receives a request for an ir interrupt, the CPU must decide if that interrupt can be granted under API. If PI is on, request will- be processed for PI N ?lNQTE: Execute Another Instruction ES Hang On tit· highest API interrupt request granted * 98 The CPU decides if it can grant an API interrup~ in response to··the API r~qu~st The .following have priority over API: i} Data Channel Transfers 2) Cl.Qck. bre.aks for updating location 0 00 0 07 .~ PROCESSING AN API INTERRUPT -·in prociessing an API __ interrupt, the CPU 1) sets a priority level bit to inhibit interrupts t from channels _of the same or lower level of priority Interrupt Granted :2) picks up the break address sent ~y the device 3) does a hardware forced XCT of the contents of the break address Pick up break address sen y·device Set priority level bit locking out same and lower levels Execute contents of Break The IOT instructions used to program-the API system are: DBK 703304- -De break -Re.set the highest priority -level b:l t so that operations may be carried out on same or lower level. RES 70774-2 -Restore -Set up to restore the link, page/bank mode and memory protect mode on next indirect instruction. DER 70334-4- -Debreak and Restore ISA 705504- -Inlt{ate Selected~A~t{~i~y -Used to initiate software level interrupts and ~o raise the priority level of an operating program. 99 SINGLE DEVICE INTERRUPT PROGRAMMING When programming a system with only one possible source of interrupts, say the paper tape reader, the handling of an interrupt is straight forward and simple. MAIN LINE 50 JMS PT READ PTREA~~ M2 Stored here after JMS PTREAD DAC ACSAVE LAC ACSAVE DBR JMP*PTREAD When an API interrupt is granted to the Paper 'J:'§,pe Reader, it sends to the CPU its break address (50). The contents of location 50 is "XCT"ed. Since an XCT instruction does not change the PC, the PC that gets stored in location PTREAD is the updated PC from the mainline program (location M2). The interrupt is processed by PTREAD and it does a debrieak to release level 2 .Cits priority level) and then JMPs back to the mainline program using location PTREAD as a pointer. 100 MULTIPLE DEVICE PROGRAMMING When there is more than one device attached to API, handling an interrupt simply requires setting up the associated break address with a JMS to the interrupt service routine. 50 51 52 PT READ CLOCK PWRFL JMS JMS JMS PT READ CLOCK PWRFL el DAC ACSAVl LAC DBR JMpit; ACSAVl PT READ 0 DAC ACSAV2 LAC DBR JMP-1' ACSAV2 CLOCK el DAC ACSAV3 LAC ACSAV3 DBR JMP~' PWRFL With this system there is no need for polling because when a device is granted an interrupt, it sends to the CPU its associated break address, which can then contain a JMS to a routine to handle that device. While in the service routine for one device, a higher priority interrupt may be granted. This presents no problem because of the manner in which return addresses are stored. IOI Mainline program N M Break Addresses JMS LEV2RT JMS LEVlRT • LEV2RT Bl interrupt here LLEVlRT LV2A INSTR interrupt h,~;r;>_E:; LV2B INSTR ~LV2B • B2~ •· ...,._------------.._.._..______________·J~P* LEV2RT In this example, a level 2 device has break address N while a level 1 device has break address M. The routine to service the level 2 interrupt is LEV2RT and the routine to service the level 1 interrupt is LEVlRT. When the mainline routine is j!l.terrupted by the level 2 device between instructions in Bl and B2, the PC is pointing to~B2. The level 2 device sends its break address of N to the CPU so that the JMS LEV2RT instruction may be nxcT"ed. This causes the address B2 (the contents of the PC) to be stored in location LEV2RT and control passed to location LEV2RT + 1. If while we are at priority 2 in routine LEV2RT . an interrupt is requested by. a device at level 1 that interrupt can be granted because of its hlgher priority. Suppose it is granted between instructions at LV2A and LV2B. Then the PC contains the address LV2B. The level- 1 d-evice sends its break address of M to the CPU so that the JMS LEVlRT instruction may be executed. This causes the address LV2B to be stored at location LEVlRT and control passed to location LEVlRT + 1. The level 1 routine processes the level 1 interrupt. When it executes the JMP* LEVlRT instruction control is passed back to the level 2 routine at the point we left off, LV2B. The LEV2RT routine may now resume its operation. When the JMP*LEV2RT instruction is executed, we go back to the mainline routine at location M2 where we left off and continue from there. 102 A. I'--AOOfH:SS t-S --4---NWtS-l-R (.~tll . .A---3~0k-l- lWl-~S lS-A.aS-OLUTE. 8 111 --l-1'- l-l!t-E A-DORF.SS- -l-S---A.-S'i'M80-l-----W-M-t-C!ot---l'-S----O-f:F-INl'.D iU A n.lR-E-C-l'--·-··- ASSIGNMENT 5TAT!MENT CI.E. •) AND THE RIGMT•HAND SIDE OF THE .. !&$,l-GNME-N-1'- tS ...A..-N.U.MBUt- Al...-L.----F.lUU!'.~U;fA.-T..O..-Uif-3.Y.MB..O.L.-W:U.• 1..--.8E ~8801..tJTE II c. IF A USER LABEL OCCURS WITHIN A BLOCK OF COOING THAT rs ABSOLUTE. f Ml ... t...4 BEi.. IS- .A-8-1'-C-t..-U+!.- · -· -- ··- · -· ····-··· ------·· --- ------- ----------------- 0 •. ----\LUUS~E.Sit . U-N-Oi~Pl-!0----tL'f..t!ttlOt..,S, ~IT!RALS EXT~M. TiANSJER -VE-tl'-OR.S-~-.A..NO ---· - GET TH! SAM! RELOCATION AS WAS IN EFFECT WMEN .END WAS ..... .fti!.C-QJJN.TE~ !O l f\I PASS -1-..,. -· -- ---- -------·---- -- --- --- ---· ------- --- - - --- - ····- - ..... .. . .. f •. ---U-l.H! L-OCA T.I nN --C.CUJ-M.-1' !~ --C ..~~().0--0.P--). . RE fi' f RENt.£S-.A . S.V-fttBOi.-- WM%CH IS NOT ~EFINEO IN T!RMS OF AN ASSnt..UTE AOORESS, TME . -U---it!.l..-OC..4T A-8-t.-E-.------- . ---- -----------·---------·- -------·--·------ PAGE SYMBO~ ·-···-----·-··--·-- - --1-·· IE.iAMRL.E OF RE'L.OCAT!-OJt fllJLES .. f.O.R.UNK!N(Lt.,.OAOER . --- • GL.OSL 000005 A sue ----------·-·---- 4•5 -- ------ . 0.0JiJ00fll _fi. _ . S.1.ST.ltl'----------···---------0~ 0~0 R 200005 A STA~T LAC A . l.hAL-R .2U!.!UlL.A . . . _ .. --·· -------LAC lGl--------0~002 R 2~0~~~ R L•C 8 . . 0.U.U--R --i-000 0.et FL. -· . .. . _____ _ _ t.. AC ST,AJi.l----------··-··-- ... ····--.- ···-··- . _... -·---- . 00104 ~ 220~1~ 013.rita.5--J~ 2~0DI 11 0~0~6 R 2~0~1~ E LAC• SUB fL - -- t..-A-C---f-l.0-GI----------·- --· -· . ---· .... · - -------·--· • LAC (START .. ·-.- .... 0Fll0~5 iii .Loe START+! 011-0-~-5 0(llf0~6 R 2-D1001 ~ A --1..-A-C·"··l-flL------------------·------· ··-··-· - . - .... R 2A0Cll0~ LAC START1 ~ --0-'UUIJ .. R 0l'l0G!00! .fl ... ---Sl'...U+-- ---- -- -----------···-··_______ ,,t.,QC! Ill JUJUa .. A 0f30tll0 A 2~0"00 p A 20!00105 -~ rae101,112 A 2!110Ql0~ fl. fUlOJ.03 A 0Ji0!aQJQI 5t l.,AC 8TA~T --·--· ------4..-AC--$..T.AU.t-- --------------- - 00!00.1 ST ART2 fl!JUU.100 .A... __ -- LAC STA~T~ . ..!! ill' - --- -- -- . ---·-- --- ·-· •._f.NA ____ - ---····-·-. ----------- -- . ...... 00010 A 0~0~1~ E •E . rarar.u.1 " 0001 rtu1 A. •t. 0~012 A 0"'0~0~ ~ •L SIZ!1.~0"1~L N0 !.RAOiL-1....l NIt£___________________ 103 ..... DOS-15 V3AfJ00 $A LP -12 $K ON $PAGE ON $LOAD LOA DER V3A000 >P.,.RELOC p RELOC .,.s tQ s~c 77614 mos -1 s V3A 000 $DUMP DUMP V3A 0eJ~ > 7 7 6 l 4- 7 7 63 7 DUMP V3A000 >tC DOS-15 V3AflH!J0 $BANK ON $LOAD BLOADER V3A00fll >P.,.RELOC P RELOC • tS'tQ SRC 77614. DOS-15 V3A00f.l $BUMP DUMP V3AeJeJ0 >77614-77637 DOS -15 V3A fJfJt'J $ 104 ?AGE "!LOC 1 PAOGfUM SHOWING SRC R!L.OCAT?ON !1..!MENTS .TXTL! P'fOGIUM Sl<iOWING "!LOCATION ELEM!~T~ I LAC SVMBOL ?.109.tl}}lilJ R U!0013 ~ "!0Ql~ 1 R 201Z1fll 17 R r.iJiilil!i/12 ~ 0•001!4 R I.AC B# OAC SVM80L+l !7100~3 R 040017 "1 OAC 8 i71Q!~(llA R 220tH3 P. 000~5 A L.AC• SYM80L, OZM• 11 A L.AC• UI A I.AC J? R L.AC R UJ00t 1 ,,,P,~CJl6 R 22001~ :1Jt?llf'l07 R 200Fi H'I 0,1()1010 200Ql21 ~~1'111 2910022 1?1~0 !2 R 040020 "" " ~ii.I~ 1~ R R 0CJJ~000 A 00014 R 0000t:'!V! ~t?-01 ~ R 12100~t14 0t'lt!H6 R GH'H!l0'-'5 •• " SVMBOl. 0!0~~2 ~. o•c c 5000 0 4 ENO 000\illill0 A ~0Pl21 10 CENO LAC CENO•SVMBOL 0000Hi R •L. R 000!001!3 ~ •L. SIZf•rl!Q)Ol2~ 5 .END ' ERROR L.tN!S PAGE LOAD 77b\!'ll 000IAOJet 775~0 2271SU' 0000011.'1 180f l1 7'1b30 000ei0oi 00!01Uli4 0!1J0Pl0121 22001!21 000005 000QJIM Ul1Zltll1o.J 2~'939 OJ(710QllOI 001010 .. 24'11"2' 117833 20JJS:58 011832 1'41830 IJ47934 0P10fUl3 CU1!3~ 00l!f!l!HJI 00118' BANK LOAD 17610 QHU11000l 0PltU100t 7762rt. 77b;,0 2~7627 000000 22!10U! 000000! 160tH t 211811 117833 QH57830 0!57~3~ l1J UHll 121 Pl 2011010 0P0eto.l• 0~Hl0t3 217536 0000el5 2171535 l!HUJl'IHUJ 11H51e;s.c 000003 00511!1210! 0f!0781 105 177!32 ~os-1s V3Afll1210 'Ip DOSPIP V3A00Q'l >L TT COPIA BIN .- DTI 06-MAR -75 DIRECTOAY LISTING 3 46 F1'I EE BLKS 66 USER F"ILES 110 COPIA SYSTEM BLKS BIN 455 - >L TT COPIA BIN .... DK CP> -" \ fll6-MAR .. 75 ...,., DIRECT ORY LI ST I NG 2202 FnEE BLKS CPE S > 32 USER F"ILES 34 USER BLKS COPIA BIN 1567(2) . l 06-MA"-75 1567 100 000070 00012104 ~fC I ,;OS -15 V3AIZJ00 $A DT 1 -14 $A TT -12 $DUMP --@UMP V3A000 455# ' 1 455# 0 0150021 646531 01ZH!HH1'5 034150 074623 262601 230204 fl.lfJ0004 1 eJ 20 4fPH'H!l00 00001210 00201214 flJ41?J4el4 040302 2307 l l'lJ 0012112Hll0 041!!404 001005 000000 £100001 000010 12l00fZI 12 0f2Hll012 015000 002005 60012110 317540 05rll4'1.l4 ti'JIZHll 1211 1 051?.1404 000025 071640 232700 30 4f.l 50 60 7eJ 474741 l flJ0 TO 370 000000 367 QHll~000 420564 040404 040404 000025 000025 777736 777736 407716 230710 412 450 0 012H2J 0 l t2l0000r2l 000004 000005 0226el0 e.152033 005 000 000000 520247 000010 0tZJ00Ul 000011 12)01005 000067 776773 000000 000001 777777 fl011H~l6 7 rtJ4071fll CONTAINS 00tH!J0eJ 0000~0 0000fHlJ 071033 ~~0000 000000 106 lflA. PAGE sft·c .·. COP IA ,,,,,.. .IOIEV 4,5 I I I 00000 " 00000.11 A *G 0fJ0fJ1 ft l!'JfH!ltlll!l l A *G fJ00flJ2 R 00.01PJ00 A *G 00003 Pt 000000 A *G 00f.104 " efJ UJel5 000215 Pt 000001 rJfJfJf.16 R 000001ll 0012107 R 000fJl.!JeJ A *G A *G A *G A *G fJfJfJUJ R .INIT 4 1 0 1 '1 CAL+fJ*1000 4&777 1 f'J+fJ l'J I .!NIT 5 1 110 CAL+l*lfi'J00 5&777 1 0+0 0 I START fJ00UJ ft fJ02fJ04 A *G PJl!JfJl 1 Ft 0 f)eJf.11 fl A *G flJfJl!'J 12 R 000025 R *G lfJ BUFF .DEC *G 00013 Pt 777736 A *G -'.::- - _,,,,,. .REAi 4 1 21PlUEE1~~ CAL+2*1000 4&777 -34 I 00014 R l'J00004 0i?H2ll5 R 000012 .WA IT 4 CAL 4&777 A *G A *G 12 I flJ01!'Jl 6 R 002005 A *G 0012117 R 000011 A *G .WRITE 5 1 2 1 BUFF 1 34 CAL+2*1i'Jlll0 5&777 11 0fJ02fJ R l'i'HZI 0 el 2 5 R *G BUFF' *G .IEC 00021 R 777736 A *G -34 /. .WAIT 5 00022 R 0001!J05 A *G 00023 R 000012 A *G .... CAL 5&777 12 I 00024 R 600010 R JMP START I A 00025 R 00067 R IZltlJ00fJeJ A BUFF I ENIMRK .BLOCK 42 e I fJ000 UJ R SIZE:fJ0071PJ .ENI START NO EfiROFt LINES 107 tC IOS·15 V3A0e.10 $A DK •14 $DUMP DUMP V3Al2l00 >1567# 1567# 015500 034150 646rll31 074523 262601 HJ 2121 000000 0f2lliHH'0 040404 00 l fJ05 30 40 002004 040404 040302 230710 474741 fJ~00lfl 015500 00212105 600010 420564 232700 317040 000011 000067 052033 00001 IPJ 050404 000025 fJ50404 . t'J00flJ25 0407 UJ 000000 005500 517547 071Z33 040404 040404 777736 777736 407716 230710 000rlJ10 00001 l fJ01005 000000 001iH:1HH'l eJ00000· 000000. 000000 Z0~0eJ0 777.777 0 50 60 70 100 110 370 000001 000012 000012 000025 07164&'J 230204 001567 367 fll0rt.1000 TO 008000 000000 000eHr!l0 000004 400000 flHHJ005 000070 000000 i'Jfl.10001 000004 000000 412 450 000001 .000000 000004 000005 . 022600 fZJfiHH~67 776773 CONTAINS fJ0210eJ0 000000 108 000000 111111 RADIX 50 8 VALUES x-A 0 003100 006200 011300 014400 017500 022600 025700 031000 034100 037200 042300 045400 050500 053600 056700 062000 065100 070200 073300 076400 101500 104600 107700 113000 116100 121200 124300 127400 132500 1 2 3 B c D E F G H I J K L M N 0 p Q R s T u v w x y z % . 4 5 6 7 8 9 # -xA 0 000050 000120 000170 000240 000310 000360 000430 000500 000550 000620 000670 000740 001010 001060 001130 001200 001250 001320 001370 001440 001510 001560 001630 001700 001750 002020 002070 002140 002210 135600 1 140700 144000 147100 152200 155300 160400 163500 166600 171700 2 3 B c D E F G H I J K L M N 0 p Q R s T u v w x y z % . 4 5 6 7 8 9 # -·-·· .0 000001 000002 000003 000004 000005 000006 000007 000010 000011 000012 000013 000014 000015 000016 000017 000020 000021 000022 000023 000024 . 000025 000026 000027 000030 000031 000032 000033 000034 000035 002260 1 000036 002330 002400 002450 002520 002570 002640 002710 002760 003030 2 3 4 5 6 7 000037 000040 000041 000042 000043 000044 000045 000046 000047 . --,,- 109 --x A B c D E F G H I J K L M N 0 p Q R s T u v w x y z % 8 9 # - ---- ----- - PROGJ~C )GE 00000 R 000000 A SlZE:02000 .BLOCK 2000 .END NO ERROR LINES PROG2~C PAGE 000eJ0 R . A 000000 A SlZE::07500 .9LOCK 7500 .END NO ERROR llNES PROG3~C PAGE 00000 R 000000 A SIZE:00500 .BLOCK 500 .END NO ERROR LINES \ ffiOG4~C PAGE 0 00000 R 000000 A SIZE:07740 .BLOCK 7740 .END NO ERROR LINES PROG5~C PAGE 00000 R 000000 A SIZE:0500fl .BLOCK 5000 .END NO ERROR LINES PROG6~C PAGE .BLOCK 10 00000 R 000000 A SIZE:00010 .END NO ERROR LINES BANK SLOAI BLOADEPI V3AIU'Jfl .>e+-fR OG 1 1 PROG2 1 PR OG3 1 PR OG4 1 PROG5 1 PHOG6 P PROG 1 SRC 7563 7 P PAOG2 SPtC 6613 7 P PftOG3 SftC 6543 7 P PROG4 SFtC 5fJeJ40 P PROG5 SRC 6fJ43 7 P PROG6 SPtC 61'J42 7 77637 B OTSTRAP .PROGi 77637 2000 2000 75637 PROG2 7500 75637 75137 PROG5 5000 ,.stc 70137 70127 IOS-15 V3AfJfJfJ $PAGE ON 70000 66137 $LOAD LOA DEft V3A fJt!'JfJ >P ...PftOGl 1 Pft062 SPROG3 ,PROG4,PROG5 ,PROG6 p Pft OG l Sfi C 1 63 7 P PROG2 SRC 6fJ3fJfJ p P1't OG.3 SftC 75137 P P1'tOG4 SftC 5l'JfJ4fJ · P PROG5 SftC 7fJ137 P PROG6 SRC UJ127 .,.s tC 65437 500 10 PROG3 500· PROG5 sooo PROG2 7500 60437 60427 60 . 60300 60000 IOS-15 V3AfJfJll $ PROG4· 1140 50040 .......,....,...,....,...,.....,~ 50000 ....."-'.................... PROG4 1140 50040 50000.....-...~.........._----.~ FORTRAN-IV AND MACRO In previous chapters, MACRO calling sequences have been given for OTS and Science Library Subprograms. This general form is used in a MACRO program to call any FORTRAN external subroutine or function. A FORTRAN program may also invoke MACRO subprograms. The method for each type of linkage is given below • . . . . INVOKING MACRO SCJBPROGRAMS FROM FORTRAN A FORTRAN program may invoke any MACRO program whose name is declared in a MACRO .GLOBL statement. The MACRO subprogram must also include the same number of open registers as there are arguments. These will serve as transfer vectors for arguments supplted in the FORTRAN CALL statement or function reference. A FORTRAN-IV program and the MACRO subprogram it invokes are shown below. FORTRAN c c TEST MACRO SU BR 1 READ(l, lOO)A 100 FORMAT(E12.4) c c NEGATE THE NUMBER AND PUT IT IN B MACRO MIN READ A NUMBER(A) •TITLE MIN .GLOBL MIN, .DA 0 JMS* .DA JMP .+2+1 / entry/exit / genera I get / argument I (OTS) / lump around argument registers CALL MIN(A,B) c ... WRITE OUT NUMBER(B) WRITE(2, 100)8 STOP END MINl .OSA O MIN2 .DSA O LAC* MINl DAC* MIN2 ISZ MINl ISZ MIN2 LAC* MINl RAL CML RAR DAC* MIN2 JMP* MIN .END II8 / ARGl I ARG2 / / / / / / I I first word of A store at B point to second word of A and B second word of A sign bit::: 1 / store in second word of B exit The FORTRAN statement CALL MIN(A,B) is expanded by the compiler to: 00013 JMS* MIN 00014 JMP $00014 00015 .DSA A 00016 _ .DSA B $00014,;,, 00017 / to MACRO subprog When the FORTRAN-IV program is loaded, the addresses (plus relocation factor) of A and Bare stored in registers 15 and 16, respectively. 'vVhen the MACRO program invokes .DA, these addresses are stored in MINl and MIN2 and the values themselves are accessed by indirect reference. Arguments are, as described above, transmitted by .DA using a single word. Bits 3-17 contain the 15-bit address of the first word. Bits 0-2 serve as flag. FORTRAN uses bit 0 to indicate that the ~ord specifying the argument contains the address of a word containing the address of the first word of the argument. The MACRO argument word always contains the address of the first word of the argument. For array name arguments (unsubscripted), the address of the fifth word of the array descriptor block is given with bit~ on. For external functions, the MACRO subprogram must return with a value in the AC (LOGICAL, INTEGER), AC-MQ (DOUBLE INTEGER) or in the floating accumulator (REAL or DOUBLE PRECISION) • . . . INVOKING FORTRAN SUBPROGRAMS FROM MACRO The MACRO calling conventions for FORTRAN subprograms are: the name of the subprogram must be declared as global; there must be a jump around the argument address; and the number and mode of arguments in the call must agree with those of the subprogram. This form is shown below, •TITLE MACPRG .GLOBL SUBR JMS* SUBR JMP .+N+l • DSA ARGl .DSA ARG2 .DSA / jump around arguments ignored by • DA /address of first argument - bit 0 set to 1 /indicates indirect reference ARGN When the subprogram is compiled, a call is generated to .DA which performs the transmission of arguments from MACRO. The beginning of a subroutine might be expanded as follows. 11 9 c TITLE SUBR SUBROUTINE SUBR(A,B) CALO 000000 000001 000002 000003 000004 $ 000002 = 000005 JMS* .DA JMP $000002 .DSA A .DSA B If a value is to be returned by the subroutine, it is most convenient to have this be one of the calling arguments. An external function is called in the same manner as a subroutine but returns a value in the AC (single integers), AC-MQ (double integers), or floating accumulator (real and double-precision). To store the AC, the MACRO program uses a DAC instruction. Values from the floating accumulator may be stored via the OTS routines .AH (real) and .AP (double-precision). For FPP systems, values are returned in a hardware accumulator and stored with on FST instruction • . . . COMMON BLOCKS FORTRAN COMMON blocks (and block-data subprograms) may be linked to MACRO programs. When the MACRO program is loaded, global symbols are first sought in the user and system libraries. Any remaining are matched, where possible, to COMMON block names. This cannot be done if programs ore loaded via CHAIN and EXECUTE. For example: FORTRAN MACRO INTEGER A,B,C COMMON/NAME/C COMMON A,B .. '. .GlOBl NAME, .XX DZM* .XX ISZ DZM* .XX DZM* NAME .xx /.XX is name given to blank COMMON /by the FORTRAN Compiler /CLEAR A - NOTE INDIRECT REFERENCE /BUMP COUNTER /CLEAR B I CLEAR c Note that if the values ore REAL (two words) or DOUBLE PRECISION (three words), the MACRO program must account for the number of words when accessing specific variables. DOS-15 and RSX-PLUS MACRO programs may also use the .CBD pseudo-op. BASEl .CBD NAME For instance 1 wi 11 provide the base address of the common block NAME in the word that is created and labeled BASEl; the size of the common block isl • For blank common, use for example: BASE2 .CBD .xx 2 120 MAC~O MACCAl. SRC PAGE ' ROUTINE CA~L?NG FORTRAN PROGAAM eTXTL! ~ACRO ROUTINE CAL~!NG FORTRAN PROGRAM I ,GL,OllL FOAT I l!JOOOOtlOO«UHH3000ttOCHUtOtOOCUHJtOO@Ot0000000000CUPOOf>Oc.tfHtGO PROGRAM R!QUESTS USER TO INPUT THE # OF ELEMENTS TO. 8! SUMMED lN ARRA¥ AC1 TO 11 !~!M!NTS MAY B! SUMMED,. TM! Ul!R INPUTS A VALUE THAT rs ON! LEIS THAN THE ACTUAL ~UMB!R O!S!~!D~ TH! ?NPUT RANGE IS 0•9~ MACCAL CALL! FORT TO ~DD i TO TM! NUMBER TYP!D. I FORT IN TURN CALLS MAC!X TO DO T~E SUMMING. I I I I I I 10 ~ oo ooo ooooou oe7 o~oooo ooto oeeo100' • oot> ooo ooo ooo tJoooeoooe ·. I lU'l0f2100 A 00\iHUlt A %N1!7J OUT•t I ~001110 STA~T ~ alN?T •2,tN.~ST .HUT •3 1 0UT,FUST I ~ST 00010 R ,WRIT! ~3.2aM!Ste34 .WAIT 111113 .READ •f 13,BUFF,3 00016 R 111\'UIT •2 ~0024 ~ I.AC BUP'F+2 200146 I'll 0002!5 R ~4~UH 00026 R 041H 49 00021 R 74110gl] Q)Qllfl30 R 19'!1!'1.1046 000Jl R :S41H52 OJ00J32 R 740100 00033 R 600046 ~0034 R ~HHH46 ~0A35 Ft 0'41055 TAO C•tJIB R R A R OAC BUFF-oil ~ A R R R CK:! Cl<4 SPA JM!J !fltRM!S TAD (1111112 SMA JMP !RRMES L.AC OAC BUFF+2 COUNT I 01812.1:!6 ~ t2G!li90 E JMS• P'OFIT JMP .•2 00031 R 800041 R 91~0•0 R 000055 R •CHU COUNT I 1..AI 01'1J0'41 R 7150004 00042 R '?40211!10 A 00043 R 6HH1.110 R "' SZA JMP AST I I !RRM!I 00054 R e0001e R 0m055 R 00HUl00 A I COUNT .WAIT! -~,&.MES!RR,34 .WAIT 111113 JMP CM!CK 18 I2I /Mlill80, OR >hif51"1 10 ENTRV NOT 0•9 IX•80•l2CI M!ANS XC?2 IM~60 l~t11 MEANS !NTRV co~- 9 ll~OR•72 MEANS NOT 0•0 PAGE MACCAI.. SRC MACRO ROUTINE CALLXNG FORT~AN PROGfUM I 00!21fH5 00057 t!HHH'UI 00061 00052 00063 ~CUH34 0006! 00068 00067 00070 00011 00072 @0013 00014 00015 00016 0011111 R 02l00W R 00HH110 R 52263t R 041500 A A MEii M!S!RR•M!S113•tl0~ 111 .ASCII ITVP! ?N ON! L.!SI THAN THE NUMB!lol OF l'!~M A A ~ 44e1.a'1 A R 04183• A R 42!!11Z111 A R 442646 A Fl PH50l2 A Ill 444202 A R 47UIU! A Fl 444tH2 A R 202352 A R 54fH04' A R 42fJ444 A R 04761.d A R 21»tH3i /A ~ 44UJH? A 00U10 R 4ri28352 fA 00UH R 45UHl10 A 00UJ2 R 5eHi3i'2 A .A&Cl% iVOU wou~o ~!K! IUMM!O Crtl•G)~I ts20ase A 00104 ~ 416531 A Ut0103 R 001 (JJ5 A 4l~2U118 001!?16 R 4!2231 001 ffi7 ~ 342B00 00110 Ft fH6e:u 0ei111 R 94661~ 00112 R 42 UHH5 rH 11 ;! R !a31iH 32 1!01 14 R 341522!5 00115 R @0000~ 001 us R 0640130 A 'iHl.IU? R @1211Ul00J A 00120 R IH2000 00UH R 00QH3Qlfll 0fllt22 R 532031 00123 R 452i!H2 ®0124 R 2fU?2:52 00125 R 320236 1526!0.4 ~0126 00121 R 047@141 00130 R 201490 ~ru:u R 1412HI 01U32 R 42!534• A ,, 0~1;,3 A A A A A A A A A A • ME'.SERR BUF,•M!82ARl2•100~ 0 .ASCI! /VALLI! !8 OUT CH' liUNG!m I A A A ,..A A • A R !Ulll'l000 001~4 R 15228'32 00135 IQ 0425QJ0 00136 R 2~S40t5 A A S~41H6 A 00140 R 202:S1t A 00131 Ft .ASCII cUh11 A A 111ASCll IT¥P! '01119' 122 ONl..Vl•US~ PAGE 3 MACCAL. SRC MACRO ROUTlN! CALLING FORTRAN PROGRAM HHA1 A fJ462t!l2 A 00t4'2 R 084000 ta014~ R 000000 A • IUH44 R 002000 A 00145 ff fHl0000 A 00146 ~ A I BUFF !NDLOC•BUFF11•100~ 0 .e1..oe1< t I 000UUJ ~ INOL.OCl!I! • 100000 ft .ENO 00 UUI ~ U1015el E 'lrl! 001!51 R 1"1"1'120 A •t.. 00152 R 111'166 A •t.. SlZEU111!3 START NO IRROR 1.IN!I 123 OICH 0!02 Pl03 R04 All! rit06 0!01 0!08 ll'09 OIUI Ol lt OI U:! c ,DRTR~N CA~L%NG c c c TMIS ROUTINE 18 CA~L!O BY TM! MACAO ROUTINE "MACCAI."• "MACCALu PAIS!S ON! ARGUM!N1 1 N , TD FORT ,ORT ADDI 1 TO %T ANO THIN••• c THtl FORTRAN ROUTlN! CALLS MACRO P~OGNAM IUM TO P!AFORM SUMMATION 0, ARRAY A~ THEN THE SUM II PRINT!D OUT A'TER TOT•. c c c c c SUB~OUTINE c FORTCN) lNTEG!R A(11) ,TOT 1'1113 OI 14 A(l) •! Ot 1!5 p, 115 ACll•8 AC3,•7 A(4)t8 C'l17 A f 5' ,g Ar6)1119 0!18 Ol 1{~ AC7)•11 Af8,•12 Af9]•13 0!2111 PHH ~22 ()123 024 11125 AC10)•1• c N•N•1 ~215 CA~L 1'1127 f.1128 Wl'HT!Cl!l,1) TOT 0!20 0!3'1' OJ3 l MACRO l~AMPL! c l IUM(A,~,tOT) P'OFH'1A TC HI ,•TCT••.110' RETURN !NO 124 Oll\t 002 Ol03 A0A '9109 0!08 el07 £1108 1110g OIUI i:.11 tlUUJOJ0 C FORTRAN CA~LING MACRO !~AMPLI C THIS ROUTINE II CALL!O ev THl·~•CRO ROUTIN! "MACCALP, "MACCALP PASS!S ONI ARGUM!NJ, N , TO FORT c c C FORT ADDS 1 TO !T AND TM!N,. 1 c TMlS FORTRAN ROUTINE CALLI MACRO PROGRAM SUM TO PERFORM SUMMATION OF ARRAY A~ TM!N TH! SUM IS PRINTED OUT A,T!R TOT•. C C C c 00011 ,DSA FOR JMS• ,DA 00002 JMP 0Cli003 SUBROUTINE FORTCNl 100002 ,OSA N 1130102 11 HHH.tl Pt 1 e 01~ P.114 c INTEQ!R AClll,TOT Af!) 15 00004 CMAICLA 00eUJ5 TAD TAD DAC HHl007 L.AC (00121005 00008 0QHIJ07 00!,10 $130007 00011 lllUJ 01.'lfU2 00013 lUJI l • 00015 cu111e I (QHHIH.lt A 00153 OACt XIA A. CS) •fJ CM Id CLA TAO UJ0QUUB2 TAO A DAC 100QJUS I.AC C01fllHl8 StUHU! I !Hlt!i fHH17 DAC• XIA O!UI A(~'"' lll0l4110 CMAICl.A 01021 00022 TAD TAO OAC 00015 DAC• IXA C01!11U103 A 0002:.\ SOJ0023 I.AC C011l!HHIJ7 0PHOl<4 90100123 • 001!3 QI 17 AC.-,•8 1101e1e eJtlfJ27 CMAICL.A TAO C0fHlllOIA fltlHl.131 001031 TAO A 00031 LAC HHllel31 II 0003~ DAC• IIA tll18 01UJ34 01Ul35 01138 018137 000l&t0 DAC 01l1041 C000GHfll 0f/Hf53 AUU1t CMA&CL.A TAD C01UllUU5 TAO A DAC H.111037 LAC (00109'11 511100;!7 • 00041 Ol 19 10012131 IUIU5J DAC• 7UA AUU tUJ 125 IHl043 0 llJlit 4 4 000415 tH1048 SOJl2H64! 00047 TAD TAO C01ZHH08 A OAC L.AC SHl0'45 C!Ulel012 !!HU53 ai DACw 7UA AC7~•U 0!20 PJ0050 00051 00052 CMA!CL.A TAO (000fUJ7 iAO A 0fiHll53 o~c SllltUHIJ3 fUl054 1..AC (000013 10005:.\ 115 0ltl153 01210!5! OAC• IIA rJl2 i 0t!IOH56 Atl)•!2 CMAlCl..A 000!1 T~O 000e0 0m0a1 QIP10el'2 IH0061 tUHil83 0!22 001iH!l"1 000155 00088 TAO DAC t..AC C:AllAlCL.A TAO CfallHUU 1 TAO A 00061 0m010 OAC L.AC C00\'Ui10 A UlflltUi1 (OHUU114 QH!l U.i3 111 OACt %IA Attn 1111~ ~0H:ll57 (00001!5 50flHH'S'1 111 00UJ3 DAC1t1 %lA 01il07 i fil23 QlflHU2 0el013 01?!014 Q'IOJ0'1!5 0\24 1210!0'16 $00015 IHl011 Pl25 1UH00 00UH 00102 1?125 00U.13 flHlH t'Jtdi AC10)•i4 CM Id CL.A CtamQUl!P. TAD TAD t.H.C A !HJ00115 LAC C01i101H6 c llJ 0fil153 DACw %IA NnN+l L, AC• N T~O C00HllU DAC'* N CAL.I.. SUM(A,~ 1 TCIT) JMSw SUM JMP ®0 i l 0\ 00! 1 @5 ,oiu 4 0 CIHIHH!! +A 00HHJ 011JUJ1 .DSA '60121000 +N ~21 ll'l~U0 00111 CUI 1 U! r;,ae tUHi~ ·0filU4 001 0121116 0!29 us 01?1u1 .OSA TOT JMS• • fil'W WFUTE ce, u TOT .tnu C00!'Ulfll6 .o~u c a OSA 1 .,.,.,.,,., Ill JMS• .FE OSA TOT JMS11r .. FF 111 JMP 1 FORMltT (HI , 'TOTtH, 1 Utl Hht1B7 l 26 llUll IHUl1 110122 00123 011124 00u2e 0111126 .osA 241411 .os• 020SUJ ,DSA 238511 .osA 75CU'12 11 DSA 2;)5311 ,OSA 130840 ,OSA 2451114 001127 .DSA 120UHA 100117 I HH30 "':SOJ 00.ll31ll OI 3 t JMP • ex R!TU~N !ND 00131 0QJ132 0fU:S3 001415 OJl141 0fU47 eJQltHI IUU 151 1101152 0015:3 0011!54 00 U;l.'5 00Ul5 lfU !57 IOI UUI 0Ql181 011162 QHU8i.t e01e.01118! mou ee 0121157 fHH70 PH!lt 71 l'JIU 12 ICH 73 JMP• mm0"'il" 1 D8A .OA .BL.I< 0001112 1 D8A 12100100 ,D&A tUJOJtU I ,DSA 121Hl011JllJ ,OSA 000fJIHJ .CSA A all..K 001HJfl 1 •SL. I< PHU.llU!1 ,OBA SUM ,OSA ,OSA .FE .,D$A .FF .CSA 0101UJ1 ,DIA 08001!15 1 08A 0HUJ01 ·'"' ,OfU 001HJ08 ,08A '91fllll3 ,DSA eJIH.11117 ,DSA 0tlHUUJ.,DSA 0HUUlll .DIA HlllJ011 1 0SA 000018 ,DSA 0fHHU3 ,08A 000114 00Jt74 ,DSA 0!HHU5 . tatU 1! • OSA 0GUllU 9 'OMT • .DA N 000fl.l3 A 00113 ,uc TOT llA * IUM 00131 0fll152 ilfU!3 00!!!14 8 P'lll 00117 01U55 1 FF 1!10U51 .1 • ,F! "''* 11'1'11 11132 m01se 127 PAGE MAC!)( 1 MACRO fJ'fiiOM FORTJUN EXAMPLE SRC I I I I I Ol001210 R HH!l000 A IUQJ0 t R l 2iHl120 ! !a0002 R 8011Hl.106 R 00003 " HH1J000J A 000184 R tH0tlHlJQJ A 0000!5 R 0013000 A .T!TI.! M4CRO 'ROM FO~TRAN !)(AMl'L.! PROGRAM IS CALL.ID IV FORTRAN ROUTIN! TO SUM !~!M!NTS 0, AN ARRAY••lT R!TURNS TH! SUM IN A LDCAT!ON W~OSI lDOR!8S !S PASSED~ .GL.OBL S!JM 1 ~0A I SUM 0 ARtH OJ AFfG:S 18 AAIH JMS• ~DA JP4F' ••• JADOR!ll 01' ASHIA¥ A IADOR!SS OP L.OCAT!ON CONTAINING VALLI! N IAOOR!ll 01' LOCATION WH!A! eu~ ts R!TUR a I LAC• ARGI TCA DAC ARGt 0000e Ft 220004 R 00107 R 741031 /1 0001121 R 040004 R I OJCUJ1 l R 7900013 001312 R 380003 Hl113 R 440003 00014 R 4~1!fll04 00!U5 R 800012 00Ql 18 R 981300!5 tatUl1? R 520000 A R AOO!R Pi " TAD• ARGt ISZ AAGt l8Z ARCH JMP ADDER DAC• ARG8 JMP• SUM R R f'( 000000 A CL.A I Q.100120 R rtHHHH2 0 E •I! S!'ZE•M00!2! ,END NO !RROR L.!NIU 128 UPDATE ******************************** DOS-15 V3A00el $R UPDATE CREATING A LIB.RARY .. DAT DEVICE UIC USE -15 OKA DKA TTA TTA PES PES ?ES PES OUTPUT -14 -12 -trlJ INPUT LISTING SECONDARY ******************************** INPUT d;A LP -12 /DK - 12J $K ON $UPDATE UPDATE V3A0fll0 >NL.-USERLB >I CRLr USERLB CONTAINS ONE BINARY PROGRAM >CLOSE UPDATE V3A000 >NLo1- .L IBR 5 >I CRLF" .LIBR5 CONTAINS TWO BINARY PROGRAMS >I PR I NT >CLOSE UPDATE V3A12HlJ0 >NLo1-MA IN \ .. r AVGLOB >I CRLF >I PR I NT WITH UPDATE MAIN CONTAINS THREE BINARY PROGRAMS >CLOSE UPDATE V3A 00~ :..tC JOS-15 V3A01lJ0 $ 129. tC ************************* DOS-15 V3A000 $PAGE ON ~ MAKING USE OF LIBRARIES LOAD .DAT DEVICE -5 -4 DKA -1 DKA NON UIC PES PES sys WITH THE LINKING LOADER USE USER LIBR ************************* USER PROG CS) SYS LIBR $A DK -5 $K ON $LOAD LOADER V3A0ell2l >P+-AVGLOB,CRLF,PRINT .... ALL THREE FIL.ES ' SPECIFIED. P AVGLOB SRC 77503 NONE PULLED FROM A LIBRARY. P CRLF SRC 77474 ? PR I NT tS fS SRC 77467 3,4,6, 4 ...3 l ,2 ,3, 2 .. 0 V3A 0 012! DOS· 15 $LOAD LOADER V3A 000 >Pc-A VGLOB ... P AVGLOB SRC 77503 P CRLF SRC 77474 P PR I NT .,..StS SRC 77467 ONLY ONE FILE SPECIFIED. THE OTHER TWO PROGRAMS--CRLF AND PRINT-ARE PULLED FROM THE USER LIBRARY .LIBR5 AUTOMATICALLY .. 3,4,5, 4 .. 0 DOS-15 $LOAD V3A0012l LOA IDER V3 Ael 00 >Pc-MAIN ~ THE FILE SPECIFIED IS A LIBRARY. P AVGLOB SRC 77503 EVERY PROGRAM IN THE LIBRARY IS LOADED. P CRLF SRC 77 47 4 P PR I NT tStS SRC 77467 3,4,5, 4 .. 121 DOS -15 V3A0el0 $LOAD LOA DER V.3A IZl el el >P.,.AVGLOB ,PRINT . . . TWO FILES <PROGRAMS) ARE SPECIFIED. THE THIRD PROGRAM --CRLF-IS AUTOMATICALLY PULLED FROM THE SRC 77476 USER LIBRARY .LIBR5. s~c 77467 P AVGLOB SRC 77503 P PR I NT p CRLF •S tS 3, 4,5 fl 130 Dos-15 V..'>A!OfleJ $LOAD LOADER V3A000 >P..,AVGLOB, USER LB, PR I NT .THREE FILES ARE SPEC IF IED e P AVGLOB SRC 77503 THE FILE AVGLOB CONTAINS ONE PROGRAM(AVGLOB) P CRLF SRC 77474 THE USER LIBRARY USERLB CONTAINS ONE P PRINT SRC 77467 PROGRAM·-CRLF-- • .,.s1-s THE FILE PRINT CONTAINS ONE PROGRAM <PRINT). 3,4,5, 4 .. 0 DOS -15 V3AeleJ0 $ 13 t BATCH (NON-BOSS) References: DOS USERS GUIDE 8-30 DOS KEYBOARD COMMAND GUIDE 11 DOS-15 V3A000 $L ******************************************************************* PREPARING A BATCH STREAM ************************************l****************************** $EDIT EDITOR V3A000 >OPEN BA TSTR FILE BATSTR SRC NOT FOUND. INPUT $JOB PIP L LP+- DK <SCR> L LP FILBLK BIN +- DK CP) $JOB A LP -12 MACRO BLG4-ME $JOB GLOAD P..... ME $EXIT EDIT >EXIT DOS ;,.15 V3AIZJIZJIZJ $L ******************************************************************* GETTING THE BATCH STREAM OUT ON PAPER TAPE ******************************************************************* - $PIP DOSPIP V3Al?J00 >T PP ~ DK BATSTR SRC 132 DOS-15 V3A000 $L ******************************************************************* RUNNING THE BATCH STREAM ••• PLACE THE PAPER TAPE IN THE READER *****************************************************************• $BATCH PR DOS.-15 V3A000 $$JOB PIP DOS PIP V3A000 >L LP ... DK <SCR > >L LP F'ILBLK BIN ... OK CP> >$JOB DOS-15 V3A000 $.A LP -12 $MACRO MACR0-15 V3A000 >BLG+-ME END OF' PASS I SIZE:00025 NO ERROR LINES MACR0-15 V3A0012l >$JOB DOS -15 V3A0f2l0 $GLOAD LOADER V3A0012J >Pt--ME ? ME SRC 77612 P LPA.15 049 77050 DOS-15 V3A000 $$EXIT DOS-15 V3A000 $ 133 DISK FILE FORMAT FOR DOS: DATA lST BLK -1 2ND BLOCK DATA 2ND BLK lST BLOCK 3RD BLOCK DATA 2ND BLOCK -1 134 3RD BLK PAI! t 81.0CK IRC ~~OGRAM TO LIST ON TT ILOCKI !N A '!Lf ON DAT 9 PROGRAM TQ L!IT ON TT BLOCKI IN A 'IL! ON .TIT~! I I 1000001ooooooeooo1000000001oto1110111000110a1ooeoooooet. I /PROGRAM L!STS CN THI; T!L!TVP! TH! BLOCKS Ul!O av A ~lLE ISTDRIO ON TH! DIV?C! AISOCt•TID WITH DAT S~ ... /Ul!R MUST KNOW TME STARTING l~OCK NUMBER CGIV!N ev PJP ION DT DXRICTORV OR OBTA!NID BY USING TH! CP> SWITCH /FO~ DIR!CTORV ON D!IK. rL TT O DK C''2 . IWM!N ~ROGRAM HA~TS, P~ACI TH! NUMllR 0, TH! 'IRIT !LOCK /USED av TH! 'IL! JN TM! DATA IWITCH!I AND THIN H!T THE ICONT!NUI SWITCH, I '''~''''''''''''''''''''''''''''''''''''''''''•1000001~~, I I -· .rooe:v a I START DIA /MAICI SUR! !N PAG! MODP:-· . llNlT!AL!!! O!V!C!I ~ .!N!T •S,1,ll!J elN?T 15,ra,e ,/GIT ...............•....................................... 11.0CK ANO ,!l.L IT IN 0' I NU~B!R APPRCP~!AT! WO~D ,....................................................... I.TRAN ll,ANllON. I 80011 R '1411840 A ltl1UU2 R 7101114 A Hl.T llJOll 13 R 1411117 R OAC I.Al I Qt00H 4 R 1 llOJ:S3 R I I I TRAN UUH5 lit /~IAO ?N SL.OCIC NUMBER .___ /FROM DATA IW?TCMIS l'UT IN 1 TRAN E•PANSlON /BLOCK # POSITION TRAN•I JMS !'FUNT l'R!NT OUT !L.OCK # ,TRAN s,1,e,1u,,~1se WA?T a /00 ,TRAN . ...._..... 1 ,/CHICK ..•.................•................................... TH! LAST WORD !N BLOCK JUST AIAD lM, I T~I IJ.fl THll WORD /IN THI '-lL!. I 11. 7'17,71, THIN THI! 91.0CI< JUIT Rl!AO %8 TM!""' 'I., THl8USED\llORDIV TH!I NOT 1'1111 THIN IT II TH! NUM8!1t cur TH •. '!Lie 1 1 ,.........................•.......•..................... /B~OCK I o.111102• Ji UUJ471 01002e R !U1413 00028 Ft 801!85! lU.1027 R 11Ulfl33 R R R lit I.AC llU,F•:!1' SAC C'171'117 JMP !NDFtL. JMI PR'l.NT 135 /PICK UP ~ORD 377_1N BLK ILAIT FIL! ILMt77J117l7 1¥18 IND•PRINT OUT BLOCK • 91.,0CI< Sf'C I••••• *t '* • • • t·• •• • t *•****t • t • t t t·•·•·t •• t t •• • • • * •. /lllT Hl~E WMIN TH!R! AFC! a·Tu.L. MOrtl Bl.OC:K:S. T'O TM!. Ft.1•.i •. t t t t • t t:t • t t IPICI< UP TH! N!•T ILOCI<. NUMBIR FROM w·D·Ro .,,, OF ,!I..!.•.. /PL,AC! %T IN TM! APPRO"PIUAT! ·wORD X:N TH! • TrUN !WPAMllD"N ,.......................................................... /THEN GO DO THE 1 TRA~ I 00031 R 21114?2 R 00031 R 141111 R 00132 A 881115 R ~AC 8U,F•311 DAC TRAN•! JMP TRAN /llT UP TO TRAN IN: N!XT JOO NEXT TR•N ,/CONVERT ................................•..........•.•..•...•.. e OCTAL OlllTI TD e ASCII CHARACTER& ,...•.....•........•.................................... I I l!llU13:S R 811180 A fllRlNT 00034 R ISlfJllJ A 0fHIH~9 R 719110 A 110038 R 1111414 R 00031 ,_ 7111110 A 11.102141 R 75HHUl A G!10041 R 64181! A NXT 101•2 R a.ra•7es R 10143 A 050083 R 00044 A 71511! A 00045 R lt!18Gla10 R I l.MQ CL.X L.AC CS PAL. CL.A L.1.1 3 TAD (81 OAC BUFFO+a.x AXI l JMfl' NXT ,/OUTllUT ..............................•........................ BLOCIC I ,................••....•....•...•................ I ~~····· I .wRtT! •!,a,1u,,o,a .WAIT •I JMPt PRINT ,/ON..............•.•...................................... IND OF FILE, CLGI! DAT •I 4ND RETURN Ta MONITOR I ,......................................................... . I INOFtL 0Rllll55 R • ,. 118115 • ,CL.DI! •3 ,!XtT 00!061 R 181113 !/HUJ82 R 0111110 A IHIOUJ3 fl tl.Hll11 i R IUJQl71 R RHllUH 2 A ll ra00e:s A .IL.OCIC I us • IL.OCIC 481 11111111 R ,END ITAlltT 10413 R '11111 • •L 10474 A 111118 A •L. 11411 R 111111 A •L. llZl•81•11 NO IUUH,A L.ZNll 136 EXAMPLE OF ONE BLOCK OF A FILE1 HF.ADER WORD ff HEADER WORD 1 "DATA" ""' HEADER WORD ~ HEADER' WORD 1 - -- .. 11 DATA 11 I HEADER WORD JI' HEADER WORD 1 - • . l ~ _.. DATA" ,-,_,,_.-_ --- ----- -~","J'-~--:-t;:·'.:t- ,!: ,::,."'j~ ~~;z~t:i>C0'~;, '!j,j'f;;i1::"'-< ~::t~·~1't'.~}.~{:"~~~:::'~~:~,')~~~,1~~~. /'-< " ~ ~, :"~:. "f,:;;~i ~~r,:~ ~ :' ~" ' l"~,r 1r:.,-< ' : \'":~~ ~ ;~, : ~.:.,, ;\)~ ~ ~~. ,_, NOT USED(~ NEXT BLOCK OR (-1) 137 BIT MAPS BLOCKS 71 THROUGH 77 MAINTAIN INDIVIDUAL BIT MAPS FOR ALL FILES ON DECTAPE. BIT MAP FILE RELATION: DIRECTORY BIT MAP 91 BLOCK 71 MASTER l'i /e<. ~-1 BIT BIT MAP l. MAP FILE ¢ FILE l. • • BLOCK 77 FILE 54 .BIT MAP 54 BIT MAP 55 FILE 55 THE INCLUSIVE ".QB." OF ALL INDIVIDUAL BIT MAPS IS EQUIVALENT TO THE MASTER BIT MAP. 138 DECTAPE FILE STRUCTURE (BLK #100): DIRECTORY } MASTER BIT MAP ~-;· t: I ,~- (f: ~-. l FILE ENTRY l/ TABLE 32 WORD DEC .. 224 WORDS DECo THE MASTER BIT MAP MAINTAINS A COMPLETE BLOCK BY BLOCK RECORD OF A DECTAPE BY RELATING AN INDIVIDUAL BIT TO AN OCTAL BLOCK NUMBER: Eo G. BIT POSITIONS. ¢ 1 2J_ 3 41 5 6 71 8 9 WORD ¢ ]__ l 3 5 6 7}10 11 22 23 2'-[25 26127 30 31J32 33 WORD l WORD 3 44 45 0 El'Co 0 21 41 lOJ 11 12 12Jl3 14 34 I 32.. 36 13 15 37 14_L15 16J 17 40} 41 16 20 42 17 21 43 " / 1; u··· t,, nm FILE ENTRY TABLE IS DIVIDED IN 4 WORD SEGMENTS• EACH . SEGMENT DESCRIBES A FILE ON TIIAT DBCTAPEo t( .• .. WORD X WORD X+l T E s T @ @: R c ~ WORD X+2 WORD X+3 s 400005 l fl 11 6 BIT FILE NAME lST BLOCK OF THAT FILE, ACTIVE MSB / 139 = DOS FII...E STRUCTURE UFD MFD l ~ SAT .... SAT POINTER USER l UFD POINTER (MASTER USER 2 I BIT UFD POINTER e MAP) Cll 'II • ~ • 0 UFD 2 RIB •.. lST BLK POINTER 2ND FILE NAME ~ !ST BLK RIB • BLK POINTER 3RD BLK POINTER - ~ ~~ J' ~ BLK !+- BLK • • . ... lST 2ND 3RD ..... FILE ~ ~ BLK "" Master File Directory (MFD) flJ -1 DUMMY WORD 1 -1 OR POINTER TO _!!AD !_LLOCATION .!ABLE 777 l"11 /),.-,,.,,,.·.,ti. '!.: SYS BLK'S FIRST BLOCK NUMBER -1 IF NOT INITIAL MFD BLOCK ~ 2 34 3 4¢1776 ENTRY SIZE (0-2) PLUS POINTER TO §.TORAGE !LLOCATION ,!ABLE 4 2511¢3 ( .SIXBIT 11 UIC") 5 54 POINTER TO USER FILE DIRECTORY 6 4fiJfiJfiJ1¢ PROTECTION CODE FOR THIS USER (fiJ) AND FILE DESCRIPTION ENTRY SIZE 7 ¢ NOT USED 10 j!J414¢5 .SIXBIT 11 DLE" 11 6fiJ POINTER TO UFO 12 49JfiJ¢1¢ PROTECTION CODE AND FILE ENTRY SIZE 13 flJ NOT USED - • - I ~ ~v:_ 376 -1 POINTER TO PREVIOUS BLOCK 377 -1 POINTER TO NEXT BLOCK NOTES: /;1 HF~ MFD = BLOCK #1777 if RF DISK, 47¢4¢ if RP02 PROTECTION CODE: ILLEGAL UFD'S: 1 = Protected Directory, ¢ = Unprotected @@.@, ???, and those that are current to the system - PAG, BNK, SYS, IOS. 141 Qser File Directory (UFD) .SIXBT 11 CALH@@SRC 91 ¢3¢114 ... 1¢¢¢¢¢ " • • 2322¢3 * ¢¢1645 FIRST BLOCK OF n-IIS FILE (BIT ¢ TRUNCATION) . ¢¢¢¢¢2 SIZE 0 F FILE IN BLOC:KS ¢¢1764 POINTER TO RIB BLOCK 2¢¢232 FILE PROTECTION CODE ( ¢-2 ) 1 START LOCATION OF RIB = ·:,;·,- ·- ":J-t) DATE FILE CREATED 17¢623 .SIXBT 11 0FSCLKLST 11 ¢31413 ".. . NOTES: (12-21-71) .." 142324 * I 1425¢i·--l......l -¢¢2045 FIRST BLOCK OF THIS FILE ¢!lJ¢116 SIZE OF FILE IN BLOCKS ¢¢1643 POINTER TO. RIB BLOCK 2¢¢¢¢¢ FILE PROTECTION CODE (¢-2) AND START LOCATION OF RIB 1425¢1 DATE FILE CREATED (12-21-71) PROTECTION CODE: *RIB: • (Valid only if directory is protected) l =Unprotected, 2 =Write Prot .. , 3=R/W Prot .. ' The RIB may occupy its own _block or, if room, occupy an area at the end of the file it is describing. TRUNCATION: !<l.le was not closed., l.42 1'C DOS-15 V3A012112l /7 $A TT -12 1r iY ··· ;,;//·/ ...c- l./'5 $A DK -14 $DUMP DUMP V3AQJeJ0 >1777! 1777# 0 l f2! MFD /( /,( ·' / 7 -, 7- ,;// .-. (. !./'r(":: lo~ '/./!( . (-'. 0121012134 401776 I 11 1723 : f211210053 4001211 f2I f21012Hllf210 --021613- f210012J64 001461, 012H2l010 012l0000 020410 000653 001451 \012112101121 1210001210 221310 001733 367 CONTAINS 00012100 000000 77 7777. 1 777777 i2J21.0 I ~ 7J 20 230322 30 200523 40 TO 370 000000 DUMP V3A000 >1776# 4012Jl2ll 0 400010 000010 000[{)10 1Uell2100ri3 000000 777777 777777 777777 777777 777777 777777 777777 777777 000000 000000 012J0000 121001211210 777777 777777 2QJl2Jl36 ,'G'J 7310 .Q 0000~ 0'0~'~00I000:0 ,~,0:000 00000e 000000 000000 / SAT 1776# 0 0f2141ZJIZllZI TO 1 f2I r. '. l")"l(, fiHlJ400IZI (002432 777777 777777 67 CONTAINS 777777 775777 j 777777 777777 777777 107 CONTAINS 777777 111111 I 111111 77652121 00012100 367 / CONTAINS 000000 000000 000000 0012101210 000~ 70 777777 100 TO 1 1 0 777777 120 TO 370 0 00 000 DUMP V3A000 ___ ......... >66# , -·-- PAG 66#*". UFO ,..:..-.· •.•· ~ <. ,. hD-r t:;_,.:1 ,,:c 0 040424 121121001210 1212 l l 16 f21!2H~i:;t;3 000013 0'210707 10 20 e.153005 06171213 561411 561417 111 623 111623 111623 032524 01141lH?J 022200 010400 011414 052222 242203 0211l6 0211 16 12121116 021116 232203 232203 021 116 000666 000674 0eJ0713 001356 001205 001221 001244 000003 000022 0121012177 000011 000006 0001{'10 000001 000672 000761 001327 001376 001217 001445 001244 200170 073 H'l4 100 TO 370 000r2Jr2H2J DUMP V3Af21012J >65,)# 367 000000 000000 000000 000000 00000121 777777 777777 031Zl305 30 40 50 60 70 212i0 l 46 2fiH:J062. 200254 200244 200172 200026 CONTAINS 00000121 073104 031205 10120 4 0 7310 4 10120 4 BDH UFO 653# !2J 062416 611516 02 1116 001455 000001 r2J01455 200152 10 042515 000000 02111 G 1211211457 121001211211 12101457 21210066 030305 20 3121 40 50 370 042515 042515 561411 153100 153100 022265 300324 300325 021116 01211465 01211467 0015.34 000001 0f(H?J022 000001 001465 001555 001534 200026 200002 200052 03 03 05 000000 777777 777777 TO 000000 367 000fZJ00 CONTAINS 12l0012l012l 000000 00012lf2HZI 000000 DUMP V.3A000 > 14~ I ··~r13 1Qf4-- 030305 03~305 PAl'CH: SUBJECT: 005-15 PAl'CH TO DUMP V9A The following patch corrects a problem in DUMP which outputs incorrect information on selective dumps. LOCATION OID CONTENTS NEW CONTENTS NEW SYMOOLIC COMMENTS 16256 17472 17473 17474 17224 217406 617472 116¢34 2174916 616257 JMP PATCH /Patch area /Device check /Restore insto /Return JMS DEVICE IAC {-1) JMP. BACK. 29J649J9J DOS-15 VIA $MICLOO SYS $DUMP DUMP V9A tC $R PATCH .DAT -14 DEVICE UIC DKA SYS -lf?J TTA SYS USE I/0 - S¥S DEV SECONDARY INPUT $PA1CH PATCH VlrM >DUMP >L 16256 :> 16256/2174¢6> 617472 16257/(657172> > L 17472 >17472/215116>116¢34 17473/253512>2174¢6 17474/¢55116>616257 17475/21475.3> >L 17224 >17224/1¢64¢¢>2¢64¢¢ >EXIT 005-15 VIA $DUMP DUMP V9B > 144 I I I I I I I I I I I I I I I I I I I I I I I I I F%RIT PRINTING, FEBRUARY 1914 TM! INFORMATION IN TMfl DOCUMENT rs SU!J!CT TO C~ANa! WITHOUT NOTICE AND SHOULD NOT !! CONSTAU!D A& A COMMITMENT IV DIGITAL !QUlPM!NT CORPVRATlON. OIG!TAL EQUIPMENT CORPOAATtCN AllUM!S NO R!S'O~~ SlSlLXTV FOR ANY ERRORS TMAT MAY AP~EAR IN T~IS DOCUMENT, THE SOPTWAR! D!SCNIBID IN THIS ~OCUM!NT %1 FU~• NtSH!D TO THE PURCHAS!R UNO!R A LICENSE FDR USE DN A S%NGL! COMPUTE~ SVSTiM AND CAN B! COPf!D tW!TM INCLUSION OF O!GITALte COPVRIQHT NOT%f!) ONLY FMR USE !N SUCH SVITEM, l~CEPT AS MAY DTM!~WJSE B! PRO• VlO!D IN WRITING ev DIGITAL~ ' OIG%TA~ EQU?PM!NT CO~PORAT%0N AISUM!S NO R!8PONSIBIL%T FOR TM! US! OR REllA!l~!TV OF %TS SOFTWARE ON EGU!P• M!NT TMAT %8 NOT SUP~Lt!D ev OtllTAL, COPVR%GMT CC) 1914, BV D!G!TAL !QUlPM!NT CO~POAAT!ON .EJECT ~5 ICOP¥RIGMT 10'~~ DIGITAL !QU!PM!NT CO~P~, M~VNA-Da MAS!~ IPFt8 0 IPR!,~lO~S PAPE~ TAP! R!AO!R MANDL!R ~• JOPI lSC!I IMe SIFNAS/Ja MURPHY 11a:S0nfl8 S!QU!NC!U ICAL~ING l11IN?'f IC•b+aDAT SLOTC1~!1, ll 10 lfli l,.,FU:AD ICAL•OoMsf~.,,.~DAT SLOT '0~1~' IU> l~lN! SUF~ AOD~a 1~we a~ L@B~ c~·s COMP) l11WAIT ICAL+~D~T (0R1?l $~OT 118 41 Ml!Dl\13 IUH:Hlta3 1' 709JUH A ?ilHH M~ fA 10~112 A RCF•1G'HlH02 FH~Ste?i!llH 12 1~fil104 A ~5A~?t.HH~4 1ftliH44 A ~S8is1001441 ~IP"B7'00UH .G~OaL P~B0 ~0000 ~@~~l Q.111H,02 ©00~3 000~4 ~ 0~~34~ A ~~0341 ~ ~4~;,41 ~ 2~~3.1\1 R 441~~1 cue PAC•L.P R ISZ Pro.~GP ~ ~ L.AC1tt l'ilfURGP /CAL PO?NT!FI IARG PO!NTI~ . ltND!M TO ,UNCT?CN ~OOR~ l,UNCTtON "l' AO f JMP PRTABI.. CHIC ~RTA£H. ?ORS ll!T ~ ~ OAC PFUFHJP III PRAR€3P 1i10ti.HJJC'S R 34042t JL 01i.10~B ®0GH1l?' Ol~til Hl ~~111 0~012 ~0~1~ 10~14 ~~~16 0~HH 6 00~11 ~0020 ~0~~1 ~00~2 00~11 R ta41li014 ~ ~ 101fJ314 A R '.1£51U0~ R 71774m A R 3~~160 R !.,AW DAC P~DBK ~ ~RTABL NOP JMF P~S!i!I< 141iHll00 ,. sm~021 ~ ~ ~ am014~ R 910052 R 00m24 R 6~0~75 R ~0~~5 R 8000~7 R @0fiHH~!1! !¥10ia~@ JM~ JM~ 131.SI!~ P~!R6 l.,AW 15 llN!T PT~ 146 !GNI 11~ 1 1 MTAP! e ?~NOR!O~ llfiJ1t1 1 R!AD. 1111.1tHUT! lta~,WA!T llLLa ~~U,lNE 1111 l8~ 111 CLOSE ~~RIO PAi~tl JMPw f@M!D1H iii !5104la3 R 111Rl!NAM, ~FSTAT • IGNORED, 14 ill! !tll'T!tlll l!t.,Cl..!U! 111 JMP PlhUTR R 00ma1 ~ 1em00e A /i!\11alNl'f 11'~~01!'.L.ET, JMP f!llFt!R6 JMP PIU:~a JMP PfOU.IT JMP P~OEH!t ~ ~ 01fl !Hel f.l. X!t JMP F!RlN em0031 R R Gta00~6 R ~~0021 SWXT~M TAO fitfUON R ro4mm5~ R ~ ~ roN~IOF IAI 'UNCTION OF ITS STATE 1'''140 ION !Nf~V ?NTC CAL LEVEL S~AlCLA A R 7•004~ A /!NO!~ ~O Nl~T A~IU~!NT~ r DR .WA!TR FUNCTtON•fA~ ~DOR !N ~MED PRB, 0011i R 441~41 PAB. 00!8 ~ PRlN 00032 R 21141A R Ill PRARGP L.AC CtU 0003a R 080341 R 101a4 R 441341 R DACw PFURGP 0iHl:S! R 1111150 A PFH.. BHP CAL. 90.I 1 l'I PARER PTFUNT 10038 R 111119 A 00137 R 711111 • 11141 R 111141 R ISZ PIURGfll PROBP RI, 0fUh41 R 2011l143 R llRUNO 00~•2 R 041015 R 1e1u:s R s0e044 R PTIOIC 800•4 R 141141 R PRSTOP OZM PNUND IPTR WAlT PRWAlT L.AC PRUNO SNA 00045 R 2011·0 Fi CUll49 II 7•HIOJll A 10141 R 111151 R 00151 R 211340 ~ 00151 R .41341 R raeirasa R 741thUJ • PRCKAR JMP PRDBIC llRIUIY LAC PNCAL~ DAC PRARGfl PRDll< lCX 0011Jft3 R 71:53441 A 111191 R 00058 R 441341 R 21e0a1 R e1ruu11 A 00060 R 78 UJOJtll A 00061 R 918341 R 10011 R 741211 A 10083 R 911149 R 00084 R 1103411 ~ HHUSS R UJl42!S R !ll0PJ68 R 1413413 R 01UH37 R 11111341 R DIR lCCT .+1 JMPt PRAllH, llRNOR•PRDBK PRSl!K llZ PRARGP PMD8Kl JMP ~RDBK flRlllATR I.AW UUJI JMll PIUUIT cu A ra.oua~e R I • CHAR PROCllS!O ICL!AR !10 UNDIRWAY INDICATOR llT!l.L AIAD!NG llUIY~ RETURN /TO UllA eAL, /!ON 0, 10, ID!IRIAK ,AOM CAL 1.!VIL AND RIST /!XIT /WAIT 1:wAZT" L.AC• llAARGP AND ('11,11 IBUIY ADORISI AND C780111 DAC PRCAL,P !SZ PIUAQI' JMP PIOIAIT IZI~ 1 /PARITY IRROR IWITCM I • !JO UNDERWAY I • tis COMP WORD eouNT L.AC llRCALP mmm'3 A ••8!41 • 01U.114 Fl lllllcH5 R 10101 R 041141 R 10101 R 111167 R 00102 R 141131 R 00103 R 111341 A 101~4 R 140037 R l~l!TUP • L,B~H~ PO!NT!R~ I • DATA WORD ,O!NT!R AND• PRCAl.P DAC PltCAL.P HU.118 R 1412CH A 01Ul77 R 8110150! R • ONC! ONl.V COD!; THE SNA 01070 R 511426 ~ 00011 R 1•1340 R 00171 R 148140 R 00115 R 218141 R AODR~ /STD, PTR ROUTlNI, e1.EARING iio awtTCM IUHIJ84 R 411HH5 Ft 00085 R 610141 R L.AC a•I DAC ••I JMP PRITOP /AP! llTANOARO SU,,!R 1!2!•62 /tNDIX TD RETURN ADDR!S8 IL., tOt 1 Mil' lCOR P~CAl.P ITO NtJNelUIV IPTR RIAO ROUTINE PRM!D I.AC PRUNO l'l.10 UNDlllHUVt SZAICMA /NO START lT Uri IYll•WAIT IN BUIV LOOP !ACK Ta- C JMP PRBUSY llTART UP PTR PRSTRT OAC PRUND /SIT 110 UNDERWAY IW?TCH t1171'1 /EXIT 10 Ul!R•MAINITR!AM I.AC l'RDIK% OAC !'TROUT PRN!XA ~AC• ~RARIP IL.l.H PO!NTIR IN CAl.L DAC l'RDBP DAC PFU.BHP 00 UHS R 4·U134 t A lSZ PRARGP 00107 R 220341 R I.AC• ll'IURGI' 147 IL.l.H~ PDINTIR OAC P'fRWC 001 U1 R 0400AI ft 10111 R 440341 Ft 18% PAARGll 01112 A 781010 A I.AW 7£!11PJ 4NO• PRCAL..P 00113 R 520340 R 00114 R 941427 Ff IUIU! ,_ 81H11IOJ A 00116 R 781011 A 00117 R 120413 R Hl11Ut R lfHIJ430 R 00 UH R 1214fill347 R SAD CIHJlll JMfl .•3 L.AW 1 JMP• C.M!0•1 L.AC C1 lfll OAC PRDTCT 0ru2a R u.10a11 ,, HH23 A UJfJ311 R 10114 R 7'171'13 A JMI PRN>OID JMI PRNXWO P~1CA rlHU35 R 7000112 A 01135 Fl 70JIUJ4 A ~0137 jol 140040 ,. 00140 R 6111!1 R 00141 R 140342 R DZM Plt8CT flJltOUTI o•e PTFUC I.AC PTIUNT DAC PROUT !ORI SMAlCL.A t!t0147 R 340t6eJ R 00 UUJ R 601U 55 R ~TRPXC 00Ul2 R 220432 R 0011:1;:, R 0410i943 Ji R PRIION /PlC ON OAC PTRAC /SAVE •C L.ACw (0 IP!C•PC. L, EM, MP OAC ~~OUT L.AC PR!DN OAC FIRS~ ~MS !llHON R !11401~1 R 200041 R 741200 R 900200 R R A R '1J0UUJ 00187 tUl170 00111 R 700314 A Ff 500431 R R 74UUll A A 6tUJ20?' R l~EAO L.AC PRDSMI DAC PTRDUT L.AC !'RUND SNA ~~OSM! /PtC OR AP%, L, EM, /PIC 01'1' OAC fllFtCliUR ION 0m1e1 R 2101ee R IAPt !NTRV, SAVE AC L.AW 1771UJ R 00S82 001193 00164 00165 /IND!X ~AST L:e~ H!AD!R IP'DR ?OPS Al!ICf l 1911 CHAR /COUNTER ICL.!AR CHAR CT, /CL.EAR ASCII 8TM ~IT S!T eou~TER ' ICLIAA PARITY !RR. IW!TCM TAD PFUCN JMP PFUUON A 001s0 R 700042 A /!OPS ASCII DATA MOD! AN lDF AIA PTROUT KX IJMP PNDSK OR JMP PRDtSM IPTR INTERRUPT S!RV?CE PTRJNT JMP PTRPlC IPIC !NTRV P.10144 R 700114 A R , IWD. ~AIA CT. OF It FOR HEADER. JMP PfUOM 10145 R 71UtUJ0 A 00148 R 777140 A 180154 R 2GHU60 00155 R 0413151 00158 R 110112 IUH!? R 041043 10R8 l!l.L!QAL DATA MOD! AND uraei0 R 1418343 R 00 tlH R 040342 R OZM PARER /CH!CK ,OR !OPS ASCJY MO IZA 01!142 A 21UH4f.I A 18014~ LAW 111,3 OAC PTR87 OZM PRCCT Hl125 R 0'40344 R 1ae.11 ae i:t 1•1:s4e R 00127 R 140340 Ft OHH311 R 1411UJ41 R 9.111~1 R 1191314 A m0132 R 500431 ~ rUH33 R 740200 A tUH:S4 R 601U72 A l·L.~S~ w~ e~ (:2 's COMP> 1%NDEX TO PCINT TD !~tT JMP PRDISM lORI AND Ctllll SNA JMfl PRtOA 148 /SAV! ,O~ PTR BU~F!R EXIT M~ PAGE IPfH~ 1 0Ql0 PRBn l!NO OF PAP!~ T•PE ~OUT!N! !ll0112 R 1(1.10433 R 011'1 "~ R WJ4!U143 R riHH14 ~ 12004~3 R 001n1 R 340~47 R 00U'e R 040:!47 R 01U 11 R EH8IH?!5'1 R "10(U'l0 R 2@!2li4li! R 00il'-11 R 49HU52 R 00202 R 103344 A !UJUJ:J R 40UU!4 R 00~17l4 ~ 61034~ R 00205 R 1411841 R tlHH!lll@ R 4flHH:S1 R 00a01 R 2f300l42 ~ tUl2UJ R 140UHll A ®0iU1 R EUHIJl17 R PRICIM 1..AC TAD P~D'f CT JMP PAP AO lll'RD?SM ID!8AIA~ JMPt F'ROU'f l!ND 1..IN! PIUOBB DZM PRUNO l<C:i ~TRDUT IPROC!S8 iops ASC!I PRlOA 1..AC PTAWC PARlT~ I.AW 11110 OAC PRCNT OZM l'RCN'f 1 !..AC ~RCMAR HI PROUTI ~ J~P R SAO (14 ~ R JMP PROU'fl L.AC PRCl-IAR A SN.t. 1022'1 R s11u:u ~ 00231 R '14fll0UJ A lll0231 R 741400 A 00232 R 440361 ~ • " /tt;NORI L.F 1:1'.GNOtU! V'f IUJNO~I JMP PFH3UTI ,, /NULi.. S!L,. Ii !IT COUNT!R IIZ PRCNTi '.tS! PRCN1' ...... JMP SIL. 18% llfU&CT t!'Z P,.CCT QJ023t'J R ~4fll345 R rD0240 R 2CHl3fH ~ QJ0241 R 740020 001242 A 1414"0 A 00~43 R 44iHUft! R 0tt'H244 R 1 tHll3124 rl 00a~!5 A 15111434 R 00246 R 9421'4~4 R 00241 ~ 60013! R UJ2!51ll R 1 ftHl.133~ R 00Ui1 R 100324 IPMUTV COUNTER (•I' ~AA R 00231 Ff 440346 I" /V!S•••CONTHJUI? UNTtl.. c~ AND CU'? SAD SAO (1(5 ~ 6flHU!30 R R 1.41•00 A /IEE !F !MC!SS OA'f A AND llC?'f I, NULL R 00234 UNCIRWAY IND!CATOR l!XfT JMP PfU8!3 JMP PFH'JUT2 R 44fllJSf!U! /CL.EAR INPUT &MA R 002~U FROM HANDLER L.!V!I.. ~ XCT 111+1 us ~u1a3s l.,AC P'l'FUC )(CT IJiliiiJSlll oaR Ql!i'.12 R 21012143 A 001Hfll R 900434 ~ 0021'1 ~ 5404315 ~ R @UHU3 l R 9404:!6 A l!UHU31 R 9413431 00224 R 6111131 01111!25 R Ul!ll12143 00228 N 1~U!00 (4 IC~EAR 110 UNDl~WAY IFAI<! OUT END OF l..lNI TEST. /CHANG! MOD! ITO !OM OAC f'RD"f CT A 00212 R 00213 R fll40350 R 00214 R 140351 Ii 00220 1110221 00222 ia021n cus OAC PACl-lA" ICOM~UTE 1"I.,.,.,0 1..AC PF! %(.'Ii\ 1 I.AC PRCN'U RAR sn. I l l PARER JMI P~!NOT AND ( 11'7 SAO 011 JMFJI PR OU Tl JMS PRPl<S? JMS PAE NOT 149 llTM IUTli, ADD TO COUNT IPA~!TV COUNT•IMOULD I!! !V!N /NOT !YIN PUUTV ICONV!~T ALTMOD!S IDRO~ A~~ BUT 1 81TI ID!l.!T! COD! CRU80UT).;_%GNOR@: /PACK !NTO 1..,1, !N !I"! PAGE IS PRB, 0m0 Piii!. 00252 R 741iH11.10 A 002s:s R 500131 tl.102!14 R 2003-46 00255 R 540440 00258 R IH1124 Hl257 R HHll:144 110280 R 5Ail41!5 002151 R 511285 00262 R 1!HH00 00263 R 100353 002154 R 8QJ0257 SMA JMI' PAOUTI Fl !If R SAO (1 Fi A R " A R R 00265 R ~H'l034' 00285 R 0151Hl38 00287 R 200346 u1210 R 5411348 00211 Fi a1UJ217 10212 R 200040 00213 R 140!1HI ~0274 R 1181441 00275 R 260036 R Ul215 R 081036 ~ R ~ Fl !( R A R R QHllQ11 R i<'HU24 R U1300 R 1fHUH A 00U!1 R R OJ03rl12 R 3.i01~7 R ta03t113 R 040f.137 003°-'4 R 7774HI A FIRPAD ~031241 00~25 ~m:ue R HHHICUJ R 21HJfl4! R fUHll434 10327 R !41U:S! JMP PRAS! /PAD LAST JMS P'"PIC 5'1 IWORO PAIR JMP PRPAO /!ND OP' ?OPS AIC?t L?NI PRAS! L..AC PRDTCT IWD~ PA1R. COUNT CtNCL~ MDR~' OAC• PRLBHP /WO.I L.el.H. LAC PRICT 10!0 A~L CHA~•& HAY! !IT 8 SAD PRCCT /NO • !OPS ASCII CH!CIC PARITY JMP PRA8!3 /VII• ASSUM! NON lOPI ASCt! Pll'UU'.I L.AC PAR!N /NO L.AC (20 /VII IPAfUTV IRROR SZA PR48!4 PRAS!3 XOl'h PRL.BMP OAC• IPRL.BHP JMS 11,.INDT IPA&CLA&CMA JMP l'RIOBB TAD PRDBPI DAC PROBP IPAfUTV /ERROR JNDXCATO~, llKrP TC END LINE IC,~~ 'OUND • !WIT, IPO?NTS TO l,.AST CHA.Ft I.AW 17400 AND• PMDllP " >CCR (33 " A R R R 10330 ~ 180.IOJtS A 00331 R 5'4044• R 1110332 Ft 78017! A 121~:S33 R 54GU49 R l!GNO!lf! l!NGLE Cflt L!N! /WORD COUNT lLL S!T~ CLA " A 51eH!l37' R 341441 R IH.1037 R A 44QlfJ:J1 ~ 00311 R 220038 R 0CUi2 R !511443 R II.all 3 R 141U.113 A HJ314 R 900131 R 00315 R 2'1J0443 ~ 0!03 us A 8"10215 R 00317 R HHU.llHI A QJ~;)20 R 441Ul~1 II( 10:uu R 4.CHJ41 R 103112 R 1520317 R HJ3Q3 R 80!018! R JMP PVIHCR L.AC PTR91 SAD PA'5CNT em0ame 00305 fU1318S U.1301 HJ310 INIMT AICll CMAA 1..AC PRCCT OAC• PRDBP IIZ PRDeP L.AC• PRL!MP AND eee S!A JMP PA OU Tl I.AC (150 JMPI PRA&l4 PRNMWD /PUT Ci:t IN I.A.IT NORC PAtR !INCAIE MORE 8ll'OR! CR IYAl..!DlTV B!T9 AL,AEADV S ILINI! !U~,IR OV!RFL.ow: I ISZ F'RDBP llZ PTRWC: JMPw PRNXWD 1%NO!X TO N!XT OATA WORO llNDEK WOAD COUNT /EXIT ,OR NIXT CHAR JMP !'PUS! l!XlT TO !ND OF %0P8 ASC!! LINE 1£~D 1.INI T!ST • CONVIRTS A~TMODI TD STANDARD 118 llR!NDT ,_ 0 I.AC PF_;Cl'fAR AND (171 SAD cus I RETURN I.AW HJ ct 115 L.AW 175 IAL.TMODI! SAD I AL. TMCIOI! SAD c178 150 PAG! 1 132'1~34 R 78fU 78 A 00335 R 840442 R 003~1 ~ 18017! A 10iU1 R 121324 R UJ3.41 A ltHl011 A 110341 R 000GHHI A 00342 R 0~0010 A HJ 3 4" R IHHUU.ll'll A IUJ:S44 R rBIH.1000 A 00345 Ill 01Dl'HHJ Hl3A8 R PJIH.IHJI 10~A1 R llUl0013 00390 R 00VHHlf21 003151 A IZll'IJGJIUJG.1 IU'l392 R llJIUHUJQJ A A A A fA A 01393 Pt QUUHllUI A I.AW 175 lllCAl'I SAD C:J~ L.AW 1'1 JMP• PR!NDT IVARlABLIS•NOT SAVID•APP~¥ TO CUNRINT ACTIVE ~!~U!ST ~RCALP m ICAL POINTER PRARQP I IARGe LIST ANO l~!T POINTER PT~AC m /SAVIO A~f INTl~RUPT) PROUT I /PC.~1IM,MP PTN51 I /CMAR. POllTlON COUNT!R %~ !17 PAtR PRICT 0 IAICl!•WITM•ITH•BlTwS!T•CHAR CDUNT!R PRCCT I ICH4R CT. PAOTCT I IDATA WORD PAIR IN LIN! CDUNT!R PRCNT 0 /PARZTV CHICK COUNTIR PRCNTt 0 It SIT COUNTI~ ,OR PAR!TY CM!CK PRIW a llON OR IO' 1917 ?OPS ASCII PACKING ROUT!N!~ I PTRBJ %1 %N!T!ALZl!D TO 7?7,,3 I PRIOR TO TH! llT tALb~ I PR~K97 10394 R 1•21320 A 103!5 R 742111 A . /CHAR~ JN AC lfTS ll•17~ 0 RTR /MOVE TD AC llTI 1•8 1131!18 R ,, 4Ht21 A IH3151 Ft 74202f.I A RTR RTR RTR eHB;JtllJ R 1413&11 Fl DAC flRTMI' 10~81 HJ~83 Plltfll<BK DAC llRl.PCT I.AC PRTMll FUL. 181365 R Q.14039f.!I A 10388 R 801421 R PR8CKI I.AW 00ie1 R 77717! A R l•UJ:l!H R R 101350 R 10384 R 7AllUJ A ,,.,,, l•'I DAC ID"TMP ~AC PRATH, IROTAT! CHAR l..!l'T 1'1 llTS THROUIH /TH! DOUBLE WOAD l•CCUMUL.ATOR rHl387 A 741011 A l'UL. IPRL.,•U•iPRRTHI' • 00311 R 141•21 R 00:11! R 201420 R L.AC PFfL.ll'HP' H1311 R 74111111 A FUL. DAC PRRTMI' OAC PRLFHI" 00313 R 140410 R 11314 R l103St Hl;s75 R 74£5200 11:171 R llUJ41'U !110311 R '4-i0HI l ta0401 R 8tHJ313 00401 R 440344 R 1121411 Ft l!U.1353 Jf 00411 A 818386 R 10404 R a121ra.ia0 A 3\?1405 R 0fJCIUJ37 LAC llPRl..PCT R A R R R ~ 10•08 R 109317 N 10401' R UHIJ42 i Ff 10410 R 110037 R 00411 R IOUJ3~7 R 00412 R 141431 R PRPDN! INAlCLL. JMP PRPDN! !S'Z PAL.PCT JMP PRPl<llC Ill PTR!7 JMP'w llAPIC81 JMP P~BCtCI L.AC PR~FH, DAC• PRDIP JM& PRNXWD l'I. WOPl-DI AL.L &IT 1 Ill ' T!M!I COUNT l~HAUST!Of /NO~ /DC WI HAY! 0 CHARI~ INO~ !JUT L.AC PARTH, 1awiFT LIFT ONCI MOR!~ IP~ACI ACCUMULATID II WORDI INTO /Ul!NI LIN! BUF,IR, IUPCATINI PDINT!R8 1 TAD CUlll /lNCllMINT IDATA we. PAIR OAC• PRDlll I.AC PRDTCT 151 PAGE a PRS 11 "'"· tUllJ 10413 R 0411347 R 00414 10J0iU7 ~ 18041 !I R ., ., .,,., 3 A " flRSCNT OAC f'RDTCT JMS fl .. NlOID L.AW 11113 004US R 141344 R 1!10417 Ff e21as3 IQ GH.1135tll 011315! R DAC l'TR!7 JMP• PNPl(!11 PRTMfl1PRCNT 00410 PRL.l'Hfl' PR RT HI' " R 111111 " euu; 1 R !HlllUlllll A " 'ra,IND " " • SlZ!tUlll448 ITIMll: ITORAIH l'OR 91'1 CHAR~ ,a. 11 11!4122 R fJR11014 •L. 104Q:S R IHllUlllA A •L. 10424 R fHI0.184 A *L. 01425 R 1180fHJI A •L. 004115 R 1'1'11'11 •L. 18042'' R 0021ZHH A •L. 210430 R IUJUUJI A •L. 00431 lit 011000 •L. 180432 R fHJOJ0H! A *L l!H1J433 R 00Jl!U!5 A •L. H1434 R 01H177 A •L 00435 R HJ0lH a A •L. 01l1435 R '1101Ul13 A *L 1804:57 R !!HU.II 14 •L. 1211"40J R ICUJIU.11 A •L. 00441 R l'IH!.l!BIUJ A •L 10442 R HHHJ33 A •L 00443 R IHU180 A •L. 0Vl4iU R QHU.11715 A •L. 00~45 A 00HU 78 A •L IRll!T S CHAllt COUNT!llt IAOTAT! 7 1%TS COUNTIN 1 II WORD ACCUMUL.ATOR 181' WORD PAIR, PFU llCT1PRC:NT l lll!HJI A /COUNT NO ERROR 1.XNll 152 I TABLE OF CONTENTS PAGE.NO. SECTION INTRODUCTION • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 0 • • • 154 UNICHANNEL 15 HARDWARE ARCHITECTURE ............... •.• .... 155 UNICHANNEL 15 SOFTWARE ARCHITECTURE ...................... 158 MEMORY LAYOUT PIREX TASKS 8 •.• 8 e e 0 0 e e 0 e 8 8 8 8 • ............................. . 162 0 8 8 • e 0 9 • 8 0 8 8 8 e & e 8 8 e e e • e 0 8 8 D 8 0 e 163 .......................................... 167 MX15-B MEMORY MULTIPLEXERS . .... ........... ............. . 172 INTERRUPT LINK PDP-11/05 CONTROL REGISTERS • • • • • • • • • • • • • • • • a • • • • e • • • • • • • 171 ............... . . . . . . . ... ... . ..... . 174 SYSTEM RESTRICTIONS ............ ....... ... ..... .... ... ... 175 PDP-15 UNICHANNEL OPTIONS . .. . . . ..... .. . . . . ..... . .. . . .. .. 177 SYSTEM CONFIGURATION ~ J53 INTRODUCTION This guide _describes in more detail, the UNICHANNEL 15 operation and features presented in the RIUS Disk Cartridge System Option Bulletin.• The first section ••••• presents a look at the UC15 system architec~ure. The second section •••••·describes the PIREX montior system; how to use it and other software aids. The final section ••• ~ •• provides, for those interested in creating iheir own programs, a complete hardware specification including IOT and register descriptions. ~ . Supplem~nting this guide are· two manuals:· Unichannel 15 System Maintenance Manual: •• DEC-15-HUCMA-B-D UC15 Software Manual: •••••••••••• ·••••••••• DEC-15-XUCMA-A-D The maintenance manual describes the details of the MX15-B and the DR15-C logic and gives maintenance details. The software manual describes the details of the PIREX Monitor. 154 UNICHANNEL - 15 HARDWARE ARCHITECTURE The term UNICHANNEL was created because it emphasizes the union of Digital's UNIBUS with the big computer concept of the progranunable I/O channel. UNICHANNEL 15 unites low cost, mass produced peripherals with big computer software and performance on the PDP-15. UNICHANNEL 15 (UC15) is a peripheral processor for the PDP-15 utilizing the PDP-11/05 minicomputer. It provides the PDP-15 with a second general purpose processor and a second high speed I/O bus; the UNIBUS. This UNIBUS is an 18-bit pathway permitting transfer of either 18-bit words, 16-bit PDP-11 words, or two 8-bit bytes. The UC15 allows flexible low cost configuration and expansion of PDP-15 systems. The UC15 minimizes the peripheral processing load on the PDP-15 allowing maximum computational throughput in a low-priced, medium scale system • ~~ .ucls ~...._~P_o_P_-_1_5__~..P•D•P•-.1.s. .r.1.o..B•u•s• . . . uN .. rB.u.s . ...... FIGURE l: Simplified UC15 Diagram UNICHANNEL 15 OPERATION There are three major components of the UC15: 1. A PDP-11/05 computer with ''local" PDP-11 memory. 2. An MX15-B memory multiplexer which allows both the PDP-15 processor and the PDP-11 processor to share common memory. The shared memory is ordinary 18-bit PDP-15 core memory. 3. An "interrupt link" to provide a real-time means of interprocessor communications. t55 PDP-15 MEMORY (up to 128K words) MX15-B MEMORY MULTIPLEXER UNIBUS PDP-15 COMPUTER PDP-11 PDP-11 MEMORY CPU ~ Figure 2: PDP-15 I/O BUS INTERRUPT LINK Diagram of UC15 Hardware Interrelationships l56 SUMMARY - UNICHANNEL 15 HARDWARE ARCHITECTURE This particular architecture was chosen because of its many advantages ••••••• PDP-15 Memory is. addressable by the UNIBUS. Hence, DMA transfers from and to such secondary storage devices as disks are direct. The interrupt link provides inter-processor signaiing on a microsecond basis. This is ideal for efficient real-time service -a necessity for flexible I/O control. All PDP-15 systems may be upgraded by adding the UC15. remains useable. All memory Cost is minimized by allowing the PDP-11 to share the PDP-15 console and paper tape loader system. Maximum use of the PDP-15 memory is maintained through synchronization overlap with memory use by the MX15-B. This "pre set up" technique increases the number of memory cycles per second when both PDP-15 and PDP-11/05 are accessing the common PDP-15 memory. The UNIBUS provided by the UC15 is electrically compatible with any device meeting UNIBUS interfacing specifications with the·following restraints: l. UNIBUS lengths must be kept short. 2. No provision is made for UNIBUS parity. Data in the common PDP-15 memory may be treated as either 18 or 16 bit words or as (2) 8-bit bytes. True simultaneous parallel processing is possible in the local and common memories. The DMA rate is high and the worst case and average latencies are low for maximum I/O performance. Finally, the system is highly modular allowing flexibility in configuration and excellent software utilization and control. The system permits variations in both local and common memory size. It allows almost any combination of PDP-15 and UNIBUS peripherals. 15 7 UNICHANNEL - 15 SOFTWARE ARCHITECTURE The hardware architecture is complimented by sophisticated system software. PDP-15 software systems running with a UNICHANNEL system relies on PIREX, a compact multitasking peripheral executive. In addition to PIREX, Digital supplies UNIBUS device.drivers, UNICHANNEL compalible handlers, and supporting utility functions. The software system used by UClS consists of two parts: 1. One component is a mutli-programming peripheral processor executive called PIREX and is executed by the PDP-11. 2. The other component is an operating system in a PDP-15. (e.g. DOS-15 or BOSS-15). PIREX PIREX is a multi-programming executive designed to accept any number of requests from a PDP-15 or PDP-11 and process them on a priority basis while processing other tasks concurrently. PIREX services all Input/Output requests from the 15 in parallel on a controlled priority basis. Requests to busy routines (called tasks) are automatically queued (entered into a waiting list) and processed whenever the task in reference is free. In a background environment, PIREX is also capable of supporting any number of priority driven software tasks initiated by the 15 or the 11 itself. Figure 3 shows the communications flow in a UNICHANNEL system. The possible links which may exist in the system are as follows: 1. Handler to driver to allow the PDP-15 to use a UNICHANNEL device. 2. Handler to non-driver task to allow the PDP-11 to intercept output and manipulate it or store it for spooling. 3. Program to non-driver task to allow cooperative processing on the two CPU's as occurs in the use of the MAC-11 assembler. \.58 . -· BUFFERS IN .. ... SHARED MEMORY - INTERRUPT LINK-TASK CONTROL BLOCK STRUCTURE •• 0 ,, 1 <11111-------------~ I -- --------- - I DEVICE I DEVICE HANDLER J PDP-15 I DEVICE I HANDLER ,_J ---- I -i I SOFTWARE I N -- - -:a> -.. R LDRIVER I . J I SOFTWARE ... --------1-..::==== - - ::Iii- I T I ~ E ~-- x TASK TASK I I SOFTWARE 0 l DEVICE HANDLER I I DEVICE p ~-- i:.-I ........ .....:..-----. 0 f"-- I SOFTWARE I TASK L ,. DRIVER ---·· -----.t--==> I TASK ~----1 - - - - - I I Figure 3 R : DEVICE DRIVER DIAGRAM OF UNICHANN~L SOFTWARE SYSTEM 159 UNICHANNEL ADDRESSING The Unichannel system makes use of a PDP-11 as an intelligent peripheral controller for the larger PDP.:.;15 main computer. In order to effectively operate with a. minimum of interf-erenc-e--wi-til th& PD-P-15-$1 the PD-P-lli . . . . . . . . . . . . . . .....,.....____,...,...-28K. - ~ uses it..s own.LOCAL.MEMORY of between 4K l and l 2K 16-:~t~ words • & COMMON MEMQRY is that l.'fll!!OOfY directly accessable to both the PDP-15 and the PDP~ll. ·· 14b'c>b I '·140·00 . ;:; ,· 20 K......._...,._.;;::;.5..-.o. .; ; .o. . .o....;;;o~ 1 1"'!i"'o200......,·..... ~12...... 00.......0......_9'""'!! oo. . . . . . . . . . .20 K _ - ·-· .. , . ._ -···· 16 K_.......-4. o. . ......o......o......o...........,, . - 3 7 ..7 ..7 7 ..... 137.777 . I 1~7:776 117777 106001 r 100000· 16K · 77.777 1 77.776. _s_·o......·o...... oo....-· ............. 12 K _ _8 ·K--,+---.....2-..;o~b;;;.,,,. 1 17.17' ·r 400 . . . . . . . ..----__...._8 K-1 ·- ~---~- 2..7 7.. 7 7; o.,._. · ..;;;.o............- I 57}76 r 37.716_ r ..... ·-··· -- . . . . . mus.t. no.t excee.d.2~K,.. ~ ___ _ ~~-~~--~:;6;~~~r/\fi~~;~~1~~ · 4K--a-~~~~...._........,. · Tliere£or·e~· 'f11e·pnp-;;l1" LOCAL-· ·· ··· - · · ·MEMORY· may be" 12KLor SK or 4K• 'N•--·- -·-••• - O• - • l ' i - "!''' -----•••· ;_ ·••·•- •y • •· ' ~ ..,._ • -~ 200 1 000·1 F N~f~~nf~d- -~~~iil~e~ ~<r~ei:b1 t ··· : ·... · bytes are numbered· seqb.entially · with t-wo·B-bit: bytes corresponding to one 16-hit wrd'.- Thus--. ., .. , .., WORDS BYTBS 121( • 24K 3~ : , . OCTAL iH: ADDRESSES 88888:J~3H 00000-57177 I 117776 . : . _.....,,,....,............,,,__1 PDP-15/Pf>P-ll ··COMMON-· MEMORY ~ 24K · l 2K_.....................3......,b......,O'.....b_...o.............., ·- PDP-11 toC.~.I) ~bRY ······ -·· . +: ' 24K..............__ _ _.,._ 4 7 7.7 7 NOTE1 0 I 157:776 57 7 7 7 COMMON MEMORY eeeupies the upper portion.of .thePDP-11 address spa,ce f)n~ at. the . same tim~ the lower pertion of the p))p.;..15 address space. Q) 1'f>1.111 4K.L0CAL.MEMORY ·· 24K· COMMON MEMORY· 4 K ... ?75 }LOCAt . 17 ' odooo .MEMORY. (J) 28K 28K 24K 24K 20K 20K 20K 16K 16K 16K 16K 12K 12K 12K i2K SK 8K SK BK 4K 4K LM 4K 4K PDP-15 ... PDP-LL PDP-15. 8K LOCAL MEMORY . 20K COMMON MEMORY -- CORRESPONDENGi · c ADU ! (ADl!) *~'l:.~.'~@:.:~MQRX r;;;lze: iQ byteE;; . ---·--· = (ADll - wm-:MBMqRY srze ·1n. b}rtes) /2 ·· .... "····---~---l ---i-.. ,- ·------1---~----·-..,;. PDP-11 12R LOCAL MEMORY. 16K COMJIIDN MEMORY ADDRESS AD15 LM ---4- ....., , ___ ~-··· -~ t·····-1- -- -· . ------- .. ·--~. ·--·-··"·'•·--- .. --·-·" ··-··-- LM.: .LOCAL .. MEMO.RY . "'""" ·-·. ----· ..• __ _,,,,,._ -- ----~- ___ . .,_ ·--- .e. g_. !~~~::·: l~3&J-q:n~~tJl?~i;!i1i:rl~~~:sio~·ii1!e~tfh~ sP~~df!s~ii~o~~ ~~~~e~;~!Is · · ... MEMORY LAYOUT Figure 4 details the memory map which exists on UNICHANNEL System. Note that both the 11 and 15 parts of the system can operate concurrently, all memory contention is resolved by the MX15-B. Note also, that if the 11 system operates with area 11 A11 complete simultinaiety is possible because no memory contention can occur. 128K UNIBUS ADDRESSES PDP-15 ADDRESSES Unavailable D 1 2 4 K - - - - - . . . . - - - - - - - - - 1 1 6 or 112K c Available to DMA, breaks 1Wailable to PbP~lS and PDP-15 I/O BUS 28K------+--..---t-------1~20 "Shared" memory available to both CPU's or 16K Shared Memory B Local 11 Memory A Unavailable 0 "Local" PDP-11 Memory = A "Shared" Memory = B PDP-11 CPU Address Space = A + B UNIBUS DMA Address Space A + B + C PDP-15 Address Space = B + C + D Figure 4 UNICHANNEL SYSTEM MEMORY MAP 162 PIREX TASKS The PIREX software system consists of several·routines to support multi-programming among tasks. These routines perform such functions as: context switching, node manipulation and scheduling. The tasks which execute in this environment are device drivers, directives to PIREX, or merely software routines which execute in a background mode. Device drivers are tasks which typically perform rudimentary device functions (e.g.: read, write, search, process interrupts, etc.), Directives are tasks which perform some specific operation for a task under PIREX. The connecting and disconnecting tasks to/from PIREX are performed by the CONNECT and DISCONNECT directives. The third type of tasks are software routines which execute in a background mode of operation. The MACR0-11 assembler and Spooler are both run as background tasks. To support multiprogramming among tasks, each task is required to have a format as shown in the figure below: Task Stack Area~-------- Control Register~~--~Busy/Idle Switch~------- Task Program Code-------- Figure 5 TASK FORMAT 163 The execution of a Task by PIREX is accomplished by first scanning the Active Task List (ATL). The ATL is a priority-ordered linked list of all active Tasks in the current system currently capable of running. An Active Task is one which: 1. Is currently executing. 2. Has a new request pending in its deque (double ended queue). 3. Has been interrupt'ed by a higher priority task. When a runnable task is found, the stack area and general purpose registers belonging to the task are restored and program control transferred to it. Program execution begins at the first location of the task program code (See Figure 2.1) or at the point where the task was previously interrupted by a higher priority task. When a task is interrupted by other tasks, its general purpose registers and stack are saved. The ATL is rescanned when a new request is issued to a task or when a previous request is complete. When the PIREX Software System is running, it is normally executing the NUL task (a PDP-11 WAIT Instruction); The NUL task is run whenever there are no requests pending, a task suspends itself in a wait state, or while all other tasks are waiting for I/O previously initiated. When the PDP-15 issues a request to the PDP-11 to be carried out by PIREX, it does so by interrupting the 11 at Level 7 (the highest PDP-11 Interrupt Level) and simultaneously passing it an address of a Task Control Block (TCB) through the interrupt Link. An 11 task can issue requests via the IREQ MACRO. The contents of the TCB comf letely describe the request (task addressed, function, optional interrupt return address and level, status words, etc •.•• ) The TCB will usually reside in the PDP-15 memory and must be directly addressable by the 11. (i.e. It resides in shared memory). Error conditions are passed back to the 15 in the Task Control Block (TCB) along with status information necessary for complete control and monitoring of a particular request. usually the request is to a device on the 11 but other types are allowed. Task Control Blocks are used for communication with PIREX and tasks running under it. The general format of a TCB consists of three words followed by optional words necessary for task communication. Optional words, generally are used to pass buffer addresses, commands and device status as may be appropriate. TCB: (API TRAP ADDRESS *400(8)) + API LEVEL (FUNCTION CODE *400(8)) +TASK CODE NUMBER REV: REQUEST EVENT VARIABLE (Optional Words) Figure 6 STANDARD TCB FORMAT 164 The "TRAP ADDRESS" is a PDP-15 API trap vector and has a value between f6 and 377( 8 ). Location /6·here corresponds to location ¢ in the PDP-15. The API Level is the priority level at which the interrupt will occur in the PDP-15 and has a value between f6 and 3. A JO signifies API "Level" f6 , a 1 for level 1 etc ••• The API trap address and level are used by tasks in the PDP-11 when informing the 15 that the requested operation ~s complete (e.g ••• a disk block transferred or line printed). The Task code number is a positive number between f6 and 128 that tells PIREX which task is being referenced, (Tasks are addressed by a numeric value rather than by name). The Function Code determining whether hardware interr~pts are to be used at the completion of the request. If the code has a value of /6, an interrupt is generated at completion of the request; If a 1, an interrupt is not made. The Request Event Variable, conunonly called REV or just EV, is initially cleared by PIREX (set to zero) and then set to a value "n" (by the associated task) at the completion of the .request. The values of "n" are: f6 1 -2 -3 = = = = request pending or not yet completed. request successfully completed. (mod 2·16-1) non-existent task referenced. (mod 2•16-1) illegal API level given (illegal values are changed to 1eve1 3 ~nd processed). -4 = (mod 2•16-1) illegal directive code given. -777 = (mod 2•16-1) request node was not available from the Pool, i.e. the POOL was empty, and the referenced· task was currently busy or the task did not have an ATL node in the Active Task List. NOTE -- the Task Control Block specification clearly defines a modular communications structure with minimum impact on PDP-15 software. 165 ADDING DRIVERS TO PIREX A powerful feature allows the PDP-15 to bring in a PDP-11 driver, (into either its own memory or the ll's local memory) connect it to PIREX via a connect directive (a disconnect directive) is also provided) and then issue I/O requests through PIREX to the driver. The user can now take full advantage of the existing and future PDP-11 peripherals along with an elaborate queuing structure built into PIREX allowing complete parallel processing. MACRO 11 ASSEMBLER (MACll) AVAILABLE) A MACRO 11 Assembler is provided. This assembler is a Macro subset of the existing PDP-11 Macro assembler a.nd is slightly modified to run under the control of DOS-15 and PIREX. To accomplish this, the MACRO assembler (MACll) is loaded by the 15 as a core image into bank l of the 15. MAC 11 is then connected up as a low priority driver to PIREX and requested to begin the assembly. The 11 then carries out the actual assembly while the 15 handles all of the opening and closing of files, reading and writing of test and object information until the assembly is complete. To the user at the console teletype, MAC 11 appears to be just a DOS-15 system program which is loaded in and run by the 15. NOTE: That any customer developed software should of course, take into account PIREX context switch 0 the bandwidth of the UNIBUS 18 and latency consideration of the associated system. SUMMARY As one can easily see, the UC15 software system is a powerful tool to the user who requires the utmost in flexibility and utility. UC15 also provides an expansion capability beyond any system currently available. 166 INTERRUPT LINK The following section describes the registers and control of the interrupt link. This link is used to pass Task Control Block Pointers (and through them the information in Task Control Blocks) between the PDP-15 and PDP-11 systems. The hardware which comprises this link consists of a DR15-C special purpose interface to the PDP-15, I/O BUS, and 2 DRll-C general purpose UNIBUS interfaces. The DR15-C is controlled by PDP-15 IOT 1 s while the DRll's are accessed as registers on the UNIBUS. Register Descriptions (PDP-11) (CSR) 767770 Bit 6 - when bit 6 is a 1, it will enable an interrupt on BR5 to TV 300, if the API DONE flag is set in bit 7 of 767770. Bit 7 - API DONE - set to 1 whenever none of the 4 API channels has a request pending. NOTE: Neither of these bits is expected to be used in normal systems programming. (ODB) 767772 Low byte - contains the API address for.an API lev~l break. Loading a new value in the byte causes the appropriate API flag to be set in the DR15-C and and API break in the PDP-15 will occur, is the API is enabled and no higher activity is occuring. It also will cause a PI interrupt if API is not installed. ~ High byte - contains the API address for an API level 1 break. Same conditions as low byte. (IDB) 767774 Bit • - contains bit "2" of the Task Control Block Pointer (TCBP). See note under bit 1. Bit 1 - contains bit "l" of the TCBP. NOTE: That reading 767774 does not effect the new TCBP flag in bit 7 of 767760-.~ Bit 6 - API 2 DONE flag - when a 1 indicates that there is no API level 2 request pending before th.e PDP-15. When a 1 also indicates the 767762 low byte may be loaded with a new API level 2 address to cause a new API interrupt level 2 and set the API 2 flag in the DR15-C. Bit 7 - API ~ DONE flag - when a 1 indicates that there is no API level ~ request pending before the PDP-15. When a 1 also indicates that 767772 low byte may be loaded with a new API level • and set the API ~ flag in the DRl5-C. 167 Bit 8 - Local Memory Size bit {& - the least significant bit of a two bit field which specifies the number of 4K word memory banks that are connected to the UNIBUS. Bit 9 - Local Memory Size Bit l - the most significant bit of a. two bit field which specifies that number of 4K memory banks are connected to the UNIBUS. I.MSO 0 0 1 0 0 Local Memory 1 0 4K Local Memory l l 12K Local Memory SK Local Memory Bit 14 - API 3 DONE flag - when a 1 indicates that there is no API level 3 request pending before the PDP-15. When a l also indicates that 767762 high byte may be located with a new API level l address to cause a new API interrupt at level 3 and set the API 3 flag in the DR15-C. Bit 15 - API 1 DONE flag - when a 1 indicates that there is no API level request pending before the PDP~l5. When a 1 also indicates that 767772 high byte may be loaded with a new API level l address to cause a new API interrupt at level 1 and set the API in the DR15-C. (CSR) 767760 Bit 6 ~ ENABLE 'I'CBP (Task Control Block Pointer) INTERRUPT - When a 1 allows and interrupt on BR level 7 to TV 310 upon receipt. of a new TCBP from the PDP-15. Bit 7 - NEW TCBP flag - is set to l whenever the PDP-15 issues IOT 706006 thus placing a new TCBP in 767764 and bits 0 and 1 of 767774. It is cleared by the PDP-11 doing a DATI to location 767764. (ODB) 767762 Low byte - contains the API address for an API level 2 break. Same conditions as 767772 low byte. contains the API Address for an API level Same conditions as 767772. High byte - 3 break. 168 (IDB) 767764 TCBP (Task Control Block Pointer) - bits 3-17. This contains the lowest 15 bits of the address sent by the PDP-15. Note: that the address is-"word" aligned. Note also that doing a DATI to this register lowers the New TCBP flag (767760 bit 7) and also sets the DONE flag cleared by IOT 706002 in the PDP-15. PDP-15 IOT's 706001 SIOA - Skip I/O Accepted. Tests whether the TCBP DONE flag is-set-indicating the PDP-11 has read the TCBP and skips the next location if the DONE flag is a 1. 706002 CIOD - Clear I/O Done. 706006 LIOR - Load I/O Register and clear TCBP DONE flag. Places the contents of the PDP-15 "AC" into an.18bit buffer register. The output of the buffer register is seen by the PDP-11 as TCBP at location 767764 and bits 0 and 1 767764. The IOT also causes the TCBP DONE flag to be cleared and in the PDP-11 causes bit 7 to be set in location 767760, which in turn causes the PDP-11 to do an interrupt at BR 7 to TV location 310. 706112 RDRS - Read Status Register - Clears the AC and loads the contents of the DR15-C status register into the AC. (This effectively moves the DRlS-C Clear the TCBP DONE flag. enabie interrupt bit into bit i7 of the AC). 706122 LDRS - Load Status Register. Loads the contents of the AC into the DR15-C status register. (Pla9es value of AB bit 17 in the DR15-C "enable interrupts" bit). 706104 . CAPIO - Clear APIO flag in DRlS-C. 706124 CAPil 706144 CAPI2 - Clear AP12 flag in DRlS-C. 706164 CAPI3 - Clear AP13 flag in DRlS-C. 706101 SAPIO - Tests the APlO flag in the DR15-C and skips the next in~truction if. the flag is 1. Clear APll flag in DR15-C. 169 706121 706141 706161 SAPil - Tests the APll flag in the DR15-C and skips the next .instruct.ion if the flag is 1. SAPI2 - Tests the AP12 flag in the DR15-C and skips the next instruction if the flag is l. SAPI3 - Tests t.he .A.PI 13 flag in the DR15-C and skips the next instruction if the.flag is 1. PDP-15 STATUS REGISTER (DR15-C) Bit 17 Enable PI/API interruptso When a 1 enables interrupts from the PDP-11 processor. Note this bit is E!_~t to a 1 by initialize and the CAF instruction. It can only be cleared by using the LDRS (IOT 706122) instruct.ion. 17 bit # ~™™\\~ enable PI/API Figure 7 170 Figure: 8 PDP-11/05 CONTROL REGISTERS Bit # DRll-C #0 TV 7 Bit #14 8 6 0 6 .~--------~........_ .. ______! 161112 = 300 API O Address APIOl Address BR = 5 Bit#l5 14 9 8 7 6 1 0 I I ~\\\\\\\'i I I I ~~~~ i I 2 I 161114 Bit# DRll-C #1 TV = 310 BR = 7 7 6 &\\\\\\\\~\\\'J I f\\\\\\\~~ 767760 Bit# 14 8 6 0 .... ~·~ . . . . . -----~.~,_ . . _____.I 767762 API 3 address API 2 address Bit# 15 0 --------------~........ 161164 1. 3 PDP 15 bit number l\~J ,w TASK CONTROL BLOCK POINTER (TCBP) (upper 2 bits in 767774) I 71 MXI5~B _ _ _ _..,,,..,,,.. MEMGRY tvlUI/l'IPLEXERS .....................,..... ...,,~T...>"•"""~""""'"'"-'""""'-'>"" ......... ,,,,,. ....... _ _ _, _ .- - :.~O<<",., When the PDP-15 memory is c~ccessed by the PDP-11/05 or any NPR UNIBUS device, the addresseB a.:ce ;::1;-:;loca.ted by the MX15-B multiplexer. The MX15-B multiplexer not only relocates the UNIBUS addresses but emulates byte operations in PDP-15 memory. Hence normal PDP-11 programs, with byte :i::r;~a,d a.nd b~{te write operations may be executed from PDP-15 memory. Also such byte oriented NPR devices as Mag Tape ma.y make transfers directly to PDP-15 memory. Note: That the PDP-·l.l proce.ssor can access the PDP-15 memory which is between the end of local memory and the 28K of address space available to .its a.ddres ;.c; sche.me" Will connect to MM15 i M}U5-·1\ r a.nd !vEU5 memories. B. Inputs PDP-11: Modified UNIBUS with PA and PB used as Dl6 and Dl7 reS,Pectively. It meets a.11 other UNIBUS specs. Defined as UNIBUS/18, input would have a lower address bound that could be fixed to any 4K multiple address O~l20K. This would be specified as jumpers. Note that. only BK and 12K of local memory will be supported ~by t"iiagnost..i.cs and systems programs. Hence, the maximum commonly addressable memory (11 processor) will be 20K or 16K. An upper limit would be provided as 124K. The addresses presented from the PDP~ll are relocated t9 prevent location 0 bein9 the same physicaJ. address on each machine. The PDP-11 will be able to be :celoc1ted by 4K increments to 124K. Local PDP-11 memor1· is restri,~:ted to 4 increments. Note that any sewrite" opE:ra:cion to a common. memory location by 8 bit or 16 bit UNIBUS devices causes PDP-15 data bits 0 and 1 of the location to be forced O. PDP-15: bounds. Standard 15 MeJTio:ry Bus Interface - no upper and lower No relocation. Emphasis is on minimum delay through multiplexer for this port. I _,, ') ! ( c:.. If both processors request at the same time, PDP-15-will get use of tne memory. When requests are not simultaneous, a first come, first served mode operates. Practically, all this means is that the 15 and 11 will alternate access to common memory except under the special conditions described above. NOTE: No local memory is provided on the PDP-15. Bus Loading: MX15-B •••••••••• 2 PDP-15 memory bus load Drives 4 PDP-15 memory bus loads DR15-C/DR11-C ••• l Unibus Load 1 PDP-15 I/O bus load Power: (Steady State) UNDCHANNEL 15 (no peripherals) •• 5 at 115V 2.5A at 230V Voltage: Frequency: 115 Vac + 10% or 230 Vac + 10% + 50 - 2 Hz or 60 + 2 Hz Environmental: Temperature ••••••••••••• lOO to 50°C Relative Humidity •••.••• 20% to 95% UC15 Cabinet Dimensions: Unibus Compatability: Memory Cycle: Depth: •••• 30in (0.76m) Width: •••• 21 in. (0.53m) Height: ••• 72 in. (l.83m) Weight: ••• 150 lbs. (70 kg)-not including peripherals. Can be used with any PDP-11 family processor that does not use parity. O~ those systems with parity, the parity must be disabled. MXlS-B normally adds 200 ns to both the PDP-15 and the PDP-11 cycle times. DMA Facility to Common Memory: Maximum transfer rate ••••• 415K words/sec Worst-case latency •••••••• 6 ;is (no DCH transfers in PDP-15) 12 µs (DCH transfers ip. PDP-15) Average latency ••••••••••• 2.5 µs DMA Facility to PDP-11/05 Local Memory: Maximum Transfer rate ••••• l million words/sec Worst-case latency •••••••• 7.2)ls Average latency ••.••.•.••• 2.5 ps 173 SYSTEM CONFIGURATION The UClS cabinet will replace the curent disk cabinet immediately to the left of the PDP-15 processor. The increased spacing will require longer I/O or memory bus cables in some installations. DR15-C Interrupt Link . J[ :=J [ MX15-B Memory Multiplexer RKOS 1.2 million word Cartridge Drive Reserved for 2nd RKOS .... fiLi• 11J ~ ti J J !::i; l ! ~o .,, PDP-11/05 with 8-12K of local memory 2 small peripheral slots and 3 system unit slots ... Reserved for BAll peripheral~ expander box ~ Figure 9 174 SYSTEM RESTRICTIONS RKOS (RKll) Disk Pack Capability The 18 bit RKll disk pack will not be able to be read by RKll-C or RKll-D system (16-bit only systems). This means tbat data bases and PDP-11 files created on lB-bit RKll systems may not be taken directly to an PDP-11 only sys- tem. The transfer medium for such a transfer would have to be Mag Tape. This situation was chosen to make RKll-C and RKll-D packs compatible (i.e ••••• all PDP-11 only systems). Memory Lind ts UNIBUS NPR devices can access a maximum of 124K. The amount of shared memory available to UNIBUS NPR devices is 124K less the amount of local memory. In a "normal" configuration the PDP-11/05 would have BK of memory, in which case the available PDP-15 memory would be limited to ll6K. This limit is due to the fact that UNIBUS/18 peripherals must have access to all memory. The maximum memory of the 11 without some relocatIOii option would be 28K. Note: That the PDP-11 with BK of local memory can only address the lowest 20K of common memory to access Task Control Blocks set up by the PDP-15. I/O Latency Multiport memories always have increased worst case latency over a single port-non-competitive situation. This system is no exception. The PDP-11 normally gives an "NPR break" a worst case latency to BSSY of 7.0 usec. On this system, we must add to that time, the time it requires the PDP-15 to do three I/O memory cycles (5.0 usec.). The worst case latency is, hence, 12.0 usec. · CAF/RESET Limitations The following timing considerations are of interest to programmers: A RESET instruction may cause the PDP-15 to incorrectly read the API address. The Console RESET and CAF instruction may violate UNIBUS specifications. Hence, random "initialize" pulses may cause system malfunctions. The following guidelines must always be followed: 175 1. CAF must not be executed while there is a Task Control Block Pointer (TCBP) waiting to be read by the PDP-lln 2. .RESET must not be executed while there are API requests pending for the PDP-15. 3. RESET must not be executed if there is any NPR activity on the UNIBUS. All active NPR devices must be shut down in a power fail sequence prior to executing RESET. 176 PDP-15 UNICHANNEL OPTIONS UC15-HE Peripheral Processor: 11/05 or 11/lO-NC or - SA, 2 DRll-C, DR15-C, MX15-B, DDll-B, KYll-JH, H950, llSV.- BK Local Memory UC15-HF Per~pheral Processor: 11/05 or 11/10-ND or - SB, 2 DRll-C, DRlS-C, MX15-B, DDll-B, KYll~JH, H950, 230V. BK Local Memory UC15-HK Peripheral Processor: 11/05 or 11/10 - NC or - SA, 2 DRll-C, DR15-C, MX15-B, DDll-B, KYll-JH, H950, MMll-K, llSV. 12K Local Merner) UC15-HL Peripheral Processor: 11/05 or 11/10-ND or - SA , 2 DRll-C, DR15-c, MX15-B, DD11-B, KYll-JH, H950, MMll-K, 230V. l 2K Local Merner) RK15-HE RKOS-AA, RKll-E, UClS-HE, llSV, 60Hz RK15-HF RK05-BB, RKll-E, UC15-HF, 230V, SOHz. RK15-HH RKOS-AB, RKll-E, UClS-HF, 230V, 60Hz. RK15-HJ RKOS-BA, RKll-E, UC15-HE, 115V, 50Hz. RKlS-HK RKOS-AA, RKll-E, UC15-HK, llSV, 60Hz. RK15-HL RK05-BB, RKll-E, UC15-HL, 230V, 50Hz. RK15-HM RK05-AB, RKll-E, UC15-HL, 230V, 60Hz. RK15-HN RKOS-BA, RKll-E, UC15-HK, llSV, 50Hz. 15/76-DE KP15, ME15-EA, LA30-CA, PC15, KE15, KW15, TC15, TU56, RK15-HE, llSV, 60Hz. 15/76-DF KP15, ME15-EB, LA30-CD, PC15-A, KE15, KW15, TC15, TU56, RK15-HF, 230V, 50Hz. 15/76-DK KPlS, ME15-EA, LA30-CA, PC15, KElS, KWlS, TC15, TU56, RK15-HK, llSV, 60Hz. 15/76-DL KP15, MElS-EB, LA30-CD, PC15-A, KE15, KW15, TC15, TU56, RK15-HL, 230V, SOHz. 15/76-ME KPlS, ME15-EA, LA30-CA, PC15, KElS, KW15, _ TC59-D, TUlO, RK15-HE, llSV, 60Hz. 177 15/76-MF KP15, ME15-EB, LA30-CD, PC15-A, KEIS, KW15, TC59-D, TUlO, RK15-HF, 230V, 50Hz. 15/76-MK KP15, ME15-EA, LA30-CA, PC15, KE15, KW15, TC59-D, TUlO, RK15-HK, llSV, 60Hz. 15/76-ML KP15, ME15-EB, LA30-CD, PC15-A, KElS, KW15, TC59-D, TUlO, RK15-HL, 230V, 50Hz. 178 CHAPTER l INTRODUCTION The Magnetic .Tape Dump (MTDUMP) Program is a utility program of the· PDP-15 ADVANCED Software System which provides users of industrycompatible magnetic tape with functions which are pecu.liar to this medium. In general, the program provides magneti.c tape· users with functions similar to those found in ~ATCH and DUMP. In addition, the program complements PIP with regard to magnetic tape functions; however, few functions which could be performed by PIP are duplicated. The program MTDUMP is device dependent and accomplishes all magnetic tape I/O with .TRAN and MTAPE System Macro instructions; it cannot be used with other I/O devices. 1.1 FUNCTIONS The following paragraphs briefly explain the basic functions of MTDUMP. 1.1.1 A summary of conunands is provided in Appendix A. Dump File One of the most conunon requirements of the magnetic tape user is the ability to examine portions of a tape. The Dump File facility in MTDUMP is intended to meet that need in a general and useful way. Simply stated, the Dump File is the repository of (1) images of command lines received from the keyboard and (2) groups of ASCII lines which represent, in readable form, the contents of the tape being examined in response to typed requests. The contents and format of the file, however, are subject to considerable variation and, in fact, the destination of the file may itself be changed during the run. 1.1.2 File Modification This feature provides a convenient means for file updating or patching. Individual records may be accessed, allowing each word in the record to become available for examination and modification. Words and entire records may be inserted or deleted from the file and new files may thus be created. 1.1.3 File Transfer This function, consisting of one instruction, permits copying magnetic tape on a record-for-record basis. 181 1.1.4 Directory Listing These commands permit rapid listing and clearing of magnetic tape directories. 1.2 I/O DEVICES The program accesses a maximum of three devices: the teleprinter, used for command string input and error reports; the magnetic tape transports (via MTA. or MTF.) for all input and output to all magnetic tape units; and an optional third device which is the destination device for what is termed the "Dump Output File". This file may -con- tain records of commands typed to the program and any hard-copy response to these commands (normally record-by-record dumps). Dump Output may be directed to any device, including a magnetic tape. If magnetic tape is used for this purpose, however, the unit assigned may not also be manipulated by commands to MTDUMP. If no Dump Output file is desired, the teleprinter should be assigned as the Dump Output device. 1.3 ADDING MTDUMP TO THE USER SYSTEM The program MTDUMP and its associated handlers (i.e., MTA, MTC, and MTF) are supplied to the user on the ADVANCED Monitor System Peripheral DECtape (DEC-15-SZZB-UC) • Users who wish more convenient access to MTDUMP should relocate the program onto the system device using the utility program PIP. MTDUMP may also be added to the system device as a System Program, using the facilities provided by the SGEN and PATCH utility programs. Refer to PDP-15 manuals DEC-15-YWZA-DN3 and -DNS for the procedures needed to install MTDUMP onto the system device as a System Program. If MTDUMP is relocated to the system device by either of the above means, its associated magnetic tape handlers must also be added to the system library (.LIBR BIN). ity program UPDATE. This is accomplished using the util- The use of UPDATE to insert the handlers MTA, MTC, and MTF is demonstrated in the following example: 182 UPDATE V8A >US+- (ALT MODE) Request Options U and S >I MTA. ,DTC·) Insert routine MTA after routine DTE >I MTC.) Insert routine MTC next >IMTF ·) Insert routine MTF next >CLOSE) Terminate UPDATE operations. Refer to the Utility Programs manual DEC-15-YWZA-D for a complete description of UPDATE and its use. 183 CHAPTER 2 OPERATING PROCEDURE 2.1 DEVICE ASSIGNMENTS MTDUMP is supplied as a relocatable program (MTDUMP BIN) and is loaded by the Linking Loader. Before loading, the user must make the following .DAT slot assignments: 2.2 .DAT slot -4 The device from which MT.DUMP is to be loaded. If the program is on magnetic tape, MTA on .DAT slot 1 requires MTA on .DAT slot -4; MTF on .DAT slot 1 requires MTC on .DAT slot -4. .DAT slot 1 MTA~ .DAT slot 3 The Dump Output device, if required; or TTA if no Dump Output File is wanted. or MTF~ PROGRAM STARTUP After loading, the program types on the teleprinter: MTDUMP Vnn BUFSIZ m > where: "Vnn" is the current version and "m" is the total number (in decimal) of registers available for I/O buffers. Each time the program is ready to accept a keyboard command, a right angle bracket (>) is typed. At start (or restart) time, all magnetic tape units are automatically set to transfer in odd parity at given by .SCOM+4, bit 6 (~ 8~~ BPI and at the channel count means 7-channel, 1 means 9-channel). The user must issue a new FORMAT request (see paragraph 3.2.1) to effect transfer in another (non-standard) mode. 2. 3 PROGRAM RESTART To restart MTDUMP, type CTRL P, which causes the program to close the Dump Output File (if open) on .DAT slot 3. Then repeat program startup procedure. NOTE If the Dump Output has been directed to the teleprinter, CTRL P is acted upon only after completion of current line of output. To effect immediate termination, type CTRL P CTRL U. f 84 CHAPTER 3 COMMANDS 3.1 COMMAND STRING MTDUMP accepts conunands from the Teletype in the general format shown below. Formats for specific conunands may vary significantly from this and are shown in the descriptions of the individual commands. MTDUMP command formats are variations of the following: where: c is the name of the function wanted. is a digit specifying the source unit for two-unit operations (e.g., COPY) or the one object unit for single-unit operations. is a digit specifying the destination unit for twounit operations or is absent for single-unit operations. t specifies a condition (either count overflow or transport status) which, when.encountered, causes termination of the function whose name is "c". "t" may be absent and, if not given, is assigned the implicit integer value 1. ·Explicit values of "t" may include: a. An integer in absolute value less than 262,144 10 and greater than zero b. The character string "EQT" (END.OF TAPE) c. The character string "BOT" (BEGINNING OF TAPE) d. The character string "EOF" (END OF FILE) Parameters are separated from the command by a space (1....1) and from each other by commas. ( ) ) . The command line is terminated by a carriage return Some commands require only a single argument, while others require all three. Example: REWIND._, 1) Only the single object unit need be specified; further, the terminating 185 condition "BOT" is implicit in the conunand and need not be given. Copying an entire logical tape from Unit l to Unit 2, however, requires all three parameters. Example: COPYL-11,2,EOT) 3.1.1 Terminating Conditions As indicated above, the "t" specification in the command line may be either an integer or a character string or absent. If "t" is an integer, the value of the numeric string represents the number of physical records to be treated during the operation requested. Example: This command string means: Evaluate the string "816" according to the radix currently in effect, then space the tape on drive 1 forward until that many records have been passed over. If, in the example, tape 1 was at loadpoint and if the prevailing radix was decimal, then at the completion of the operation the read/write head would be positioned between the 8f6th and 8lst physical records on tape. Example: The above example causes a transfer of 8~ physical records from drive l to drive 2, leaving the read/write head on each drive positioned immediately following the last record transferred. If "t" is a non-numeric string (EOT, BOT, EOF), then the operation requested is deemed complete when one of the following conditions is observed: a. EOT b. BOT c. EOF Two consecutive EOF markers have been passed in either reverse or forward direction. The loadpoint marker has been reached (but not passed) in the reverse direction. A single EOF marker has been passed in either direction. If "t" is the string "EOF" or "EQT", the position of the read/write head relative to the EOF marker causing termination depends upon the direction of tape motion when the condition is encountered. 186 Example: BACKSPACEL.-11,EOF) The read/write head will be 2ositioned just before tl}e marker. The· next record read in the forward direction will be the EOF marker just passed in backspacing. If "t" is the string "BOT", the head is left positioned just after the loadpoint: the program will not backspace over BOT. If "t" is absent from a command string in which it is :r;equired, then the value 1 is assumed. Thus the commands in the following example are equivalent. Example: SPACEL-11, 1) SPACEL-11) 3.1.2 Command Abbreviations Most commands in MTDUMP may be abbreviated to a single .letter (the initial character). In the command descriptions which follow, legal abbreviations are shown immediately following the.command and enclosed in parentheses. Example: REWIND (R) L.-1U,t) 3.2 SETUP COMMANDS This is a group of commands which generally apply to most major functions of MTDUMP. These commands are usually given prior to the execu- tion of a function (e.g., DUMP, COPY). 3.2.1 Set Non-Standard Tape Format The initial setup for input and output tapes is odd parity at 800 BPI (the channel count is given by .SCOM+4, bit 6). The FORMAT command allows the user to change the parity, density, and/or channel count. Usage: FORMAT(F)1.,.1o1u,pdc; 187 where: "u" is the tape whose format is being set and "pdc" is a group of three single-character parity, density, and channel-count indicators, as follows: p (parity) is "E" (even) or "O" (odd) d (density) is "2" (2{6{6 BPI), "S" (SS6 BPI), or "8" (8{6{6 BPI) c (channel) is "9" (9-channel) or "7" (7-channel) The three descriptors may appear in any order, and any may be absent, in which case the relevant status for the tape remains unchanged. Example: FORMATL...J 2 , ES 7) 01' FORMATL...J2,SE7) 01' FORMATL...12, 7 SE) All of the above examples set up tape unit 2 for even parity, SS6 BPI, 7-channel operation. Example: FORMAT1-12, 0) 01' F1-12,0) These commands change the parity of tape unit 2 without disturbing the current density or channel count. NOTE The only legal density for a 9-channel tape drive is 800 BPI. Requests for other densities will not be honored. FORMAT commands are effective until MTDUMP is restarted via the CTRL P function. 3.2.2 set Standard Tape Format Standard System Format may be requested for any unit. A special case of the FORMAT command is employed to unconditionally reset tape format to odd parity, 8~{6 BPI, and 7- or 9-channel (according to .SCOM+4, bit 6.) 188 Usage: FORMAT(F)L..BU,D) where: "u" is the unit whose format is to be set and.the character "default~ "D" means 3.2.3 Specify Global Radix The program always treats certain numeric strings tion) as octal. (e.g., unit specifica- Others, however, may be specified as either octal or decimal by the NUMBER command. The following numeric groups are interpreted (on input) or printed as octal or decimal strings according to the argument given in the latest NUMBER request: a. The "t" specification in command lines (where applicable) when "t" is an integer. If the current radix is octal, then the command: SPACEL..Bl, 2/H) causes the tape on unit 1 to be spaced forward 16 10 records. b. The word sequence numbers of dumped data. c. The word sequence numbers of EXAMINE requests. below.) (See d. The record-length argument of the SIZE request. below.) (See The radix specified remains in effect until another NUMBER command is encountered or the program is restarted. Usage: OCTAL The default radix is octal. 1 NUMBER (N) 1.....1 [ DECIMAlj) 3.2.4 Specify Local Radix The radix of a number string in a single command line may be specified by a one-character suffix, D for decimal, K for octal. Such specifica- tion overrides the current global radix, but is in effect only during the processing of the command line in which the suffix appears. Local radix. control may be used following: a. The "t" specification in command lines (where applicable) when "t" is an integer. b. The word sequence numbers of EXAMINE requests. 189 c. The record-len3th argument of the SIZE request. Example: SPACE1....1l, 2fiJD) The command above causes tape unit 1 to space forward 20 10 records regardless of the current global radix. Example: SPACEL...11,2fiJK) Similarly, this command spaces the tape forward 20 8 (16 10 ) records. 3.2.5 Command-Line Echo Legal keyboard requests are placed in the Dump Output File, exactly as typed, to allow the user to correlate the progress of the run, relative tape position, and the record contents during later examination of the hard-copy dump. command-line echo can be bypassed, how- ever, by use of the VERIFY command. usage: If ON or OFF is not specified, ON is assumed. Example: When MTDUMP is first loaded or is restarted, VERIFY mode is set ON. If the teleprinter is the assigned dump output device (.DAT slot 3), command-line echo is not performed. Illegal commands are not echoed. 3.2.6 Dump File Display Format The input tape is output to the Dump File as individual physical records. Each record is represented as a number which indicates record length in ASCII lines. Each line, in turn, contains: 1. A sequence number which reflects the position in the 2. record of the first data word in the line displayed. A string of data words or data-word pairs. Sequence numbers are in either octal or decimal notation: the' radix is chosen in response to the last previous NUMBER command. 190 Display format is set by the MODE request followed by the appropriate argument. Usage: MODE L-1 ~ CTAL SYMBOLIC} TRIMMED ASCII ) Where: OCTAL Displays single words.as six octal digits. SYMBOLIC Displays single words as a three-character operation-code mnemonic, an "indirection" indicator (*), if present, and a 13-bit (5-digit) address. TRIMMED Displays single words as three six-bit alphanumeric· characters. ASCII Displays pairs of words as five E?even-bit ASCII characters. A blank is printed for each character outside the range 4,0' 8 - 137 8 . The default assumption is OCTAL and implicit in the request: MODE) The table below shows examples of data-word treatment in each of the four modes. 3.2.7 OCTAL --- SYMBOLIC 5l2l32 AND l2l32 )QZ 744634 OPR ,0'4634 <& \. 42,0'32,0' .0'.0'.0'fJ.0'.0' XCT*{K,0'32,0' CAL ,0'{4{4,0'{4 #CP @@@ 777777 .0'1.0'2.0'3 LAW 17777 CAL 1,0'2,0'3 ABC TRIMMED ASCII REWIN D A ??? Inserting Comments in the Dump File Explanatory notes may be placed in the output file by use of the LOG command. When the LOG request is encountered, subseque~t typed input is taken as commentary and is added, exactly as it appears, to the Dump Output File. Carriage returns may be included, and multiple lines may be inserted with a single LOG request. An ALTMODE terminates each comment and causes the program to accept a new request. 191 Usage: LoG ...... comments; comments •••. "') (ALTMODE) 3.2.8 Return Control to Monitor An EXIT request causes the program to close the Dump Output File {if one is open) on .DAT slot 3, then perform an .EXIT return to the Monitor. use this command for return to the Monitor if the program is being run in the Batch Environment. Usage: 3.3 MANIPULATIVE FUNCTIONS The following commands position the tape and write EOF markers on the tape drive specified. 3.3.1 Rewind Tape This command initiates a rewind on tape unit "u " Usage: REWIND (R)L....IU) 3.3.2 Backspace Tape This command backspaces the tape on unit "u" until the "t 11 condition is satisfied. Usage: BACKSPACE{B)1...1u,t) where: "t" is an integer {number of records), "EOF", "EOT", or "BOT". 3.3.3 Space Tape This command spaces the tape on unit "u" forward until the "t" condition is satisfied. Usage: SPACE (S)L-1u,t) where: "t" is an integer (number of records), "EOF", or "EOT". 192. 3.3.4 Write End-of-File Marker This command writes a single "EDF" marker on tape unit "u"~ Usage: TAPEMARK (T)L....IU) 3.4 DUMP FILE OPERATIONS 3.4.1 Dump File Management The Dump Output File may be written on any physical device. If the device chosen is file-structured, however, the user must specify a name to be given the Dump File and must explicitly request that the file be closed (unless the EXIT command is used) . Furthermore 1. the file name must be given before any other requests are issued. Usage: OPEN.....,filename~xt; where: filename is the name of the file to be created. ext is the filename extension. If omitted, "LST" is the· default assumption. If an OPEN request is not given, the program types NO DUMP FILE OPEN > on the Teletype and waits for another command. NOTE The comment is actually printed when an attempt is made to write into the Dump File, i.e., at commandline echo if VERIFY is ON or at Dump-Record Output if VERIFY is OFF. A check is made to ensure that the filename given is unique. If a· file of the name specified already exists on the Dump Output device, the program types: FILE FOUND ON DUMP DEVICE: DO YOU WISH TO DELETE IT? > 193 filenam ext .:.· The program then waits for the user to type a response to the query. Typing ) 01' OI' indicates the affirmative, and the already-existing file is overlayed (i.e., deleted when the new file is .CLOSEd). Any other response is negative and the program returns to accept a new keyboard command. The Dump Output File is closed upon receipt of the CLOSE command from the keyboard. Usage: CLOSE) or whenever the program is restarted (CTRL P). 3.4.2 Dump Tape Records This command dumps records from unit "u" into the named file open on .DAT slot 3. The sequencing of data words and the ~ormat in which they are written are controlled by the latest NUMBER and MODE requests. usage: DUMP ( D) L-J u , where: t; "u" is the tape unit number "t" is an integer (number of records), "EDF", or "EOT". 3.4.3 Dump Tape Records on the Teleprinter This command performs the same function as the DUMP command, except that the records are unconditionally dumped on the teleprinter. Usage: LIST (L).__.u,t) 194 3.4.4 Tape Status In addition to data input from magnetic tape and the Teletype, the Dump Output File contains indicators of status encountered on the tape being read. Comments are added to the f.ile ·cand typed on the teleprinter) in response to the following observed conditions on the tape. 3.4.5 Message Meaning *END OF FILE ENCOUNTERED An unexpected enq-of-f ile marker was read. *PHYSICAL EQT ENCOUNTERED The end-of-tape reflective spot was reached on input or output. *BUFFER OVERFLOW The tape record read is too long to be accommodated in the available buffer space. *BOT ENCOUNTERED The loadpoint reflective spot was unexpectedly reached during a backspace operation. *PERMANENT READ ERROR ENCOUNTERED After 64 10 read attempts, the inpue record still has not been transferred correctly. The read/write head is positioned immediately before the record. Example of Dump Operation The following example shows the instructions required to dump the file directory of magnetictape unit~ in octal format (to allow the accessibility map to be examined) and then in trimmed ASCII format (to allow reading of the file name entries). 195 Examples: REWIND 0 SPACE 0,1 MOOE OCTAL DUMP 121,1 747377 1210121 [ij Ql [ij 747750 777777 75121000 000(1100 000000 00000111 000000 1 0t1111101210 00000(71 !-'Hil000fll 00flllllfll0 (llflllll0Vl0 0'210!1100 0fllfll000 000000 131571 10 00121000 23312~ 231320 021413 2331?.3 111102 141300 233123 562331 19 28 231404 233123 561411 0?2200 021116 561417 11J10400 021116 040424 37 7100(1)0 021116 031~1H'l1 111600 021116 3022f2l? 060f1H'll1l fll?.1116 050105 46 11161114 021110 161716 061114 021116 252fJl04 i.1112405 233123 Cll53005 55 032524 233123 050411 24!iHll1210 233123 201120 ~0121fiHHIJ 233123 066400 64 liHll 012J.fll 0 ?.33123 150103 2217fll(.lJ 233123 066401 111000011.1 233123 151i11fll3 73 221 n11 233123 152423 070516 233123 031716 ;?6001/llil 233123 15241i'12 82 171724 23221713 15241714 251520 021116 !/"110lil00 0rtl0000 000000 00111000 91 00"1000 000Ql00 000C!Hillll fll00121011l 000000 0!/10CIJ00 liJ00000 (IJ001/J(l)0 (l)(ll(l)12100 H'1121 !/1(1)0(1![1)!/I lil0!H"1J!/I v.100flll/J(IJ 00121t71011l 00Cllfll(l)[IJ 000?100 Ql001/J1110 0001110fll Ol111(1)1/Jfi10 ~HH'l0V'l0 00000Ci! 11)(,1100!110 01t1000[1) 00!/1000 00000(1) 00(1)000 000000 171fll(IJllJllJ(ll 109 011101/J(l)(I) 000111!/IQI !/1000V'l(IJ 017100f/JliJ 000t7l!/10 lilt7l0C'10!/I t111/J0000 00011100 Ql000(1)f/J 118 fil17100!/10 0(1)(/J!ll!/10 000000 0!/10000 01iHl0!11121 0!1101i10!/I (1)0liJ000 00000'1J 1710!/1000 127 00vrnrtrn 000000 !i:llil00Cll0 llJ(l)'1J(l)00 00!/l 0(1)0 00(1)()100 (l)llJl/J000 l/Jflll/Jl/J00 0001/J!/ll/J 136 0(1)0000 "100(1)(1)0 P'0(1)000 0!1H!J00Cll rt1000v'll1l lll!/l!i:lflll/J0 llllil01/l01/l 000!1J(IJ0 Ol!/1001/J(IJ 145 154 fi'l li!!ileJ !1! 0 0!/11/J(l)!IJCll 01/J001/J0 (ll0001/J[I} 000000 0(1)0(1)00 1111710000 11!0001i10 CIJ(i'l!il000 !lllll0171!/10 0(1) 00 liJfil 0000'110 (llt:'JCIJCIJ(ll0 !/100000 000!iH1J0 000000 11!00000 fil00000 163 0 0 fll PHIH?J 01111iHH'l!i'I (11000"10 0Ql0!1J0(i) 0011112lliH1 12lli'!0(}100 li'!(/1(11000 0121000111 001/10(1)(11 172 161 0000011! 0!/101i'lli'Jll! 0011!1i'lli'l0 (ll0011l0Vl 000011!0 000111!il!i! 000000 '1l00(1J~H'J 000_0!i!0 001i'l!i!(ll0 12ll?J0CHHil 00r11011l0 011l0C!lrlltll 0011l000 '1lrll0Qll?J0 Q!!IJ0000 000000 000000 190 199 0000'110 0'110Cll01i'l li!!1l'1J0!110 0!/lfll00QI 00001i'lli'J C!JQll1J17101i'J '11(ll!/1000 '1J000'1J(ll Cil01i'1011l0 208 0!0f1HH'llll 00000111 000tlllll0 0lil00fll0 000000 0!i!!i!11100 !i!0rtH1l00 00001ll0 000000 Ql0Qlfil!i!0 fll00!i'IC!lfll 000000 fll0000!il 000000 000t:'J01/l Vl00000 000000 0!00000 217 0Ql!i!0'110 0001i'Jrllrtl 000fll00 0rt1012l00 !i!001/J00 01i!!ll!i'100 rll!i!fll00!1l 000000 00000fll 226 235 "'100000 00000Jl1J 0 0 !ll liltll0 000(,1100 li'l000Ql0 0001il00 Ql00011l!1l 0'110000 &'10001/Jfll 244 !/10000f/l 000!i'll1Jlil 001i!000 !1JCJ!0000 0!ll0000 01,'100Jl/l0 li'l00000 000000 0filllllllll!0 253 011l1710fiH1 00000VI 1710171000 01710000 00001i'10 BACKSPACE 171,1 MOOE TRIMMED nUMP 0,:t 1 17 33 49 65 a1 97 113 129 145 161 177 193 209 225 241 257 <; 1 @l@@I (? ( @@@ KM9 @l@(ol ,LO 1iocai BIN FIL BIN UPO SYS MAC ROIZ MTB OOT SRC @@l@l @l@l@l @I @l@I @l(a@ @I@@ @I@@ @I@@ @l@l@I @@@ @l@l@l @l @l@l @l@@l @(il@ @l@l@l @I @l@l @@l@I @l@l(il (il@l @l @l@l@l @l@l@l @l@l@l @I (il@I @l@l(Ol @l@l@l @@l@I @l@@I (il@l@l @l@I@ @l@l@I @l@l@l 111 =@@ @@@ SYS SKP BLK oor 9@1@1 AIN ATE SYS EXE SYS F4A @@l@l MTD UMP BIN ca (il@I @@l@ @@l@l @@@I @@@I @@@I (il ta(il (il@l@l @(_il@l @l@@ @@(ii @@l@I @l@l@l @l@l@l (il@l@I @l@l(;t (i@@l @l@@I @l@l@I @@l@l @l@l@I @l@l@l @@l@I @I@@ @l@l@I @l@l@l @l@l@I @l fdl@l @@l@I @@l@l (iii@@ SYS CHA cUT SYS @I (;)@I @l@lr,l @I@@ @l@l@I @@@ @l@l(i @l@l@l @l@(il @l@l@I @l(iil(il (il(iil{ii. @I@@ @l@@I (il@l(iil (il(ilc;i @l(iilQt (il@l@l @@l@l 108 LKC<l SYS ,SY SLD SYS .LI 9Rlil @@@I AIN XRE ED l T@@I ROA SYS @@@I @@@ @l@l("1 @l@f<il @@l@l @@llil (il@l (ol @lc;t r,a @@@l (ii@@ @l@l@l @l@l@l @l@l@I @l@(Ql (_il@l@l @l@l@I @l@l (ii @l@l lib (il@l@l @l@I ta @l@I@ @I (ii(.;) @l@@I @@l@I @l@I (ai @l@l (dl FC!il@l SYS MTS @l@l@l @l@@l @l@l@I @l@(il @@I (il @l@@l @l@l(il @l@l@l @l@l@l @l@l@l @l@l@I (it@l@I @l@@I JN@ SYS MAC @l@l@l r,l@l@I @@@I @l@l@l @@@ 196 @l@l@l @@lfdl BIN EAE PIP 611@1@ GEN SYS @l@l@I (iil@l@I @I@@ @@l@l @l@l@l @@@I c;t@l@I @l@@l (iil(iil@I @l@l@I @l@I@ @I@@ @l@l@I l!i(il@I @l(il@I @l@l@J @@l@I @@@ @l@l@I @l@I@ @@@ @(il@l FIL SYS CON @(iii@ @@@I @I@@ @l@l(iil @@l@I @@@I @@l@I @J@l@l @l@l@I @I@@ @@I@ BIN NON @l@l@I SYS @I@@ (111@1@1 @l@l@l @l@l @I @l@@l @l@@l @l@@l @I (ii@ (il(il(il (ill(il@ @@l@I @l@@I @l@l@I @l@l@l @l@I @I @l@l@l @I @@I @l@l@l @l@@I @@l@I @I@@ BIN f4t;l V@@I (il@(il 3.5 TRANSFER FUNCTION The COPY command allows the user to perform record~for-record copying of .tapes. Usage: where: "u " is the source drive 1 "u 2 " is the destination drive "t" may be an integer (number of records), "EOF",.or "EOT" Standard parity and density (odd parity, 800 BPI) prevail, unless they have been changed by a FORMAT request. To copy an entire tape from unit 1 to unit 2, for example: REWINDL-11) REWINDL...12) COPYL-11, 2, EO~ To replace the last data record on unit 2 with the first data record on unit 1: REWINDL...1 lJ SPACEL...12 ,"E:OT.) BACKSPACEL...1t°;. 3) COPYL-11,2,1) TAPEMARK1-12) TAPEMARKL...12) 3.6 /find first record on 1. /find last record on 2. /backspace over two EOF's plus one data record. /copy 1 record from 1 to 2. /make a new EOT I indicator on 2. FILE MODIFICAT!ON The file modification feature of MTDUMP allows the user to access single records, modify or delete words in a record, delete entire records, or add new records to his file. 3.6.1 Read a Single Record The next sequential physical record is read from tape unit "u" and is stored in core. Its length is saved in anticipation of a subsequent PUT request {see Paragraph 3.6.4). Usage: GET (G)1-11' At the completion of input, the following message is printed indicating 197 the length, in words, of the record just read. RECSIZE:nn 3.6.2 Examine and Modify Data Words Designed for use in conjunction with the GET and PUT conunands; the EXAMINE request allows the user to access and update individual data words in the program buffer. Any number of contiguous registers may be examined and modified with a single conunand. Usage: EXAMINE (Eh.....1n) where: "n" is the relative position in the buffer (record) of the first word to be displayed. If a "D" or "K" suffix (see section 3.2.4) is present, the argument is interpreted appropriately. If no suffix is present, "n" is interpreted according to the current global radix. The argument specifies the position of a word relative to word ~ in the buffer. Example: The above conunand accesses the first data word in the buffer. The program responds to the conunand by displaying on the teleprinter the contents of the register specified in the mode (octal, symbolic, trimmed, ASCII) currently in effect. No carriage return is executed, however, after the displayed data word typeout. The user has several options. a. If a carriage-return is typed, the program responds by displaying the contents of the next higher register. b. If an ALTMODE is typed, buffer examination is deemed complete and the program returns to read a new command. c. A six-digit numeric string (octal notation) may be typed to replace the contents of the register being examined. The terminator of the line typed by the user may be either a carriage return or an ALTMODE • The terminator directs the program's activity after the desired modification has been performed. A carriage return opens the next sequential register~ an ALTMODE returns control to the command processor. 198 3.6.3 Specify Output Record Length The SIZE command specifies, in words, the length of the record to be written in response to a subsequent PUT request (see paragraph 3.6.4). Usage: SIZE ._. where: n ) the parameter_ "n" is the total words in the output record. If a suffix "D" or "K" (see section 3.2.4) is present, the argument is evaluated appropriately. If no suffix is present, the numeric string is interpreted in the current global radix. Output record size is implicitly set during input "GET" processing. The SIZE facility offers a means of overriding the implicit setting. 3.6.4 Write Single Record The PUT command writes data residing in the program's buffer as the next sequential record on tape unit "u". The length of the record written is either the length of the record read in response to the latest GET request or the length specified in a SIZE request which occurred after the latest GET request. Usage: PUT (P) 3.7 ._. u) DIRECTORY LISTING This group of commands is available for dealing with the Magnetic Tape Fil.e Directory. The contents of the Directory on unit "u".rnay be printed on the teleprinter or written into the Dump Output File;· and the Directory may be cleared. None of these commands may be abbreviated. 3.7.1 Write File Directory in Dump Output File The contents of the File Directory of tne tape specified are written in the Dump Output File. Usage: DDUMP 3.7.2 ._. u) Print File Directory on Telepfinter The contents of the File Directory of the tape specified are printed on the Teletype. · 199 Usage: DLIST 3.7.3 1.-.1 u) Clear Tape File Directory Write a new (empty) File Directory on the tape specified. Usage: NEWDIR L.-1 u) 200 APPENDIX A SUMMARY .OF .COMMANDS COMMAND. MEANING PARAGRAPH # SETUP COMMANDS EXIT) FORMAT(F)L...1U,pdc) FORMAT(F)L...lu,d Return Control to Monitor Set Non-Standard Tape Set Standard Tape LOG&....1comments; comments .••. ·) (ALTMODE) Insert one or more lines of comments 3.2.7 Dump File Display 3.2.6 Specify Global Radix 3.2.3 MOD ry OCTAL SYMBOLIC TRIMMED ) ASCII .. fOCTAL } NUMBER-l DECIMAL ) 3.2.8 3.2.1 3.2.2 NOTE D (decimal) or K (octal) specifies Local Radix which overrides Global Radix during processing of a single command line. Bypass Command-Line 3.2.5 MANIPULATIVE COMMANDS BACKSPACE (Bh.......1u,t.) Bac;kspace Tape 3.3.2 REWIND (R) L...lu) SPACE(S)L....Ju,t) TAPEMARK ( T) L-1 '!) Rewind Tape Space Tape Write End-of-File Marker 3.3.3 3.3.1 3.3.4 DUMP FILE COMMANDS CLOSE) DUMP (D) L.....1U ,t) LIST (L) ._.u, ~ OPENL.....1filenameL-1eXt) Close Dump Output File Dump Records into Named File Dump Records onto teleprinter Open Named File 201 3.4.1 3.4.2 3.4.3 3.4.1 APPENDIX A (Cont.) COMMAND MEANING PARAGRAPH # TRANSFER COMMAND Copy Tape Specified 3.5 FILE MODIFICATION COMMANDS EXAMINE (E) Examine and Modify Data Words 3.6.2 GET(G) u Read Single Record 3.6.1 PUT (P) u Write Single Record 3.6.4 Specify Output Record Length 3.6.3 SIZE n n DIRECTORY COMMANDS DD UMP u Write File Directory in Dump Output File 3.7.1 DLIST u Print File Directory on Teleprinter 3.7.2 Clear Tape File Directory 3.7.3 NEWDIR u 202 , I '1= I \ ---VERMONT MASS. I ..... I ______ _ MASS. -2.--.-+-~----2~.._. WESTMINSTER .I J NEW HAMPSHIRE ' ~ ~---J :1~ .PITISFIELD zr• l---=·--..r w COftN. , I I '1 \ HANSCOM AFB BEDFORD CIVILIAN TERMINAL BOSTON ----------------~----&."--4__. . WAYLAND - .............................. 20 ' ..,.. WESTON MARLBORO MASS. PIKE NATICK .,. ·RTE. 20 RTE. 20 EXIT 12 TO WAYLAND FOREST ST. DIGITAL MARLBORO --~.,... PLANT EXIT 11 .• R.QUTE, 9 .. _ EXIT llA MASSACHUSETTS TURNPIKE .marlboro map 207 DIGITAL EQUIPMENT CORPORATION ~amaumu WORLDWIDE SALES AND SERVICE MAIN OFFICE AND PLANT Meyn.rd. M. .SllC'l'tuseHa. U.S.A. 01754 • T•'•phane. FffJllf M.,ropol1t.n 8o!1lot1 5'5-BIOO • Elaewheff. (117}197-Srll TWX: lr0-347-0212 Cable:· OIGl1At. MAYN Telea:. 94-IN57 DOMESTIC camw.1-.1 .NORTHEAST REGIONAL OFFICE: Princeton 21!1 Wrftlen Street, W•ltham, Mali•. 02154 US. Aoute 1, Princeton. New ler•~ OllSCt Telephofte: (11~0. DlttipMnt; 1n.-a12 ot 3013 Teleph.one·.. (tllt)-452-act D1t•pl\one: fllM52-2!MD CONNECTICUT Meriden 2Cl"Pomeray Ave,, Meriden. Cann. msct T&lephone (203)-237-&Ml/74&1 Detapt..,,.., 203-237-8205 F•1rf1eid 121& P09t Ao9d. Fairfield. Cann OllCIJ Telephone- (20J)-?SS-5991 NEW YORK RochHler IXI Allena CrHk Ro•d. Rochealer, New York Telephone (71l}-tl51-17DD Dal9SJhone; 715-2'M-IB Syracull'!! 1700 Thn,,.peon Floed. Syr11eu.e. Ne"" VllM'k 1321 t TelapPlone. (315)-43~·159317085 Oetephon9· 315-45Ml52 MASSACHUSETTS Long 111-.d Telephone (611}4111-74DD SoutMteld. Michigan 875 Dataphom: 113-557-sm MINNESOTA MutMll.DOH1 80XI Cedar Ava. South. M1nneapallo. MiftMaota !5GD Telephone {t!i12)-154-&562·3-4-5 Ootaphone· 112-854-1410 MISSOURI ·Kana• City 124>1 E111143rd Srree1. Independence. Miaourl l4D55 TelepMne: (116)-2$l·ZllO Oalaphone: 8HMl14Hll St Louie (212)-582·1300 PENNSYLVANIA Pluledllptil• Dtgnel ttlill 17-IJ Walton ~. Blue Bell. Pet1nayl1'anio1 t!MZ!! Telephone: (2t5}GS-GllD Suit• no. ns Proare•• Parkw11 Maryland H•lghts. M111our1 63043 Talephofte (314)-879-4310 Dataphone: B115-4S1-'1m OHIO Knoxville 6311 K1ng11on Pike. Sune 211!'. Kno1C¥11te. Te,.,... .•• 37919 MID-ATLANTIC T•l8phone: (115)-!i8&8571 lfEGIONAL OFFICE: Dslaphone: IHS.SIM-0511 4900 Pr1n~.. Cllnlen P•kway. Lenharn, M.-yland FLORIDA 0.londo Suit• 13', 7CXU Lake Ellenor Drtw, OrlendO, Florida 328f8 Telephone (:ll5)·851·445D DMaphone: 3J5.859..23llO Tele111horw (D)-.&58.1!11D Oat8PMM· :a1..-.moo X53 CENTRAL AUenle 2815 Clearview Plac!!!. Suile 10D Allent111. Georgia 03D40 T1tlephone. («M}-451·1"411 Olltaphone: :ms.858-ZllJ REGIONAL OFFICE: 1850 Frol\t•ge Road, Northbrook. llllnol• llOlll'l TelepbCH!ie (312)-92500 Dataphane 312-8-2500 Ex. 78 INDIANA lnchenapoll1 NORTH CAROLINA 21 Beactaw.r Drive, Suire G Durham/CbQMll Hill Ezacutlve Park 3100 Chap1tl Hill Blvd. Durham. Nonh Carolina 27101 Telaphone· (919).....331117 Oet.phone: 11..-.1132- lnd1cinspoll•. lndlllfte 41224 Telephone: (317)-24:1-1341 Datephone 317-247-1212 GEORGtA. NEW lfRSfY F1111rf111:ld 253 P•a•a1c A..,e. Fairfield. New IM'HY 07008 Telephone (201)-227·9280 Oatapbau 201-227-lDID Cleveland 2!aOO Euclid Avenue. Euclid. Ohio 4'117 Tetephan•: (2111)-.._... o ..apholte- 21~ D.eytan 3101 Katlfirlng Baulev•d Oeyt:On, Ohio 45m Telephone. (513)-294-3323 WASHINGTON 0 C. Llllham 30 Olftce Building U S. Roule 1. Princeton. N.w JerMY GE«I TelephCH1i• (&J9)-452"2!MD D.aphane: 31J.__, Suile ta TENNESSEE Ttlox TI0-341-0.W Tolaphane• (408)-1.15-92111 ama-"""ldRoad Suite 1507 HuntlnglOll Stal1on. New York 11741 Telephone (5115)-84-4131, (712)-81115-1185 Oalaphone. 518-293-5893 Mmnh•tt•n 810 71h Ava . Zlrid Floor New Vark. N.Y 10019 M.,.lborOUQh One Iran Wey M11lbotough, Mase. 01752 23D Hural'I View Baulev*d. Ann Arbar, Mk:htgM '9t03 310 SoQu.rl 0.troil 1 Hunt1ng1on QumrllftQle TelepllaMr REGIONAl OFFICE' Telephone; [313)-711-1150 NEW YORK WEST A_..._ MICHIGAN ILLINOIS Ctucago 18SO Frdnt119 Rud Northbrook, 11Unele IODl2 Dt!laptutne· 312.....2500 LOUISIANA NowC>leane . Dal.phone· 513-2M-OM OKLAHOMA lulu 31«1 S. Wlnaton WiMlon Sq. Bldg., Sulla 4. Tulsa. Ok.IMorna 74135 Telephofte [91111)-741-4478 Dato"'one: 911-Mf-271• PENNSYLVANIA Plttlbuflh «IO Cen• Boulevsd. Pittsburgh·, P'9nnmrtv..I• 15295 To.. phoM: (4t2)-24J.MM Detaphone: 412-Dl-9730 TEXAS Dalln "'°""· Plue North. Sulle 513 2lllO LBJ , .....IY. Dillll1n. r .... 1S2SI Ttilephone: (214)-820-2051 Dcuphcme· 214-12G-2011 HOUSTON Bl HomwGod Drive Mon11N"ey Park. HaustDll. T•••• 77D!I TeleptloNt- (711)-771-3171 D•raphOM: 7,s,m.,011 WfSCONSIN .......,. .., 3UJO Ridgel... Drive. Sutt. 1m Mete1r1e. Loul•l.na JDllD2 Tetephone· (SD4)-8:17-GllS7 Dalllflhone: !'i1M-811-211D EUROPEAN HEADQUARTERS UNITED KINGDOM (cant.) ISllAEL 019Hal Equ1pm•nl Corpare11on ln1.,n11tlont1I Europe AEAOIHG Founliun Houae. Buns Cet1h'e Reading RG1 7QN. Engl11nd Telephone (073")-~ Tele• 1483278 DEC S)'llllltl'ftB Cemputere Ltd. TEL AVfV S1.11le 10S. Southern HaHkulr. Street Tel Aviv. h1r11el T•lep)!Ofte {m) 443114/4«Jll3 Telex· 922-D-31&1 Bl W.111 Cspllol Drlvo, MU..._., WlllC0118atli sm2 Tetephone (4,4).ct-9110 o.._, -135-lllO ARIZONA Phaonlx 4358 Eul Broad'...,, Road. Phnenta, Arliana ISD4D Telaphone· (8112)-268-38 Oalaphone: D·2118-737'1 CAllFORltllA Santa Ana 2110 S Anne Srreei. S11nt1 Ana. Callfomle mJDC Teiephone (714j.979-24&o Dataphone; 714-!IJ9.111S) San D••va &15' Mlesion Carve Road Sui1e 110. Sa!'I Diego, Cafllarnle Telephone· (714}-28Q.11111/'1fl1D OetmpltGM· 71"4·21D-71125 San Fnnc1,co 1G T.,.,11 Bell•. Mountain View. Cahfornta IM040 Telephone _(41S}·984-8200 01111tphon•· "415-914-1431 Oakland 7850 Edgew•t•r 0,1.,.. Oahl11nd. C•llfornl• 94821 Telephana: (415)-CDS-545311830 DataphDrMt: 415-Srl-2191 Wefl laS Angeles 1510 Calner Awenue. la11 Angelo•. C•llfaml• !IJD25 Tel.,phane· {213)-479-3791/018 DMaphoM· 213-471-!iBM COLOllAOO 7901 £. Bellevuo Avenue Su1t11 5. EnglewGOd. COiorado 80110 Tel•phone· (3D3)-7J0.8150 0111aphone· SQ.7J0.81211 NEW MEXICO Albuquet"que 10200 Mettuel NE. Albuquerq1.1e. Neiw Meii:lco 81112 Telephone· (!i>5)-291-5411/SG8 De•ephUM· -.294-2331 OREGON Portlllrtd Su11a 1• 5319 S.W. W••taate Drive, Por1l1nd. Oregon 117221 Tel9Phom: (503)-297·3'1111/~ UTAH Salt lmlwi Coy 421 LllW:ft Dela Drive, Salt Lelle CUy, Utah IMllS IS .._1n S1rea1. Mtt1uchen. New Je,...y Oii.a Telephone (20t)-54!MfDD/2CIDD D•apll;OPlll· 21D1·5e-014" Mo-tuchen . w.,.. Sunnyvale. Callfomia .,... DelQhoM: 41.......1"~5 TelephOM (801)-487-41159 D•l•ph- •n-"8HJ53:5 WA$HIHG70N a.ii.vu. 13Ct1 N.E. BellDWll. AmdMond ADMll. Suite 111 a.llevue. Wallhlnglon IBIDS Telsphnne: (211J)-545-4Dl!ill/45&-58M D8tephon• 21B-747-3154 INTERNATIONAL IH rou1e da I' Aire 1211 G•neva 28. SwtlHrlanc:I T1tlapf!one 42: 79 50 TelH; 22 8 FRANCE NETHERLANDS D1t;flhll EQu1pmenl France Ceftlre Si lie - C1du l 22S fMS.1.1 Rung11. fir•n~fl Telephon1t fi87·23·33 Telex 840 01911•1 Equ1pll'l8nt N.V. THE HAGUE Sir WlruatOl'I Churchllliiln 310 A11aw11k/Tha HitQue. Ne1t.rl11nda Tele""°"9: !Ml 9220 Tele•: 32533 GRENOBLE D1g1tat Equipment Franc• Tour Mang1n 16 Rue Du Gal M.n91n 381£11 Granoble. France Telephan• (18)-87-56-01 Tele•· 212·32112 SWEDEN Dlgllal E~lpmenl AB STOCKHOl.M Englupdevegen 7. 111 41 Soln1. Sweden Tal1tphon• • 13 tD T•lea: 17G 5D C•ble DigllAI Srockhnlm HANNOVER 3 H11nnover. Podbielsk1etrme 10'2 Tell!phone· 05t1·111&.1'D-95 Tela•: 122-1112 STUTTGART [)". 7301 K•m"et. Sluttgan O.la 5. Norwa,o Telephone 02/g 34 Cl AUSTRIA DIQ1rsl Equipment CorporsHon Qeun.b.H VIENNA M11r1ahd~ra1rasse 131, 11!50 VieMUI 15. Austria TetophDlle 15 51 • UNITED KINGDOM 01grtal [Qu1p1Mnt Co. Ltd U. K HEADQUARTERS FOUftt•1n Houae. Bun• Cltftlre Reed1na RG1 7QN. England TolephOne· (0734).513555 Tel .. · &m2'7I BIRMINGHAM M1ney Bu1ld1na• 21131 8trm1ngh11"' Rd . SutlDll Coldfield Wanu1ckahire. £ngllllll\d t.tephone 021·.H·55D1 Tele• BRl$10L Fish Panda Aaed. fl•h Pond• Bru11ol. England BS183HQ Norwood. South Auah'eha 5Dl57 Tetepl\olMI Cflll.42·13311 Tele•· 111).BISZS SWITZEllLAND BRISBANE 133 Lo•chtl•dt StrHt 01g1lal £qu1pman1 Ausl"rahe Pt~ Ltd. ADELA/Of I MIDftlraee A-nue $pr1rtg Hill Br1abene, Quaenaland. Auareho 4DDD Telept.ono ('072)-293088 Boil• Poatale IS. 1211 Oe.neve I, Swlthrlllllftd Tolephon9 No 022'20 40 20 ol'ld 20 SI 13 and 20 1111 Tait!• 21 92 DI CANBERRA w5 80 Patk S1reet, Soulh Melbourne. V1clor1e 3205 AUIH'eha T•l1tplrlClfle (OJ}B·2ml M""'llQ•-"t Moue• Telh· 21!&1 MAHCHESTER .Amdlfl• Haun Cltnter Ra.if. S1r9tfard. MttACNlll., M31 IBH T•l.....ene. (Cll1}815-1011 Telaa· - 0191111 l'qu1PM8flt S p A MILAN Con.a Glr1ltlfd1 I012t Miiano. ll11f Tolephene: (Q!)-11941111131415 Tel••: e. ..._ti Dlgllal EqutprtlMd CGl'parMlan Ltd. OIADlllO Alara lngel'I•.,.. S.A .• E'nr•QUe taNle II. M9drld ' ' Tel•phano: 2Uli Z 43 Tel•11. 21M llAllCELON'A Tele• 19).3D1111 llERTH ITALY SPAIN Q Pwikt11r St , Holbarn. Londaft WC JEI SPT. Enoland T•le1. 711.M011G :1.7 Collie SI. Frllhw1r:k. A.CT 281» Auatr•h• TeloephOM (Gl2)-9SID73 MELBOURNE Schoffhauaeratr 315 CH·ll>SO Zurich, Sw1l.11trland Teleoho"e 01·48-41-91 T•le• SI059 Al••o lnp:n..,os S.A .. Greridu_. 11• TeleptloM· Zit 4" II .._._I Caaaln S.A V1my del Pino. «111. Bueno• Aire• T1tlaphono· 52·3185 Tel.... 012-22114 BRAZIL RIO Df IANEIRO - 08 Ainbrle11 S.A. Rua Ce•I. HM. 2 e 3 nnd9M• ZC · & A10 0. JeMlro - GB PORTO ALEGRE - RS Ru1 Coronel Vll*'lte 421 /101 Pono Alepe- ns· T•l•.,hone 24-1411 CHILE AUSTRALIA Dtg1t1I Equipment AB HELSINKI T1111111unlie 8 SF-«t7!0 tt.l•lnkl 71 Telepl\D1111: (18)) 31ot33 Cmble D11na1 Halalrtli:I 20. Ou•• Ern. .1 AnHrmet Talu 311S-S058 :~=:.~s SAO PAULO Ambr1e• S.A Rua Tupi. m S.aP•ulo- SP Tcilephono· 52·"11rell810. $1.at1:1 TelH 9C-1457 FINLAND T@lephone (809)-17.1-118117 T•l•l'h-, H4-74Cl9/04al/'1f05 Tel•photie. [817} 1!191-5111 frDM Metropalilan Boaton . ..mno TWX· nD-347-G'217/DZ1'1 Cab'9. DIGITAL MAVN Hellerupveg II 2SIDD HtiUerup. Denmark Santurc&. Puerto Rico CKBI? &r1118h Coluntb1s. C•neH YSP 5V1 Tel•phone· {ID4)-32S·S231 Tela• 610.92t-2fXl8 .REGIONAL OFFICE 141 M.tn Street. Mavn•d. M•••achusettll 01154 Dlgltsl EqulpnMftt Akt1•bol911 COPENHAGEN D1g·11el Etau1pment CorporMlen De Puerta Rico «11 del Perque S1ree1 &Ol4S:W M.-1 .... Dr.v............,_ GENERAL INTERNATIONAL SALES ZURrCH D1g1tol Eciu1pmen1 Corp AG Telephone Bristol 651-431 Ol.4J5.211141G7 TelH· 19079 DEC N Dlgll•I Equipmmnt Corpor..1an·S.A. GENEVA m..- T~e· SuHe 20! DENMARK T1tle.· lkt-m-311 Telo• 11711::1 VANCOUVER NORWAY Tele•:' 41-'1S-82 Witt LolhlM. $cotlnd CALGARV/Edmotd1111 Suite let. mm fisher Road SE. C•lpry. Alberti. C.nff• T11klph-. (C!)-CIS-4881 TWX: - . - . 1 a Dialt•I E11ulOIMftt COID. A/S OSLO Trondhelrnawelen 47 Am FDr•••u• Ol'-bruch S-7 PUERTO RICO lW>C. Ill).-... TOllOliTO 2550 Oold•nrtdQ• Road. MIHlnauga. Onl.-lo Tet•phOM· (411)-210-ICD TWX. l11Hm-7111 MONTREAL 9D4S Cate 0. L111..e DOlval. Quebec. Can•dli H9P 2M9 Telephorw (514}138-9393 lltlH· 9;0,.422.-412"4 &'llUSSELS COLOGNE 5 tCaln 41. Aachener Strasu 311 Telcrphone 0221·41-.f0.95 Tel••· -..2211 Telegr11111 Ff1p Chip Ka1tln ·FRANKFURT SJ78 Neu·lsenbura 2 11'et911ho,.. 32105 LONDON Onawa. Ontnrio. Clll'IMI• K2H MB TalephaM: (113)-D-5111 1Cll!I Ru9 D'Arlon UMG lltueul1. Belglutn Telapbone· ID·Tm!I Tel. .: 25297 MUNICH 8 Muenchen 13. W1Uenatelnplllb 2 Telephone 0811·35031 T•lex: 524-221 EALING emon Houae. U11brldgct Ralld. faling, Landan T•phone Ol-571·2'1M Tele•· 22111 EDIH8URGH Sluel Hou... Cr•1phlll. Lnnnpton, OigHel Equ1prnenl of C111ade, ltd CANADr.tN HEADQUARTERS PO Bo• 11500 Oliltal EQUlptlleftf N.V./S.A. Digital Equipment CmbH MM"co·Polo-StrHH I Telephone (0771)-45-50-GS CANADA BELCIUM GERMAN FEDERAL REPUBLIC Tel•phane lm1D2·5528 IAPAN Digital EQUlpment Carpomton lntem•llonal Kawa Building No. II- AnM:t. Fir.. Floor 9-20 AkHH• 1-Charne Minato-Ku. Tokyo 107, Japan Teleohort9 586-2771 Tele•· J-28C28 Rilce1 Trlldrng-Co, Ltd. (Hiaa only) Ko:raro-K11kan Bldg Na 18-14 N111h1stumbashi l·ChDl'Nt M1n11to-1Cu, Tokyo. Japan TelephOM 5915245 TelH· 111-421111 §lANTIAGO Cosu1 Chila Ltd•. (eales· only) Caa1ll• 145111. CDrtea 15. Teloptione 311713 Cablt!· COACHIL INDIA llOMllAY H1ndltroft Cnmputus Pvt. Lid. MIA. L legrnohMd1s Marg. lktn!bay-1 (WBJ lndla Telephone· 31-1915. 31-51M Tel••: OtT-291 Ptenty Cable· TEKHINO MEXICO MEXICO CITY Me•ltek. SA Eugenio Cll Daptoa 1 Apela Pa1tal 12-1012 M. .1co Ii. D F. TeleohOM (SOS) 53B-Ol-t0 IQ M..-,_ Slr..1 PHILIPPINES W.al Plorth. Wetterri Austf'•lla erm!i Te..phoM (GD2)-21 ·m3 hie• 7'11-n14D MANILA Steftford Computer CDtperMIDft SYONn' p 0 Dao ... Cn>wo Neot 411 DaSllllBl'll\H SI. M.... u. Teleph- 4!MIB-96 Tef.,a· 742.a3&2 N S.W Auatrehe 2C1S5 T•letthona (IQt.c:a-n. PO. Boa IB T•I••· Jll0-2074G -ZIEALAND D1gi:tal E••PIMftl CDFporallOft lid. AUCICUINO HHten Haun. 430 Queen . . . . . . . . . 2471 Aucldend. Ne. Z•alend Telepholw: 11511 208 - VENEZUELA CM.ACAS CDH•n. C.A ........ ~· Oronde Na. I. C.,R.. H15 Te11,ph.,.,. n.a.2. n-11::11 C•ble INSTRUVEN SOFTWARE PROBLEMS OR ENHANCEMENTS Questions, problems, and enhancements to Digital software should be reported on a Software Performance R~port (SPR) form and mailed to the SPR Center at one of the following Digital Offices: (SPR forms are available from the SPR Center.) Areas covered SPR Center Australia/New Zealand Digital Equipment Australia Pty. Ltd. 123-125 Willoughby Road, P.O. Box 491 Crows Nest New South Wales, Australia 2065 Brazil Digital Equipment Comercio E Industria LTDA Rua Batatais, 429 (Esq. Al. Campinas) 01423-Jardim Paulista Sao Paulo-SP-Brazil Canada Digital Equipment of Canada, Ltd. Software Services P.O. Box 11500, K2H BK8 Ottawa, Ontario, Canada Caribbean Digital Equipment Latin America, Inc. 407 dnl Parque Street Santurce, Puerto Rico 00912 United States, Far East, Middle East, Africa, Remainder of Lat.in J\merica Software Communications P.O. Box F Maynard, MA 01754 France Digital Equipment France 18, rue Saarinen Centre Silic - CIDEX L225 F-94533 Rungis, France Israel DEC-sys Computers Ltd. 7 Hahakuk Street IL-Tel Aviv 63505, Israel Italy Digital Equipment S.P.A. Corso Garibaldi 49 I-20121 Milano, Italy Japan Digital Equipment Corp. Int. Kawa Bui1ding #25 (3rd F1oor) 8-7 Sunban-Cho Chiyoda-ku, Tokyo 102, Japan Mexico Equipo Digital, S.A. de c.v. 109 Concepcion Beistegui Mexico 12, D.F. The Netherlands Belgium Digital Equipment B.V. Kaap Hoorndreef 38, P.O. Box 9064 NL-Utrecht - Overvecht, The Nethc;rlands Scandinavia Digital F_.quipment AB Englundavagen 7 S-17141 Solna Sweden SWi tzerland Spain Portugal Bulgaria Greece Romania Yugoslavia Digital Equipment Co. Ltd. Fountain House, Butts Centre GB-Reading RGl 7QN, England un;tted J<.ingdom West Gcrrnany East Germany tlungary Czechoslovakia Digital Equipment Corp. SA 20, Quai Ernest Anscrrnct Case Postale 23, CH-1211 Geneva 8 Switzerland Austria Russia Poland Digital Equipment GmbH D-8000 Munchen 40 Wa11.ensteinp1atz 2 West Germany 209 HOW TO OBTAIN SOFTWARE INFORMATION SOFTWARE NEWSLETTERS, MAILING LIST The Software Communications Group, located at corporate headquarters in Maynard, publishes newsletters and Software Performance Summaries (SPS) for the various Digital products. Newsletters are published monthly, and contain announcements of new and revised software, programming notes, software problems and solutions, and documentation corrections. Software Performance Summaries are a collection of existing problems and solutions for a given software system, and are published periodically. For information on the distribution of these documents and how to get on the software newsletter mailing list, write to: Software Communications P. 0. Box F Maynard, Massachusetts 01754 SOFTWARE PROBLEMS Questions or problems relating to Digital's software should be reported to a Software Support Specialist. A specialist is located in each Digital Sales Office in the United States. .In Europe, software problem reporting centers are in the following cities. Reading, England Paris, France The Hague, Holland Tel Aviv, Israel Milan, Italy Solna, Sweden Geneva, Switzerland Munich, West Germany Software Problem Report (SPR) forms are available from the specialists or from the Software Distribution Centers cited below. PROGRAMS AND MANUALS Software and manuals should be ordered by title and order number. In the United States, send orders to the nearest distribution center. Digital Equipment Corporation Software Distribution Center 146 Main Street Maynard, Massachusetts 01754 Digital Equipment Corporation Software Distribution center 1400 Terra Bella Mountain View, California 94043 Outside of the United States, orders should be directed to the nearest Digital Field Sales Office or representative. USERS SOCIETY DECUS, Digital Equipment Computer Users Society, maintains a user exchange center for user-written programs and technical application information. A catalog of existing programs is available. The society publishes a periodical, DECUSCOPE, and holds technical seminars in the United States, Canada, Europe, and Australia. For information on the society and membership application forms, write to: DECUS Digital Equipment Corporation 146 Main Street Maynard, Massachusetts 01754 210 DEC US Digital Equipment, S.A. P.O. Box 340 1211 Geneva 26 Switzerland DIGITAL'S REGIONAL EDUCATION CENTERS JoR INFORMATION REGARDING DIGIT.~L's CUSTOMER TRAINING PROGRAM AND TO ACCOMODATE COURSE ENROLLMENTS.,, CONTACT YOUR NEAREST EDUCATION CENTER LISTED BELOW: I . PHILADELPHIA AREA: PRINCETON~ Digital Equipment Corporation Educational Services Department Whitpain Office Campus 1740 Walton Road Blue Bell, Pennsylvania 19422 Telephone: (215)825-4200 Ext.24 WASHINGTON.,, D.C. AREA: Digital Equipment Corporation Educational Services Department U.S. Route 1 . Princeton,·New Jersey 08540 Telephone: (609)452-2940 CHICAGO AREA: Digital Equipment Corporation Educational Services Department Lanham 30 Office Building 5900 Princess Garden Parkway Lanham, Maryland 20801 Telephone: (301)45-7900 BOSTON AREA: Digital Equipment Corporation Educational Services Department 5600 Apollo Drive Rolling Meadows, Illinois 60008 Tele.phone: ( 312 )640-5500 SAN FRANCISCO AREA: Digital Equipment Corporation Educational Services Department (PDP-10 & PDP-15) . 200 Forest Street Marlboro, Massachusetts 01752 Telephone: (617)481-9511 Ext.5071 Digital Equipment Corporation Educational Services Department Maynard, Massachusetts 01754 Telephone: N.J. AREA: (6l7)89705lll Ext. or 211 3819 2564 Digital Equipment Corporation Educational Services Department 310 Soquel Way Sunnyvale, California 94086 Telephone: (408)735-9200 Ext.221 EDUCATION CENTERS CCoNr.): • UNITED KINGDOM: FR.~NCE: Digital Equipment Company Ltd. Fountain House, Butts Center Reading, England RG1,70N Telephone: 58-35-55 GERMANY: Digital Equipment Gmbh. Educational Services Department Wallensteinplatz 2 D-8 Munich 13,Germany Telephone: 35-03 1 THE NETHERLANDS: Digital Equipment N.V. Educational Services Department Kaap Hoorndrief 38 Utrecht, Holland Telephone: 030-63 12 22 SWEDEN: Digital Equipment AB Englundavaegen 7,3TR S-171-41 Solna, Sweden Telephone: 08/98-13/90 Digit~l Equipment S.A.R.L. Educational Services Department 2 Place Gustave Eiffel F-94533 Rungis, France Telephone: (01)687-2333 ITALY: Digital Equipment SPA Educational Services Departm• Corso Garibaldi 49 1-20121 Milan, Italy Telephone: 87-90-51 ~ AUSTRALIA: Digital Equipment Australia Pty. Ltd. Educational Services Departrn 123-135 Willoughby Road Crows Nest New South Wales 2065, Australia Telephone: 439-2566 JAPAN: Digital Equipment Corporatioy Ltd. Educational Services Departme'Dt Kowa Bldg. No.25, Third Floor 8-7 Sanban-Cho Chiyoda-ku, Tokyo 102, Japan Telephone: (03)264-7101 212 THE FOLLOWING PAGES ARE MISSING: 10-12 14-17 21-25 112-117 179-180 203-204 213 DIGITAL EQUIPMENT CORPORATION. Maynard . Massachusetts. Telephone: (617) 897-5111 • ARIZONA. Phoenix • CALIFORNIA. Sunnyvale. Santa Ana. Los Angeles. San Diego and San Francisco (Mountain View) • COLORADO. Engelwood • CONNECTICUT. Meriden • DISTRICT OF COLUMBIA. Washington (Riverdale. Md ) • FLORIDA. Orlando • GEORGIA. Atlanta • ILLINOIS. Northbrook • INDIANA. Indianapolis • LOUISIANA. Meta1rie • MARYLAND. Riverdale • MASSACHUSETTS. Cambridge and Waltham • MICHIGAN , Ann Arbor and Detroit (Southfield ) • MINNESOTA. Minneapolis • MISSOURI. Kansas City and Maryland Heights • NEW JERSEY. Fairfield. Metuchen and Princeton • NEW MEXICO. Albuquerque • NEW YORK. Huntington Station , Manhattan. New York. Syracuse and Rochester • NORTH CAROLINA. Durham / Chapel Hill • OHIO. Cleveland . Dayton and Euclid • OKLAHOMA. Tulsa • OREGON . Portland • PENNSYLVANIA, Bluebell . Paoli and Pittsburgh • TENNESSEE. Knoxville • TEXAS. Dallas and Houston • UTAH . Salt Lake City • WASHINGTON . Bellevue • WISCONSIN. Milwaukee • ARGENTINA. Buenos Aires • AUSTRALIA. Adelaide. Brisbane. Crows Nest. Melbourne. Norwood. Perth and Sydney • AUSTRIA. Vienna • BELGIUM. Brussels • BRAZIL. Rio de Janeiro. Sao Paulo and Porto Alegre • CANADA . Alberta . Vancouver . British Columbia : Hamilton . Mississauga and Ottawa , Ontario ; and Quebec • CHILE. Santiago • DENMARK. Copenhagen and Hellerup • FINLAND. Helsinki • FRANCE. Grenoble and Rungis • GERMANY. Cologne. Hannover. Frankfurt. Munich and Stuttgart • INDIA. Bombay • ISRAEL. Tel Aviv • ITALY. Milano • JAPAN , Osaka and Tokyo • MEXICO . Mexico City • NETHERLANDS . The Hague • NEW ZEALAND. Auckland • NORWAY. Oslo • PHILIPPINES, Manila • PUERTO RICO, Miramar and Santurce • REPUBLIC OF CHINA. Taiwan • SCOTLAND, West Lothian • SPA IN. Barcelona and Madrid • SWEDEN . Solna and Stockholm • SWITZER LAND . Geneva and Zurich • UN ITED KINGDOM . B irmingham . Bristol. ::'.dinburgh , London . Manchester . Reading and Warwickshire • VE NEZ UELA, Caracas
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies