background image

Summary of Contents for 9200

Page 1: ...REFEFI r CE UN I A Fe EI L SVSTEIViS DIVIS ...

Page 2: ...material should be utilized in the following manner SECTION Contents Section 2 Section 3 Appendix A Appendix B Appendix C DESTROY FORMER PAGES NUMBERED 3 Rev 5 Rev 7 Rev 5 6 7 8 1 2 1 and 4 1 and 6 1 Rev 13 Rev 1 and 14 1 7 Rev 1 8 Rev 1 37 Rev 1 38 Rev 1 39 1 2 3 Rev 1 4 Rev 1 N A These are backups of revised pages and remain unchanged These are new pages FILE NEW PAGES NUMBERED 3 Rev 1 4 Rev 1 5...

Page 3: ...and 2 5 and 6 7 and 8 15 and 16 21 5 and 6 7 and 8 13 and 14 19 and 20 21 and 22 23 and 24 25 and 26 7 and 8 9 and 10 11 and 12 17 and 18 21 and 22 23 and 24 25 and 26 27 and 28 29 and 30 31 thru 38 3 and 4 revised pages and remain FILE NEW PAGES NUMBERED 1 and 2 Rev 1 3 Rev 1 and 4 5 Rev 1 and 6 Rev 1 7 Rev 1 3 Rev 1 and 4 Rev 1 5 Rev 1 and 6 Rev 1 7 Rev 1 and 8 Rev 1 11 Rev 1 and 12 Rev 1 1 Rev ...

Page 4: ...tation 2 3 4 Location Counter 2 3 5 Rei ative Addressing 2 3 6 Symbols 2 3 7 Relocatable and Absolute Expressions 2 3 8 Length Attri bute 2 4 MACHINE INSTRUCTIONS 2 4 1 RX Register to Storage Instructions 2 4 2 SI Instruction to Storage Instructions 2 4 3 SSI Storage to Storage Instructions 2 4 4 SS2 Storage to Storage Instructions 2 4 5 Implied Base Register and Length 2 5 DATA AND STORAGE FORMAT...

Page 5: ...Assembler Control Card 3 1 7 Operand Format 3 2 SYSTEM COD ES 4 OPERATING PROCEDURES 4 1 GENERAL OPERATING INSTRUCTIONS 4 1 1 Card Controller Operating Instructions 4 1 1 1 Sta rt In stru cti ons 4 1 1 2 Second Pass Rerun Instructions 4 t ASSEMBLER CARD OUTPUT 4 2 1 Element Definition Card 4 L 2 External Definition Card 4 2 3 Program Reference Card 4 L 4 External Reference Card 4 2 5 Text Card 4 L...

Page 6: ... A6 2 GOTO and LABEL Directives A6 3 Set Variables A6 3 1 GBL Directive A6 3 2 LCL Directive A6 3 3 SET Directive A6 3 4 Relational and Logical Operators A6 3 5 Character Values A6 3 6 Use of Character Values A7 CONTINUATION CARDS A8 LABELS USED IN UNIVAC PRODUCED MACROS A9 MACRO INSTRUCTION DECK AID MACRO PASS OUTPUT FORMAT AlD l Source Code Card Format AlD 2 Macro Instruction Card Format AlD 3 C...

Page 7: ... and Read Functions 83 2 6 2 Send and Receive Data Functions 8 L2 7 Input Area Entry lOA1 8 L2 8 Input Area Entry INAR 83 2 9 Input Translate Table Entry lT8L 8 L2 10 Mode Deta iI Entry MOD E 8 3 2 11 Output Area Entry OUA R 8 3 2 12 Output Translate Table OT8L 8 t2 13 Overlap Entry ORLP 8 3 2 14 Print 8ar Entry FONT 83 2 15 Printer Advance Entry P RA D 83 2 16 Punch Error Entry PUNR 83 2 17 Print...

Page 8: ...RINTER DEFINITION STATEMENTS B12 1 Preparing the Printer BI2 2 Error Indications B12 3 Paper Low B13 SERIAL PUNCH DEFINITION STATEMENTS B14 SERIAL READ DEFINITION STATEMENTS B15 SERIAL READ PUNCH DEFINITION STATEMENTS BI5 1 Buffer and Work Area Size BI5 2 End ot File BI5 3 Preparing the Serial Read Punch BI5 4 Error Indications B16 UNIVAC 1001 CARD CONTROLLER DEFINITION STATEMENTS B16 L Wo rk Area...

Page 9: ... 1 02 MACRO INSTRUCTIONS 0 1 02 L Message Macro MSG 0 1 Di 2 Restart Macro 0 2 03 I O CONTROL ROUTINE MESSAGES 0 3 E TRANSLATION TABLES E 1 to E 1 E1 GENERAL E 1 F GURES 1 1 Source to Object Code Translation with Assembler 1 1 1 2 UNIVAC 9200 9300 Assembl y System 1 3 2 1 Example of Source Code Statements 2 2 3 1 Example of Printer Output of a Program 3 9 5 1 Elements A and B Deck Structure 5 7 5 ...

Page 10: ... Rev 2 3 Operand Specifications Using Implied Base Register and Length Notation 4 Characteristics of the Various Constants 3 1 Internal Code B l UNIVAC 1001 Card Controller IOCS Initial Error Indications B 2 UN IVAC 1001 Card Controller IOCS Requested Error Indications Contents SECTION 2 7 2 8 2 11 2 14 3 15 8 33 8 34 7 PAGE ...

Page 11: ......

Page 12: ...he language of the user and which relies heavily on the computer for translation into its language In an Assembler language all coding is represented in the form of statements which are unperstandable to the programmer The Assembler then converts these statements into a binary form which is understandable to the computer The programmer s state ments when keypunched are called source code The Assem...

Page 13: ...ler in relocatable object code or absolute object code The object deck is ready for loading into the UNIVAC 9200 9300 by means of the Card Program Loader routine The basic flow of the UNIVAC 9200 9300 Card Assemb ler and associated software is shown in Figure 1 2 Input to the Assembler is a card deck keypunched from an Assembler coding form or is the output from the Pre ass embly Macro Pass The ma...

Page 14: ...E CODE DECK SEMBLER LOCATABLE L CODE UNIVAC 9200 9300 CARD ASSEMBLER PREASSEMBLY MACRO PASS SECTIONI KEYPUNCH ASSEMBLER LINKER ABSOLUTE CODE DECK LOADER Figure 1 2 UNIVAC 920019300 Ass mbly System 1 PAGEl MACRO CODE SOURCE CODE OBJECT CODE 3 ...

Page 15: ...structions and data to specific locations The Assembler also handles all base register and displacement calculations Flexible Data Representation Data may be represented in the Assembler in decimal hexadecimal or character notation thus allowing the programmer to choose the most suitable form for each constant Relocatable Programs and Program Linking Programs are prepared by the Assembler in an ab...

Page 16: ...abel field begins in column 1 and is terminated by a blank column There may be no embedded blanks The field may either be blank or contain a symbol whose value is to be defined More detailed information about symbols is contained under headings 2 3 6 and 3 1 1 2 2 2 Operation Field The operation field begins with the first non blank after the label field and is terminated by a blank It contains ei...

Page 17: ...he standard coding form is ruled to conform to this convention Thus although the statements on lines 3 and 4 of Figure 2 1 are equivalent to the Assembler the form of line 4 is preferred to that of line 3 The Assem bIer ignores the presence of any blank cards in the source code deck 2 3 EXPRESSIONS The operand field of a statement in the assembler language ordinarily consists of one or more expres...

Page 18: ... 0111 F 1111 Some examples of hexadecimal representations and their values are Hexadecimal Representation 2 3 3 Character Representation Binary Value 00000001 01111111 00001101 00000001 11111111 A character representation consists of a string of characters preceded by CI and followed by I The following are valid character representations Character Representatio EBCDIC Value C D 11000100 IPAGE 3 C ...

Page 19: ... operand expression this symbol is replaced by the storage address of the leftmost byte allocated to that instruction or constant Thus the instruction Be 15 represents a one instruction loop 2 3 5 Relative Addressing An instruction may address data in its immediate vicinity in storage in terms of its own storage address This is called relative addressing and is achieved by an ex pression of the fo...

Page 20: ...on Thus if a symbol appears in the label field of a statement defining an instruction constant or storage area the symbol is assigned a value equal to the storage area address of that instruction constant or storage area 2 3 7 Relocatable and Absolute Expressions A sin gle term may be either relocatable or absolute Decimal character and hexa decimal representations are all absolute terms A locatio...

Page 21: ...have a length attribute of 4 since LH is a 4 byte instruction In referencing the same label the expression TAG 195 also has a length attribute of 4 but the expression 195 TAG has a length attribute of 1 because the leading term is a constant When a location counter reference appears as the first term of an expression its length attribute is defined as having either the length of the instruction in...

Page 22: ... MOVE WITH OFFSET NC AND CHARACTERS NI AND IMMEDIATE DATA OC OR CHARACTERS 01 OR IMMEDIATE DATA PACK PACK SH SU BTRACT HALFWORD SP SUBTRACT PACKED DECIMAL SPSC STORE PROGRAM STATE CONTROL SRC SUPERVISOR REQUEST STH STORE HALFWORD TIO TEST I O TM TEST UNDER MASK TR TRANSLATE UNPK UNPACK XIOF EXECUTE INPUT OUTPUT FUNCTION ZAP ZERO ADD PACKED DECIMAL Rev 1 IS CTOON 2 HEXADECIMAL OPERATION FORMAT CODE...

Page 23: ...e Table 2 2 Symbols Used in Describing Operand Formats 2 4 1 RX Register to Storage Instructions ODE I RE TER _B_A_S_ 2 R_E_G_ I D s_P_L_ E_M_E_N_T o 7 8 11 12 15 16 19 20 31 Complete Operands Form Rl D2 B2 4 byte instruction In general instructions in this format are used to process data between registers and storage and include such functions as load store compare add subtract and branch The mne...

Page 24: ...rvisor Request TIO Test I O TM Test Under Mask XIOF Execute I O Function 2 4 3 sst Storage to Storage Instructions LOPCODE o 7 8 OPERAND LENGTH L BASE REG B1 15 16 19 20 DISPLACEMENT 0 1 31 J BASE REG B2 DISPLACEMENT O2 32 35 36 47 6 byte instruction The instructions in this format are used to process data in storage when the operands are of equal length and include such functions as comparisons t...

Page 25: ...ove With Offset PACK Pack SP Subtract Packed Decimal UNPK Unpack ZAP Zero Add Packed Decimal SS2 2 4 5 Implied Base Register and Length Where an operand is described in terms of a storage address and a length the ex pression used may be simplified from that shown in the instruction format by imply ing the base register and the length Information supplied in the USING and DROP directives enable the...

Page 26: ...ield to the field labeled OPB and defined as an 80 character field the instruction could be written as follows MVC OPB OPA The length attribute of OPB is implied If 90 characters were to be moved the instruction would be written MVC OPB 90 OPA 2 5 DATA AND STORAGE FORMATS The formats for data and storage statements are similar to those for a machine instruc tion A symbol may be used in the label f...

Page 27: ... is a string of as many as 16 characters including blanks enclosed by apostrophe marks The apostrophe mark itself is represented by two successive apostrophes and an ampersand by two successive ampersands In each of these cases the two characters count only as one towards t he limit of 16 Thus to represent a character constant of 16 apostrophes 32 successive apos trophes would be written preceded ...

Page 28: ...al constants three bytes in length CONSTANT REPRESENTATION DC XL3 1 11 DC X 123A51 DC XI 1F3456 1 2 S 1 3 Expression Constants VALUE 00000000 00000000 00000001 00000001 00100011 10100101 00011111 00110100 01010110 Constants of type Y provide a way to write a constant involving a relocatable expression If the length specification L1 is not present the expression defining an expression constant may ...

Page 29: ...engths padding and truncation rules appears in Table 2 4 CONSTANT EXPLICIT IMPLICIT TRUNCATION TYPE LENGTH LENGTH OR PADDING variable ntaximum on right side C 1 16 16 X variable maximum on left side 1 16 16 not Istated 2 on left side y 1 none on left side 2 none on left side Table 2 4 Characteristics of the Various Constants 2 5 2 OS Define Storage The format of the assembler language statement to...

Page 30: ...0 greater than that of CARD and FRST The location counter is not increased in assem bling CARD because duplication factor is 0 but is with FRST and LAST Therefore 40 40 80 spaces are reserved with FRST and CARD assigned the starting location and LAST assigned the mid point When the duplication factor is specified it defines the number of fields of length n for C or the number of pairs of bytes for...

Page 31: ......

Page 32: ...assem bIer directives grouped by function are as follows Sym bol Definition EQU Assembler Control START END ORG Base Register Assignment USING DROP Program Linking ENTRY EXTRN Assembler directives except START may use a symbol in the operand field and with the exception of ENTRY EXTRN USING and DROP the symbol must have appeared in the label field of a previous statement 3 1 1 Symbol Definition EQ...

Page 33: ...ribute of 10 HIDE has a relocatable value of 2100 and a length attribute of 150 SEEK has an absolute value of 20 and a length attribute of 10 I I I I I I I L 3 1 2 Assembly Control Assembler directives are available to control the program name and initial location alter the location counter in a specified manner and indicate the end of the program statement and the instruction with which execution...

Page 34: ... The format of the END directive is LABEL OPERATION OPERAND Symbol optional END Expression optional With an END directive the Assembler stops reading cards punches any remaInIng data which has accumulated and then punches a Transfer Card If the operand field of the END directive contains an expression this expression is punched into the Transfer Card to signify to the load routine the address at w...

Page 35: ...ch is not a halfword boundary The ORG directive to set the location counter to a value 603 less than its current setting would be as follows LABEL OPERATION OPERAND ORG 603 The ORG directive may be used to reserve a number of locations which are not expressed as a single decimal integer For example to reserve A minus B bytes of storage where A and B are previously defined symbols the statement is ...

Page 36: ...lace men t values The expression in the operand field of the DROP directive is a number from 8 through 15 which denotes the general register no longer available 3 1 3 3 Function of USING and DROP Directives The Assembler maintains a table of the available registers and the values they contain at object time This table is referred to as the USING table A USING directive adds a register and value to...

Page 37: ...r 10 as a register available for address ing the line labeled B The load routine stores in register 13 the starting address of the program just loaded All other registers must be loaded by the program itself in a manner con sistent with the information given to the Assembler in the USING directives The following example shows how this is done LABEL ti OPERATION ti OPERAND 15 1 10 16 _LL L LL L l U...

Page 38: ...ress 4098 would yield a base of 1 and a displacement of 2 The additional forms of the USING directive which are available for direct addressing are specifically LABEL OPERATION OPERAND USING 0 USING 1 USING 7 The first line above makes direct addressing available for addresses in the range o to 40 95 The second makes direct addressing available for addresses in the range 4096 to 8191 and so on The...

Page 39: ... is declared to be externally defined Its name and assigned value are included in the output of the Assembler as an External Defini tion Card 3 1 4 2 EXTRN Externally Referenced Symbol Declaration The Assembler must also be informed of all symbols referred to in the element being assembled but which are defined in some other element A reference to such a symbol is called an external reference and ...

Page 40: ... REAOEP uU l MO STAHT 0 lJui USING n uU j OOOA ORG 10 OU 4 OOOA nOOOOOOOOOOUUOOUOO1L DC XLtO lC LOADER SECTION 1ST CAPO N uU UUI 1I0Ul 0UOooO OuuouU DC XLA O I lU h onlC n20100400042 MVC 70 2 b6 SET BASE ADnR FOR 2 0 CARD Po UO 7 U022 Q25UOO MVI 69 80 CON t SET 80 To D C AREA P UlJ 0026 lI 401000c t10F 2 1 READ CARD P lJU U02A 1177UU031 AC 7 62 IS IOF ACCEPTEO DY uUjU UOZE I bU1000u TIO 011 TEST 1...

Page 41: ...1 eN 2 O M CN 3 3 M CN 2 14 M CN 2 CN 2 M CO 4 1 3 B f BO CN 6 3 A 9 1 M CN 6 X 2300 0 Figure 3 i Example of Printer Output of a Program Sheet 2 of 5 DEV E CONTROL FOR 1ST CARD MD 21 LOAnER SECTION 2ND C_Rn N MD 215 IS THIS A TYPE Y CARD ON MO 216 IF Y CARD GO TO CON 4 C MD 17n IS THIS A TYPE Q CARD OY MD 218 C MO 219n I NO GO TO CON S C SET LENGTH FOR LOAD SET ADDRESS FOR LOAO LOAn TEXT P CON S S...

Page 42: ...1C ell lC VC V I c VI VC 1 1 III Cll He nHb 2 14 h2 1e hl 8 1 H 14 tt J l i 1 M cr J L II U 14 W Cfl 1b CN lfi M C A 1 J 4 0 1 L nHj 1 I rt 0 6 14 liG 1 hi f J 14 Cll 1 U L Figure 3 i Examole of Printer OlJtput of a Program Sheet 3 of 5 GO TO A FOR RECnVFRY IS I C IV SET TO B2 IF YES GO Tn 82 Ul r MD 40Q 1 MD 410n c J MD I 1 MD 4121 1 CLE R STAnOf Y P qUF FR ARE P MO If 131 1 CO IS vc en SET TO C2...

Page 43: ...M PW b M PW j2 M TU 238 CN b 3 M L b CN b X FCI B KO CN 2 1 l JI E V CN 5 1 Fl 22 Figure 3 7 Example of Printer Output of a Program Sheet 4 of 5 SET AfGHJf JP G ADDR TO l A GO TO L P R p SET vc no Tn 112 SfT VC KO Tn K2 60 fa L SFT VC RO Tn P l GO T0 TT SET VC CO Tn C 3 GO TO C1 P R p R r R LOAD P13 FRnM Rt4 p pp SET ST ADDRESS OF nIT r GO IS DATA FOI JAL TO PPED DY IF O GO TO C1 C RI5 lA TO R 5 P...

Page 44: ...3 M CN b 3 2 4 X 2FFF O l Mt NT CLlb CL132 PoAEt IT Figure 3 1 Exampie of Printer Output of a Program Sheet 5 of 5 IS VC KO SET TO K31 ON MO IF YES GO TO K3 C MO OAn OATA INTO PRINT UFFER P MO GO TO A B MO K2 SET VC KO TO 1 5 P MO GO TO Kl B MO SET LINE ADV AITS F R H P P MD AND PAPER FEED TO H P POS C MO IS PRINTER WORKING Ct MD IF YES REPEAT TIO C MD SUCCESSFUL STOP H MD RETURN TO MENT B MD wS F...

Page 45: ...e comma indicating its position must never theless be present An exception to this rule is the last expression in the operand if it is not expressed its preceding comma may also be dropped 3 2 SYSTEM CODES Table 3 1 shows the relation the Assembler assumes between card code internal computer code and printer graphic The Assembler reads a source code card in com pressed form and then translates it ...

Page 46: ...object program is represented in an in ternal code other than that used by the Assembler a11 difficulties can be avoided by representing a11 constants in the source code in hexadecimal TWO MOST SIGNIFICANT BITS OF ZONE 00 TWO LEAST SIGNIFICANT BITS OF ZONE DIGIT 00 01 10 11 0000 12 0 9 8 1 12 11 9 8 1 11 0 9 8 1 12 11 0 9 8 1 0001 12 9 1 11 9 1 0 9 1 9 1 0010 12 9 2 11 9 2 0 9 2 9 2 0011 12 9 3 11...

Page 47: ... S 3 11 0 9 3 12 0 9 4 12 11 9 4 11 0 9 4 12 0 9 5 12 11 9 5 11 0 9 5 12 0 9 6 12 11 9 6 11 0 9 6 12 0 9 7 12 11 9 7 11 0 9 1 12 0 9 8 12 11 9 8 11 0 9 8 12 8 1 11 8 1 0 8 1 12 8 2 11 8 2 12 11 12 8 3 11 8 3 0 8 3 12 8 4 11 8 4 0 8 4 12 8 5 11 8 5 0 8 5 12 8 6 11 8 6 0 8 6 12 8 7 11 8 7 0 8 7 I Table 3 1 Internal Code Sheet 2 of 4 3 16 SECTION PAGE 11 12 11 0 12 11 0 9 1 12 11 0 9 2 12 11 0 9 3 12...

Page 48: ...1 4 11 0 4 12 0 5 12 11 5 11 0 5 12 0 6 12 11 6 11 0 6 12 0 7 12 11 7 11 0 7 12 0 8 12 11 8 11 0 8 12 0 9 12 11 9 11 0 9 12 0 8 2 12 11 8 2 11 0 8 2 12 0 8 3 12 11 8 3 11 0 8 3 12 0 8 4 i2 11 8 4 11 0 8 4 12 0 8 5 12 al 8 5 11 0 8 5 12 0 8 6 12 11 8 6 11 0 8 6 12 0 8 7 12 11 8 7 11 0 8 7 Table 3 7 Internal Code Sheet 3 of 4 3 17 SECTION PAGE 11 12 11 0 8 1 12 11 0 1 12 11 0 2 12 11 0 3 12 11 0 4 1...

Page 49: ...11 4 0 4 0 M U 12 5 11 5 OMS E N V 12 6 11 6 0 6 F 0 W 12 7 11 7 0 7 G P X 12 8 11 8 0 8 H Q y 12 9 11 9 0 9 I R Z 12 0 9 8 2 12 11 9 8 2 11 0 9 8 2 12 0 9 8 3 12 11 9 8 3 11 0 9 8 3 12 0 9 8 4 12 11 9 8 4 11 0 9 8 4 12 0 9 8 5 12 11 9 8 5 11 0 9 8 5 12 0 9 8 6 12 11 9 8 6 11 0 9 8 6 12 0 9 8 7 12 11 9 8 7 11 0 9 8 7 Table 3 1 Internal Code Sheet 4 of 4 3 18 SEC THON PAGE 11 0 0 1 1 2 2 3 3 4 4 5 ...

Page 50: ...if possible specification p on the CTL card and start over When p is 8191 the Assembler can handle about 200 tags Press RUN to continue all subsequent tags will be undefined LAST PASS is completed Two blank cards must follow the END card on the LAST PASS in order to get this display 4 1 1 Card Controller Operating Instructions The following sections provide instructions for operating the Card Asse...

Page 51: ...lements The Program Reference Card contains the name of the element and the number by which this name is identffied in the relocation information for the element An External Reference Card contains a label to which the element refers but which it does not define The card also contains a number by which this label is identified in the relocation information for the element A Text Card contains the ...

Page 52: ...ence Cards it may be loaded directly into the UNIVAC 9200 9300 via the Card Program Loader In this instance the text is loaded at the addresses indicated in the Text Cards and job execution begins at the point indicated in the Transfer Card The Element Definition Card any External Definition Cards the Program Reference Card and the relocation information in the Text Cards are ignored by the Progra...

Page 53: ...f the symbol field 17 24 Symbol Symbolic name to be referenced by other program s punched in E BCOIC 70 72 RLO Relocation field See the description of this field for the Text Card If present column 72 contains a 3 and the least significant digit of column 71 also contains a 3 indicating that columns 14 16 are to be modified 4 2 3 Program Reference Card COL FIELD NAME CONTENTS 1 Load Key 12 2 9 PUl...

Page 54: ...of text information on the card The Assembler assigned location where the text is to be loaded Sum of the bytes punched columns 8 72 External Symbol Identification assigned by the Assembler to the program name to which this load address is relative Number of columns of RLD information on this card Column 11 relative number indicating the most significant column of the last item of RLD informa tion...

Page 55: ...r of columns less one from Col 11 7 Hole Count Sum of the bytes punched columns 8 72 9 RLD Length Number of columns of RLD information on the card Indicates 3 or 0 10 Last RLD Column 11 relative number indicating the most signi ficant column of the last item of RLD information on the card Contains 59 if there is relocation data otherwise 0 11 13 Card Count The number of reference type K or t ext t...

Page 56: ...case of an EQU or an ORG line the value assumed by the assembler Assembler produced object code in hexadecimal Input card The error codes and their meanings are as follows C Cover error no USING covering relocatable operand address D Doubly defined labe I or reference to doubly defined label E Expression too large or improper syntax H Halfword boundary error on RX or AI operand Instruction error L...

Page 57: ......

Page 58: ...ader Substitute an XRDC module for the XRDR module Substitute an LDCC module for the LD module Change the second parameter of the first phase card from 510 tc 600 Include an EQU card of the following format LABEL OPERATION CODE OPERA D RDCN EQU n where n is the number of the channel in which the Card Controller is located In order to make an assembler that would print on a 48 character bar Substit...

Page 59: ......

Page 60: ...onal ext ernal definitions EQU card corre ctions to one or more of the elements being linked REP the end of the input stream END The Linker provides an output listing including the control cards on its input the names and external definitions of the elements being linked and the values allocated to each as well as the number of the phase in which it is included Phases are numbered consecutively fr...

Page 61: ...rnally defined symbol must precede all elements referring to that symbol If there are any symbols for which this is not possible their definitions may be supplied by EQU cards If this is not desi rabie the Linker provides the option of a two pass operation The first pass recognizes the headers Element Definition and External Definition Cards and stores the external definitions The second pass proc...

Page 62: ...is 16383 The CTL card may be omitted in which case the result is the same as indicated above for each field omitted PAGE If the Linker is to perform a two pass operation and produce code for a 16K system on a 16K system the CTL card would be CTL 2 16383 16383 5 3 2 PHASE A PHASE card defines the name and initial storage address for the output element and must be the first or second card of the Lin...

Page 63: ...ymbol appearing in the label field of the EQU card For an EQU card with a specification field of the second form above the value of the previously defined sym bol is added to this value to yield the value of the sym bol being defined An EQU card must follow a PHASE card an Element Definition Card an External Definition Card or another EQU card It must precede the body of the first element containi...

Page 64: ...f the Transfer Card of the element to be altered Addresses and data are specified in hexadecimal in the same form they are to have in the output element No relocation or linking facilities are provided by the Linker for this data The form of the operand specifications field is address data data where address is a field of from one to four hexadecimal digits specifying the storage address of the le...

Page 65: ...of 0 and a length of 100 b One External Definition Card specifying M as an externally defined symbol with an element relative value of 50 c One Program Reference Card specifying that this element is named A that this name has an External Symbol Identification ESID number of 1 and that element A has an origin of O d Three External Reference Cards specifyin g tha t X Y and Z are externally ref erenc...

Page 66: ... 5 1 Suppose elements A and B are to be linked into one job having an origin of 1000 and whose initial execu tion address is to be the beginning of element A The origin would be specified in a PHASE card the transfer address in an END card The input to the Linker for a one pass operation would appear as shown in Figure 5 2 The Linker reads the PHASE card and sets the location counter to 1000 in pr...

Page 67: ... X ESID 2 NAME A ESID 1 ORIGIN 0 EXT DEF Z ABS VAL 25 EXT DEF Y ELTREL550 EXT DEF X ELT REL 475 ELEMENT B ORIGIN 400 LENGTH 200 EXT DEF M ELT REL 50 ELEMENT A ORI GIN 0 LEN GTH 100 PHASE OR IGIN 1000 PHASE ELEMENT A HEADER ELEMENT B HEADER Figure 5 2 Linker Input 5 SECTION RLD INFO NAME B ESID 1 ORIGIN 400 END START A 8 PAGE ...

Page 68: ...used to determine the relocation factor for the element name The result of processing the reference cards is shown in Figure 5 4 The Linker then processes the text of element A For each instruction or constant on the input text cards it produces an instruction or constant on an output Text Card The absolute portions of the text are produced unaltered The address at which the text is to be loaded i...

Page 69: ...25 EXT DEF Y ELT REL 550 EXT DEF X EL T REL 475 ELEMENT B ORIGIN 400 LENGTH 200 EXT DEF M EL T REL 50 ELEMENT A ORIGIN 0 LENGTH 100 PI lASE ORIGIN 1000 PHASE ELEMENT A HEADER HEADER Figure 5 3 Header Processing TEXT AND RLD INFO ENTRY NUMBER 1 2 3 4 5 6 END START A REFERENCE TABLE NAME VALUE A 1000 M 1050 B 1100 X 1175 Y 1250 Z 25 RELOCATION FACTOR 1000 1050 1100 1175 1250 25 ...

Page 70: ...EF X ESID 2 NAME A ESID 1 ORIGIN 0 TEXT AND RLD INFO ESID 2 NAME B ESID 1 ORIGIN 400 END START A ESID TABLE ESID ENTRY NUMBER 1 1 2 4 3 5 4 6 REFERENCE TABLE ENTRY NUMBER NAME VALUE 1 A 1000 2 M 1050 3 B 1100 4 X 1175 5 Y 1250 6 Z 25 Figure 5 4 ESID Processing for Element A RELOCATION FACTOR iooo 1050 1100 1175 1250 25 11 PAGE ...

Page 71: ...mpletely relocated and with all external references defined In response to the END card the Linker produces a Transfer Card with a value of 1000 the value of the name A in it for a Transfer Address Thus the output of the Linker is a deck of Text Cards with no relocation information followed by a Transfer Card If a third element were to follow element B as input to the Linker the relocation factor ...

Page 72: ...element Consequently the cards can be easily stripped off by hand For the first pass of a two pass operation the Linker object deck precedes the input deck in the input hopper of the card read unit For the second pass the inpu t deck only is placed again in the inpu t hopper Figures 5 6 and 5 7 illustrate the placement of control cards for a one and two pass linking operation 5 6 LINKING THE LINKE...

Page 73: ...ions H Program Reference J External Reference K Text Q Transfer Y Element Defin ition A External Definitions H Program Reference J External Reference K Text Q Transfer Y Linker Input Linker Object Deck Control Cards CTL PHASE 1 EQU Element A Element B Control Card PHASE 2 Element C Control Card EN D ISECTION 5 Linker Output Text Q Transfer Y Text Q Transfer Y Figure 5 6 Linker Input Deck Sequence ...

Page 74: ... Y 12 in Element B Col 2 Body type Y type J K Q Y Element C type A Body type H type J K Q Y type J Element type K C type Q type Y Linker Input Control Cards Element A Element B Control Card Element C Element A Element B Element C Up Object Deck CTL PHASE 1 EQU t pe H tyP A type H P A PHASE 2 type H YP A type J type K type Q type Y type J type K type Q type Y type J type K iype Q L type Y Control C...

Page 75: ...ad Routine The program name for the routine is LD if the online card reader is used to load the Linker being linked If the Card Controller is used the name for the Card Load Routine is LDCC The last element in the input deck must be the Linker element which has the pro gram name LNKR The elements between the Card Load Routine and LNKR may be in any order The elements are as follows Exec I which is...

Page 76: ...rated from a call either on the DTFRP macro or on the DTFRW macro for the online serial read punch or for the row read punch respectively If the online se rial read punch is used the PUNR YES parameter specification is made If the row punch is used the CHAN parameter must be specified For both macros a The filename must be RPP b CNTL YES is not required c The MODE parameter is specified as MODE CC...

Page 77: ...lanks 5 7 CARD OUTPUT FROM THE LINKER The Linker produces two types of output cards Type col 2 Q y 5 7 1 Type Q Cards Name Text card Transfer card Caused By Input Q cards or REP cards See 5 3 4 The Q cards contain the program in loadable absolute form They are produced when enough contiguous input text is available to fill an output Text card when text is not contiguous or when a REP card is proce...

Page 78: ...ne for each Linker Control Card and for each of the following Assembler produced cards Card Card Type Name A Element Definition H External Definition J Program Reference K External Reference Y Transfer No line is printed for type Q Text cards 5 8 1 Linker Map Print Lines Generated in assembly by START Directive ENTRY Directive START Directive EXTRN Directive END Directive For a type A card the pri...

Page 79: ...d For the EQU card the value is that of the symbol defined by the EQU card For the END card the value is the specified transfer address If a line is flagged with an error message the error message precedes the card type identification code 5 8 2 Linker Map Error Messages TBL END Too many external references for the combined table area to handle PAGE SHORT A PHASE card has missing information The P...

Page 80: ...rence has been made to a label not defined by a K card The K card could have been lost or misplaced in the input deck First pass is finished Last pass is finished ACTION Press START to ignore card Press START to ignore card The card on which the error occurred is the second one from the top of the output stacker To reread the error card place it and all cards that follow it including the card in t...

Page 81: ......

Page 82: ...00 9300 Card System is used in conjunction with the Assembler to promote ease and efficiency in preparing programs for execution on the UNIVAC 9200 9300 A schema tic of the Preassembly Macro Pass is shown in Figure A I MACRO INSTRUCTION DECK MACRO LIBRARY DECK UNIVAC 9200 9300 SOURCE CODE DECK READY FOR ASSEMBLY Figure A 1 Schematic of Preassembly Macro Pass Operation 1 ...

Page 83: ...ressions separated by commas The prime difference is that the macro instruction causes the generation of a series of source code instructions representing a number of Assembler operations whereas a source code instruction causes the Assembler to do one specific operation The format for a macro instruction is as follows LABEL OPERATION OPERAND label operation The label may be any symbol but is not ...

Page 84: ...the operand of the macro instruction might be or and so on A macro may have positional and or keyword parameters with Commas separating the specifications For example the operand of a macro instruction with three positional and two keyword parameters might be as follows The number of parameters which may be specified with one macro instruction depends on how much space is required to store the spe...

Page 85: ...er source code They are then passed through a special run the Compressor to compress them into the library form expected by the macro pass To distinguish one macro from another in the library three directives are used PROC NAME END A3 1 PROC Directive The first source code statement of a macro definition is a PROC directive which has the following form LABEL OPERATION OPERAND optional PROC optiona...

Page 86: ...IA M El 1 _1 1 1 1 1 I 1 1 1 l L_ l__ L _Ll J _L _L ____l 1 I I 1 1 I LI 1 LL I 1 I 1 I MI 1 DI EIS 1T 1 I 0 1 RI I IG 1 I I I I I 1 EI NIDI I I I I I I I I I I I I then the macro instruction is equivalent to the source code instruction 1 I I 1 I 1 1 1 lJ _L l_L_L J I I I I I l L L L Ll_L_J I I I I J nLLJ L I _ J_L LJ 1_1 I J I I LJ L 1 IlL 1 L 1 I 1 I L J L_ J___J _1 11 J 1 I I I I I I I 1 I I I ...

Page 87: ...ppose the PROC directive has the following form OPERATION OPERAND PROC p 3 Nl N2 N3 The macro has three positional parameters Pl P2 and P3 It also has three keyword parameters Nl N2 and N3 Thus the keyword parameters become in effect positional parameters P4 PS and P6 The value specified for a parameter is substituted in the macro coding for an expression of the following form pen where p is the f...

Page 88: ...mma followed by a space and if column 72 contains a nonblank then all columns between the comma and column 72 must be blank AS NAME STATEMENT More than one NAME statement may follow the PROC statement of the macro However all the NAME statements in a macro must immediately follow the PROC statement Each such NAME statement specifies a different name for the same macro The object of giving a macro ...

Page 89: ... ___t L_L_l_l _J__ J __ l _ L __ LJ_LJ_ Ll__ LL_L_LL_L_L_L l _L LU __ l J_LJJ ___ M L J___r I2L LS_l lLl LLQJ_ J LL 9 l L J l_ LL__l_J _ L _l_ l __L L l_L L LU L J I I EIN D I I I Ll I I I I I I I I I I I I 1 I then the macro ins truction would produce the source code while the macro instruction would produce If a NAME statement has no operand the parameter p O is assigned a value of zero If a mac...

Page 90: ... 3 I I I I I I 1 l L 1 _L L 1 _L LL L l _ 1 I I 4 I I I I I I I I I I I I I I L l_L L L l L J 1 L J I I 5 I I I I I I I I I I I I I I _ i I I EIN D O 6 I I I I I I 1 L LL_I L L l l L L L l 1 I I 7 I I I I I I I I I I I I I LLL 1 L J l LJ L l J i J 11 I I I 1 I I I 81 L I I 1 I I I I I I I I I 1 l L l LL l i 1 I EIN D 0 9 I I I I I I I I I I I I I I 1 I I I I 1 LJ L l I I I I I I I I I I I I L I I ...

Page 91: ...I I I EIN D I I I L l 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 I then the macro instruction would produce the instruction in the output of the macro pass whereas the macro instruction would not produce the instruction Note that the macro instruction I I I I would also cause the suppression of the instruction A DO statement may have a symbol in the label field This symbol may be used only ...

Page 92: ...atement If the following macro definition is available LABEL ti OPERATION 1 OPERAND 10 16 I I I L J_ __ flfh PI I 0 1J JL L J_ J L J _l L_ l _1 L 1 L Li L _ _ L 1 _1 1 1 _ N1Al MLEL f _L L L L_l_ l L _ L LL L L J l __l_L L L 1 L L1 l 1 1 L _L1 J I I I I I 1 DIOI I I PI I 11 I 1 1 1 I I I 1 1 l L l L J LL _L L_L L_J L L L 1 1 MIYLCI I Di E lSJ TI 14 I I IOJRjl1GL I I I I I L l _ L_l _ LJ__L __ L _L...

Page 93: ...course of the Macro Pass A set variable may be either a local or a global variable A global variable once dec lared and given a va lue by a SET state ment remains defined throughout the Macro Pass and retains the same value until that value is changed by another SET statement for that variable A local variable is defined only within the macro def inition within which it is declared A value assigne...

Page 94: ...set variable is to be set The value of the expression may range from o through 2 16_1 Until a GBL or LCL variable is set by a SET directive it has the value zero Once it has been set to a specific value by a SET directive the set variable retains that value until it loses its declaration or until it is set to another value by another SET directive Declaring a set variable does not affect its value...

Page 95: ... or corresponds to the OC instruction The precedence re lation of the various operators in decreasing order is as follows 1 2 3 4 5 Parentheses may be used to override this precedence relation A6 3 5 Character Values A character value is a string of up to 13 characters enclosed in single apostrophes Apostrophes within the character string must appear as pairs of successive apostro phes Ampersands ...

Page 96: ...t enclosed in apostrophes The following is an example of the use of a local set variable If the following macro is in the library LABEL 15 OPERATION 1i OPERAND 15 1 10 16 f L I ipl n p a AI CU L L_L L__ J LL_l __ 1 J 1 1 _L LL 1 L_ Ll rM t 9 V E I I NU LM E LL _L_ L l L L L _l _L__ l_ j J J L _ L L1 _l J _ L __ Ll f L I LIC L L 0 01 j 1 J 1 1 I J __L_l 1_ 1 j 1 _L_l L L l LJ J I 0 I I 51 E T P Cl ...

Page 97: ...e source statements for a particular assembly are the following in the order shown then the following source code would be produced 1 1 1 I 11 1 1 1 1 I I I I I I I I 1 1 I I I I I 1 I I I I I I 1 I 1 I I I I I MIV1CI I D E S 1IJ LL LI I 1 I I 1 1 1 1 I 1 1 L L__L L_L L LJ 1 I I MlvICl I o lRlUG L lJ iB S 1 T I I 1 I I I I I I I 1 l L_L_L L I 1 I L Ll If the only macro instructions in the source s...

Page 98: ...OC directive card Columns 1 through 15 of a continuation card must be blank Column 16 of a continuation card must contain the next valid character of the operand A8 LABELS USED IN UNIVAC PRODUCED MACROS It should be noted that if the output of a macro pass is to be combined with user source code cards and assembled as one element any symbol used as a l abel in a source code instruction produced by...

Page 99: ...CRO PASS OUTPUT FORMAT The Preassembly Macro Pass can produce four types of output cards The formats for these cards are presented in the following paragraphs AlO l Source Code Card Format Columns 1 4 5 6 10 11 12 67 69 71 72 73 74 75 76 77 80 Contents Label Blank Operation Blank Operand Field No Comments Card number within the macro Blank Asterisk Blank Columns 77 80 of last parameter card AlO 2 ...

Page 100: ...tatement will not fit on one card All MACRO PASS CONSOLE DISPLAYS Display 01FF 1FFF 0111 Reason for Stop Macro Library is loaded Current macro instruction deck has been processed END card has been read Card count check failure while loading the Macro Library After the card read device has been cleared the card in error w ill be the third card from the last in the output stacker Action Press the ST...

Page 101: ...rd from the read unit Replace in read unit feed one card and depress the START sw itch If the same stop occurs again the card has been in correctly punched Restart with different library Remove error card Place all cards follow ing error card back in input hopper Feed one card Depress START switch to continue normal processing of the Macro Library Remove all cards beginning with the end sentine 1 ...

Page 102: ...Pass element named MP The follow ing elements may appear in any order between the Card Load Routine and the MP elements A card read routine This could be either the Systems Programming internal routIne for the online serial card reader named XRDR or the Systems Programming internal routine for the Card Controller named XRDC If XRDC is used then an EQU card of the form LABEL OPERATION OPERAND RDCN ...

Page 103: ... the cards punched in Hollerith then the UNIVAC supplied EBCDIC to Hollerith translation table named TBPU can be used In this case the following card should be included with the other EQU cards in the input deck t OPERATION 0 OPERAND 10 16 Blank card separators may be placed between the elements in the input deck as the Linker ignores blank cards The END control card used when the Macro Pass is li...

Page 104: ...rd U in columns 1 and 2 of the input card The Compressor run takes all macro definitions up to an end sentinel card and produces both a printed listing and an EBCDIC binary punched card deck The printer output consists of a listing of all input cards plus an error code wherever the macro definition is incorrect At the end of each macro definition a total macro error count is printed and the paper ...

Page 105: ... number of characters of macro definition on this card The actual characters of macro definition This information may extend as far as column 72 Since GOTO references to a label of a LABEL directive may be forward references all such references to a single label are chained The operand field of a GOTO receives the address of the last previous reference relative to the address of the first characte...

Page 106: ...m several by removing all end sentinel cards from each library and combining these decks followed by an end sentinel card A13 2 Error Indications When the Compressor detects an error in the source code of a macro definition it flags the erroneous line of source code with a one character flag One or more of these flags may occur on a line The flag is an indication of the error type Flags and their ...

Page 107: ... a space or comma More than ten DO s are nested together A comma is followed by a separator in the operand field of a PROC directive CD One of the following has been detected Part or all of the line has not been processed due to the occurrence of one of the other errors The other error code will be printed with the I An ENDO occurs without a corresponding preceding DO The line is ignored The line ...

Page 108: ...irective card has a continuation mark in column 72 the last character from this card must be a comma A13 3 Compressor Console Displays ISPLAY REASON FOR STOP ACTION 1111 A GOTO or LABEL directive The Compressor does not have is being processed and the enough memory space to continue label table is full processing this macro definition If the user desires the Compressor to begin the processing of a...

Page 109: ...acter print bar is to be used otherwise zero PRTT Zero if a 63 character print bar is to be used otherwise 0 TBPR The EQU cards should be followed by the relocatable object code decks of the elements making up the Compressor The first element of the input deck must be the Card Load Routine If the on line card reader is going to be used to load the Compressor the name of the Card Load Routine is LD...

Page 110: ... should be included with the other EQU cards in the input deck A card punch routine This is either the online serial punch routine named XPCH or the row punch routine named XPRW If XPRW is used then an EQU card of the form LABEL OPERATION OPERAND CHAN EQU n should be included with the other EQU cards in the input deck where en is the number of the channel on which the row punch is located The Syst...

Page 111: ... the Macro Library B To process another library return to Step 5 A13 6 Control Card When the Compressor is being run from initial load the macro definition source card deck may be preceded by a control card which contains CTL in columns 10 11 and 12 and a decimal number beginning in column 16 The number may PAGE take any value between B191 and 32767 If a control card is present the decimal number ...

Page 112: ... a generator capable of adapting each input output routine to the requirements of the user The Preassembly Macro Pass first reads declarative macro instructions made by the user describing the input output operations required by the application Based on these instructions the Preassembly Macro Pass selects the required routines from the macro library develops them for the specific application and ...

Page 113: ...n field and must be one of the following 1 DTFCR 2 DTFPR 3 DTFRP 4 DTFCC 5 DTFRW DEFINE THE FILE FOR THE CARD READER DEFINE THE FILE FOR THE PRINTER DEFINE THE FILE FOR THE READ PUNCH DEFINE THE FILE FOR THE CARD CONTROLLER DEFINE THE fILE FOR THE ROW READ PUNCH The third item is a keyword parameter specification described in Section B3 2 and is entered in the operand field For example the header ...

Page 114: ...files to which a CNTRL macro instruction is directed in the main program The keyword is CNTL The specification is YES CNTL YES CNTL is a detail entry card within a definition statement CNTRL is an imperative macro and its use is described in a later section B3 2 4 End of File Address Entry EOFA This entry is used to specify the symbolic name of the end of file routine provided by the user The keyw...

Page 115: ...ore each GET or PUT macro instruction The keyword is FUNC The specification is the label of the one byte user area and for a function area labeled CCXF has the following form FUNC CCXF 83 2 6 Allowable Functions for the UNIVAC 1001 Card Controller The following table illustrates the allowable hexadecimal values which may be stored into the user defined one byte area before each GET or PUT macro in...

Page 116: ...V AC 1001 mode but must contain a binary number PAGE Typically the data sent to the UNIVAC 1001 contains some function character the modified board is to interpret as well as data to be used in the execution of the function For example assume the board has been modified to interpret the code of a hexa decimal value of 77 as a search primary for a name The following steps implement this function 1 ...

Page 117: ...er referenced directly by the programmer Images are delivered by the input output routines into a specified work area B3 2 8 Input Area Entry INAR This entry is used to specify the sym bolic name of the user defined input buffer area when the read feature of the read punch unit is required The keyword is IN AR The specification is the symbolic name of the area assigned to the read punch unit as de...

Page 118: ...table specified by the ITBL detail entry card This mode is used when combined reading both primary and secondary in one function is required since basic UNIVAC 1001 memory cap ability is exceeded if two images are read in other than 1001 code For the online serial card reader operating in translated mode card images are read into the input area in compressed code moved to the work area and transla...

Page 119: ...ation is YES The operand has the following form ORLP YES B 3 2 14 Print Bar Entry FONT The entry specifies the print bar the program expects to find in the user configura tion The keyword is FONT and the allowable specifications are 48 or 63 The operand for a 63 character print bar has the following form FONT 63 When using a UNIVAC 9300 System with a 16 character print bar FONT 48 should be specif...

Page 120: ...ther than YES control is transferred unconditionally to the specified label in response to form overflow The label specified should be the symbolic name assigned to the user overflow routine provided to perform the desired form overflow action The user indicates the point at which form overflow is to occur by a channell punch in the paper tape loop The form overflow punch channell punch is recogni...

Page 121: ...utine then control goes to that subroutine rather than to the label RET The address of the label RET is in general register 14 when control is transferred to the form overflow subroutine B 3 2 18 Type of File Entry TYPF This entry indicates whether the file is an input output or a combined file It is applicable only to the UNIVAC 9200 9300 Read Punch Unit The keyword of the entry is TYPF The allow...

Page 122: ...L P YES X FON T 48 or 63 X PRO V YES 0 r sy mbo Ii c name 0 f X user form overflow routine PRA D 1 or 2 X PUN R YES X TYP F INPUT X OUTPUT X COMBND X Rev 1 Appendix B 11 SECTION PAGE APPLI ES TO 0 1 Ol CU o z I 3 z DO REMARKS OUJ l uUo o a L I Required for online printer X X Required for UNIVAC 1001 X X Required if CNTRL macro is used X Appl ies to input files only _ X Req ui red by Card Contro Il...

Page 123: ... I I 0 1l L _ i Y L__ ___ I I 1 L J X l I I I I LLL I I _ 1 _L__1 T Y P F O U TI P Ul T j L 1 I 1 _ L 1 _L 1 l____ L_1 B 5 2 I eader File Example Definition LABEL ti OPERATION ti OPERAND COMMENTS 10 16 72 80 I DIT FIC R LOI F Aj 1 E t ILD I 1_1 1 I _L L L Lt J 1 L L I J01 All LI I I I I L L l I Tl L lf1 1_ _c J _L _L _L __LL_ J_ LLL X ___ L ___LI __LI_JI_ _LI__c __ll I I I I 1 I I M 01D 1 E I L I ...

Page 124: ...mbly Macro Pass The handling of records into and out of I O areas is performed by 10CS exclusively Each file is proces sed in the manner dictated by the definition statement Source programs using 10CS may not contain any Assembler I O instructions The format of the macro instruction follows the rules of the Assembler coding format The macro verb is the operation and the operand field may contain u...

Page 125: ...m and to input output buffer areas Input output areas those assigned by IOA1 INAR and OUAR detail entry cards may not be used as work areas as they are used by IOCS to maintain standby reserve areas The programmer must therefore provide through the use of OS statements work areas where records are processed These work areas may be common to more than one file as efficiency demands but must be as l...

Page 126: ...ecuted after a second OPEN macro is the image immediately in front of tbe read station at the time the second OPEN macro is given 2 For an output file the first item transmitted after the second OPEN macro is the item delivered by the first PUT executed after the reOPEN B6 6 CLOSE Macro Instruction This macro instruction insures the proper closing of all files The CLOSE macro has the following for...

Page 127: ...L filename SK m n where filename is the symbolic name of the file defined in the label field of the DTFPR header entry card SK specifies skipping m is the num ber of the tape channel the carria ge is skipped to before printing m 1 2 7 n is the number of the tape channel the carriage is skipped to after printing 1 2 7 The programmer m ay omit m or n Between PUT macros only the last CNTRL macro spec...

Page 128: ...nstruction for selecting a stacker on the read punch should be executed before the PUT for the card to be selected or in the case of reading only after the GET for the card to be selected If the CNTRL macro instruction is to be used for selecting a stacker when both reading and punching and if stacker selection is done on the basis of information in the card read he read punch routine must be oper...

Page 129: ...r punching has the following form OPERATION OPERAND CNTRL filename NC n where filename is the symbolic name of the file defined in the label field of the DTFRP header entry card NC identifies a number of columns specification n is the number of columns to be punched an even number 1 4 6 80 B6 8 Summary of UNIVAC 9200 9300 Card System IOCS Imperative Macros DEVICE ADDRESSED LABEL SERIAL ROW OPERATI...

Page 130: ... altered by the execution of any macro instruction B 8 GENERAL PROCEDURE SUMMARY FOR USING 10CS The program mer defines his input output control rou tines and their associated files through the use of definition statements presented to the Preassembly Macro Pass program The generated I O routines are then either assembled as part of the main source program or assembled separately and linked with t...

Page 131: ...liseconds required for the various IOCS macro instructions on the UNIVAC 9200 The UNIVAC 9300 execution times are one half the UNIVAC 9200 execution times DEVICE MODE OF TIME REQUIRED OPERATION IN MILLISECONDS GET PUT JReader 5 Printer 4 Serial Read Punch Read 5 Punch 5 Read Punch No overlap 5 5 Read Punch Overlap 5 5 Ca rd Controller 5 Row Read Punch Read 7 Punch 7 Read Punch No overlap 5 7 Read ...

Page 132: ...MODE CC or MODE TRANS EOFA lOA 1 and MODE must always be present PAGE The input buffer area and word area are each 80 bytes long if MODE CC or TRANS and 160 bytes long if MODE BINARY At the time control is unconditionally transferred to the end of file routine both the end of file card and the following card are in the output stacker B 11 1 Preparing the Card Reader 1 Empty the read wait station 2...

Page 133: ...o continue Put online Press START to continue Correct condition C lear reader abnormal Press START to continue One card the card in wait station must be placed at bottom of input deck Feed one card Clear reader abnormal Press START to continue Two cards g the last card to go to stacker and card in wait station must be placed at bottom of input deck Feed one card Clear reader abnormal Press START t...

Page 134: ...s omitted this is assumed to be 132 bytes CNTL is required only if the CN TRL macro instruction for s pacing or skipping is used by the problem program OTBL is required only if MODE TRANS PROV is required only if form overflow is not to be ignored If FONT is omitted the 63 character print bar is assumed If PRAD is omitted normal s pacing is set to 1 B 12 1 Preparing the Printer 1 Install the prope...

Page 135: ...tablished Rec overable OPERATOR ACTION Put online to continue Correct condition Press START to continue No action requ ired by operator This display can occur only in conjunction with some other dis play No action required by operator This display can occur only in conjunction with some other display Insert correct bar Set bar switch appropriately Press START Press START to continue Check paper lo...

Page 136: ...3 SERIAL PUNCH DEFINITION STATEMENTS LABEL OPERATION Filename DTFRP OPERAND CNTL YES MODE BINARY or MODE CC or 72 X X X MODE TRANS X OUAR location of the output buffer X area OTBL location of the output translate X table PUNR YES TYPF OUTPUT X CNTL is required only if the CNTRL macro instruction for stacker selection or number of columns to be punched is used by the problem program OTBL is require...

Page 137: ...n of the user end of file X routine INAR location of the input buffer area X ITBL location of the input translate X table MODE BINARY X or MODE CC or MODE TRANS TYPF INPUT X X CNTL is required only if the CNTRL macro instruction for stacker selection is used by the problem program ITBL is required if MODE TRANS EOFA INAR MODE and TYPF must always be present 26 ...

Page 138: ...ired only if the CN TRL macro ins truction for s tacker selection or number of columns to be punched is used by the problem program ITBL and OTBL is required if MODE TRANS ORPL is required when not punching into the same card made available by the last GE T macro instruction EOFA INAR MODE OUAR and TYPF must always be present B 15 1 Buffer and Work Area Size The input buffer area and work area are...

Page 139: ...f file card is in the output stacker If combined reading and punching is being done in a no overlap mode the end of file card is in the punch wait station B15 3 Preparing the Serial Read Punch 1 Empty the wait stations 2 Place the Serial Read Punch online 3 Place the deck in the hopper 4 Depress the Serial Read Punch CLEAR switch 5 If Reading alone or Reading and Punching Feed 1 card into wait sta...

Page 140: ...covera ble Correct condition Clear punch abnormal Press I STA RT to continue Not an error No action required by operator This display can occur only in conjunction with some other display Recoverable only if Two cards card at punch using read alone wait and card at read wait station must be placed at bottom of input deck Feed one card C lear punch abnormal Press START to continue Recoverable only ...

Page 141: ...1 X or MODE TRANS X or MODE TRANSTC X ITBL location of the input translate table X CHNL 5 thru 12 CNTL is required only if the CNTRL macro instruction for stacker selection is used by the problem program ITBL is required only if MODE TRANS or TRANSTC MODE 1001 must be used with UNIVAC 1001 functions 14 and 24 MODE BINARY CC or TRANS must not be used with UNIVAC 1001 functions 02 or OA FUNC MODE an...

Page 142: ...in g the Card Con troller 1 Ensure that the unit is online and that the power is on The online switch for the Card Controller is housed in the lower left area at the back of the Printer Processor Cabinet 2 Ensure that the ON LINE Standard Interface Panel plugboard program is mounted 3 Set the MODE switch to CONT set the alternate switches AL T 1 to ALT 4 off 4 Empty the ready and wait stations Pre...

Page 143: ...ted in the lower left area at the back of the Printer Processor Cabinet Press the START switch on the UNIVAC 9200 9300 to reissue the XIOF If the problem persists there may be a hardware malfunction For any Card Controller function display other than the 650F if the cause of the error cannot be determined from the indicator lights on the Card Controller and from the function displayed on the UNIVA...

Page 144: ...ening the back frame 2 station only if stacker Repair damaged cards Manually place them in the selection for the appropriate stacker Follow instructions for jammed cards is STKR FULL known by operator Otherwise non Go to RESTART recoverable P or S FW JAM Card jam at Read Recoverable Card at wa it 1 must be reread Remove cards from ready station and wait 1 station by opening back frame Place the 2 ...

Page 145: ...e Press START to reissue order If it bad parity in command cases fai Is again take control panel reading sent to 1001 contr 01 and memory dump Suspect program error or possible hardware malfunction 6540 Operator intervention Recoverable in some Check INTERLOCK POWER OFF required cases switch plus mask position 6 in order to determine action required 6520 Parity error on BUS OUT Recoverable in some...

Page 146: ...ion B 17 1 Punch Only LABEL OPERATION filename DTFRW OPERAND CHNL 5 thru 12 CNTL YES MODE BIN ARY or MODE CC or 72 x X X x MODE TRANS X OUAR location of the output buffer X area OTBL location of the output translate X table TYPF OUTPUT CNTL is required if the CNTRL macro instruction is used by the problem program OTBL is required only if MODE TRANS If TYPF is not specified output will be assumed C...

Page 147: ...NARY X or MODE CC or MODE TRANS TYPF INPUT X X CNTL is required if the CNTRL macro instruction is used by the problem program ITBL is required if MODE TRANS CHNL EOFA INAR MODE and TYPF must always be present B17 3 Read and Punch LABEL OPERATION filename DTFRW OPERAND 72 CHNL S thru 12 x CNTL YES X EOFA location of the user end of file X routine 1 INAR location of the input buffer area X ITBL loca...

Page 148: ... if MODE BINARY B1 7 s End of File POSITION OF EOF CARD WHEN GET TRANSFERS TO EOFA u READ ALONE C READ PUNCH OVERLAP C READ PUNCH NONOVERLAP B o UJ 0 B B A EOF CARD is in work area translated if required Following card Ag is in the input buffer area INAR A A EOF J t z 0 EOF EOF Next card B is in the Row Punch read buffer verified for Read alone and for Read Punch overlap B17 6 Preparing the Row Re...

Page 149: ...AD XIO F HOPPER empty CHIP box full STKR full STKR jam RESULTING CONDITION Recovera ble Recovera ble Recovera ble for punch alone Recovera ble Recoverable Appendix B 38 SECTION PAGE OPERATOR ACTION Correct the condi tion to con tinue Correct the condition Press START to continue The error card and following card are diverted to the error stacker Press START to repunch last two ca rds and continue ...

Page 150: ...e XIOF will be reissued READ ONLY Remove the cards from the input hopper Place the unit offline Open the punch frame Remove all cards from the track Repair the damaged card Place the cards in the input hopper Replace the rest of the deck in the input hopper Press CLEAR on the unit Feed three cards Close the punch frame Press CLEAR OFF LINE Press START to continue XIOF will be reissued If nonrecove...

Page 151: ...Certain additional keyword parameter specifications have been built into the DTFCR DTFRP and DTFRW macro definitions to provide functions designed primarily for Univac Systems Programming use These parameters are available and can be used by the user if he so desires These parameters are as follows SENT X value The IOCS routines test for standard end of file sentinels slash in column 1 of the inpu...

Page 152: ...lank cards read with the number contained in columns 12 and 13 of the Y card If the numbers agree the Load Routine loads register 13 with the address at which to begin program execution and transfers control to that address This is the address contained in columns 15 and 16 of the Y card If these columns are blank the transfer address used is that contained in columns 15 and 16 of the program refe...

Page 153: ...in which the Load Routine appears the memory that has been allocated to the Load Routine by the L AR and L PG EQU cards When the Load Routine is linked to a program it must appear as the first element in the input deck for the first phase of the program being linked To produce a self contained loader that wi 11 load the object program that follows it add an END card with an operand of L PG to the ...

Page 154: ...annot be made a vaila ble in the LOADER The 61ss displays are applicable to the LD Load Rou tine only In the case of a card read error the error is at the top of the output stacker and is present unless the error is misfed not ready offline hORper empty or stacker full C 5 DESCRIPTION OF OPERA TION The Card Load Routine consists of four parts Boot Reader Clearing and Loader C 5 1 Boots trap Sectio...

Page 155: ... the loading process The Reader section brings in the program cards The Loader section checks the hole count and the card count loads the program from the Text Q cards and on detection of a type Y END card determines the start address places the start address in register 13 and transfers control to it The Loader section loads the I O PSC with the first four bytes of data columns 11 14 of any type ...

Page 156: ...ne It should be noted that the loader is then destroyed and must be loaded again for any subsequent programs The example above also can be used for crea tin g a frees tandin g loader except tha t no problem program or other elemen ts will follow the loader deck Still required is a PHASE card in which any fictitious parameters may be used C7 LOADING FROM CARD READER 1 Place program deck in hopper 2...

Page 157: ...R 7 Press the PROC CLEAR CHANNEL CLEAR switches on the 9200 9300 8 Press the LOAD switch on the 9200 9300 9 Press the START switch on the 9200 9300 10 Reset the LOAD switch on the 9200 9300 11 Press the START switch on the 9200 9300 ...

Page 158: ...structions D2 1 Message Macro MSG The message macro has the format given below OPERATION OPERAND MSG Message REPLY The REPLY parameter is optional Message may be any acceptable two byte hexadeci mal expression of the form X nnnn This macro generates the following code OPERATION SRC DC DC DC OPERAND 0 8 Y message CL1 x X O where message is the two byte hexadecimal display which appears in the HPR i...

Page 159: ...code DSPL SRC DC 0 8 Y X FFF DC CL1 A DC X O When the object code produced from this source code is executed the computer stops with a display of 000111111111111 The operator may then answer this display using the DATA ENTRY and ALTER switches When the START switch is subsequently depressed control is returned to the user s coding at the instruction located at DSPL 8 The byte inserted into the com...

Page 160: ...ser must provide a restart routine This routine must re establish variable information in the program and set initial conditions for all input output rou tines To aid the user in accomplishing this goal the execution of the OPEN macro resets the initial conditions for all 10CS routines The user must establish conventions to reposition card decks and printer paper The RSTRT macro instruction is not...

Page 161: ......

Page 162: ...code form The source code form can be assembled with another program or can be assembled by itself to provide a linkable element The object code form is a relocatable element with its name defined by the External Definition type H card Each table occupies 256 bytes of object memory There are three standard translation tables Table Read Table Punch and Table Print Each table is used by the appropri...

Page 163: ......

Page 164: ... eOEFIAL SYSTEMS DIVISION tJ P 4092 _ tev Z 7M YT908 ...

Reviews: