Service Manuals, User Guides, Schematic Diagrams or docs for : IBM 7090 J28-6186-32K-FAP

<< Back | Home

Most service manuals and schematics are PDF files, so You will need Adobre Acrobat Reader to view : Acrobat Download Some of the files are DjVu format. Readers and resources available here : DjVu Resources
For the compressed files, most common are zip and rar. Please, extract files with Your favorite compression software ( WinZip, WinRAR ... ) before viewing. If a document has multiple parts, You should download all, before extracting.
Good luck. Repair on Your own risk. Make sure You know what You are doing.




Image preview - the first page of the document
J28-6186-32K-FAP


>> Download J28-6186-32K-FAP documenatation <<

Text preview - extract from the document
                   IBM 709 17090 DATA PROCESSING SYSTEMS BULLETIN



PRELIMINARY BULLETIN


FORTRAN ASSEMBLY PROGRAM-) FOR THE I B M 709 / 7090
-                   - (FAP
SUPPLEMENTARY INFORMATION FOR-
                           - THE 32K VERSION
                              -

T h i s bulletin was p r e p a r e d by IBM Applied P r o g r a m m i n g a s a supplement t o
the FORTRAN A s s e m b l y P r o g r a m ( F A P ) f o r t h e IBM 70917090, ( F o r m
J28-6098-I), and together with t h a t publication, p r o v i d e s c u r r e n t s p e c i f i c a t i o n s
f o r F A P p r o g r a m s t o be r u n on 32K 709 o r 7090 Data P r o c e s s i n g S y s t e m s ,
operating u n d e r e i t h e r the FORTRAN o r B a s i c Monitor (IBSYS).

Included h e r e i n a r e d e s c r i p t i o n s of new p s e u d o - o p e r a t i o n s , with s e c t i o n s on
t h o s e connected with m a c r o - o p e r a t i o n s and updating, and complete S y s t e m
Symbol and Combined Operations T a b l e s . F o r additional information on F A P
o p e r a t i n g u n d e r the B a s i c Monitor (IBSYS), t h e r e a d e r i s r e f e r r e d t o the IBM
p r e l i m i n a r y bulletin, B a s i c Monitor (IBSYS), ( F o r m J28- 8086).

Coding i s indicated throughout t h i s bulletin by the u s e of a l l c a p i t a l l e t t e r s
f o r a c t u a l coding; e . g . , CLA.

B e c a u s e of the p r e l i m i n a r y n a t u r e of t h i s bulletin, t h e m a t e r i a l i t c o n t a i n s ,
t o g e t h e r with a n y n e c e s s a r y additions and c o r r e c t i o n s , will be published i n a
m o r e complete f o r m a t a later date.
                                                                                                  CONTENTS


The F A P M a c r o - O p e r a t i o n P r o c e s s o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      E x a m p l e s of P r o g r a m m e r M a c r o - O p e r a t i o n s . . . . . . . . . . . . . . . . . . . . .
      Macro-Defining Pseudo.Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
               MACRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      The Location F i e l d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      The A r g u m e n t L i s t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                                Extending The A r g u m e n t L i s t . . . . . . . . . . . . . . . . . . . . .
                      Alternative F o r m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              MOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
               The Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      The Location F i e l d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      The Operation F i e l d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                      The V a r i a b l e F i e l d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              Nesting Macro-Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              R e s t r i c t i o n s i n Macro-Definitions . . . . . . . . . . . . . . . . . . . . . . . . . .
      Macro-Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
               MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              Punctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              Argument Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              Nested M a c r o-Ins t r u c tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      The G e n e r a t e d C a r d s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              CreatedSymbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              NOCRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
              ORGCRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      IRP        ..........................................................
      RMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Updating Symbolic F A P T a p e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      IGNORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      SKIPTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      ENDFIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      REWIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      UNLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      SKPFIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      UMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      ENDUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            Tape Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      Update E x a m p l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Additional Symbol Defining P s e u d o - O p e r a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . .                28
      SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   28
Additional P r o g r a m Linking P s e u d o - O p e r a t i o n . . . . . . . . . . . . . . . . . . . . . . . . .            28
      EXTERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        28
Additional List Control Pseudo-Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      PMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Conditional Assembly Pseudo - 0 p e r ation . . . . . . . . . . . . . . . . . . . . .
         IFF ...........................................................
Revised Pseudo-Operations                     ..........................................
         CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      ENTRY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      LBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      LOG. ORG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      PCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      TAPENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AdditionalRevisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Appendix I:             Combined Operations Table                      .............................                            35

Appendix 1 :
          1             System Symbol Table. FORTRAN Monitor. . . . . . . . . . . . . . . .                                     45

Appendix 1 1
          1:            F A P Operating Under the Basic Monitor                             .................                   47
THE F A P MACRO-OPERATION PROCESSOR

                  A F A P m a c r o - o p e r a t i o n i s a type of pseudo-operation c r e a t e d by
                  t h e p r o g r a m m e r . The m o s t significant p r o p e r t y of a n i n s t r u c t i o n
                                                                                 -     -

                  specifying a m a c r o - o p e r a t i o n ( a m a c r o - i n s t r u c t i o n ) i s that i t c a n
                  g e n e r a t e one o r m o r e c a r d i m a g e s . The contents of the c a r d
                  i m a g e s g e n e r a t e d a r e virtually u n r e s t r i c t e d and m a y include any
                  m a c h i n e operation, any pseudo-operation not r e s t r i c t e d t o the
                  f i r s t c a r d group ( e . g . , COUNT, ENTRY), o r any m a c r o - o p e r a t i o n ,
                  and any f i e l d p e r m i t t e d on a F A P s o u r c e c a r d .

                  A m a c r o - i n s t r u c t i o n c a n be r e g a r d e d a s a n abbreviation f o r a
                  sequence of c a r d i m a g e s . The sequence of c a r d i m a g e s g e n e r a t e d
                  by the m a c r o - i n s t r u c t i o n i s d e t e r m i n e d by the p a r t i c u l a r m a c r o -
                  definition c o r r e s p o n d i n g t o the m a c r o - i n s t r u c t i o n code. E a c h
                  m a c r o - o p e r a t i o n h a s i t s own definition, which c o n s i s t s of a head-
                  ing c a r d , a sequence of prototype c a r d i m a g e s , and a n END c a r d .

                  A prototype c a r d image h a s a s t a n d a r d F A P s o u r c e c a r d f o r m a t
                  with location f i e l d , operation code, and v a r i a b l e f i e l d . R e m a r k s
                  m a y a p p e a r on a prototype c a r d ; however, the r e m a r k s will not
                  n o r m a l l y a p p e a r following the v a r i a b l e f i e l d on the m a c r o -
                  g e n e r a t e d c a r d i m a g e . The f i e l d s of a prototype c a r d m a y con-
                  s i s t of: t e x t . which - w i l l be r e p r o d u c e d a s written; substitutable
                  a r g u m e n t s ; and ( s p e c i a l ) punctuation c h a r a c t e r s , which d e l i m i t
                  a r g u m e n t s and, like t e x t , a r e r e p r o d u c e d .

                  A f i e l d o r subfield i s text if i t i s longer than s i x c h a r a c t e r s o r if
                  i t i s a s t r i n g of one through s i x c h a r a c t e r s , delimited by punctuation
                  m a r k s , which d o e s not a p p e a r in the a r g u m e n t l i s t of the m a c r o -
                  o p e r a t i o n heading c a r d . A field o r subfield i s a substitutable
                  a r g u m e n t if i t i s a s t r i n g of one through s i x c h a r a c t e r s which
                  a p p e a r s i n the a r g u m e n t l i s t af the m a c r o - o p e r a t i o n heading c a r d .

                  A m a c r o - g e n e r a t e d sequence of c a r d i m a g e s c o n s i s t s of e a c h of the
                  prototype c a r d i m a g e s , with text and punctuation c h a r a c t e r s a s on
                  the prototype, but with substitutable a r g u m e n t s r e p l a c e d by
                  specific a r g u m e n t s t r i n g s (of u n r e s t r i c t e d length) whose position
                  i n the a r g u m e n t l i s t of the m a c r o - i n s t r u c t i o n c o r r e s p o n d s t o that
                  i n the a r g u m e n t l i s t of the macro-definition heading c a r d .


E x a m p l e s of P r o g r a m m e r Macro-Operations

                  Suppose that the p r o g r a m m e r h a s w r i t t e n a s o u r c e p r o g r a m which
                  will a s s e m b l e , including the following s e q u e n c e s of i n s t r u c t i o n s :
                                  .a.
                                  CLA       FEDTAX
                                  ADD       S T A T AX
                                  ST0       TOTTAX
                                  1..

                                  * a *
                          SUBCOM C C A
                                 ADD
                                 ST0
                                  a*.
                                  aaa
                                  C LA      PARTl
                                  ADD       PART2
                                  ST0       TOTAL




The pattern 05 these t h r e e instructions might be designated by
                                                                                s
some BCD name, say QSUM, which coslld then be defined as
follows:
t
                           QSUM   MACRO     VlrV2rV3                        I
                                  CLA       V1
                                  ADD       V2                              I
                                  ST0       V3                              I
                           QSUM   END
                                                                           J

The above sequence of five source c a r d s generates no binary
words in the object program, but constitutes the definition of the
macro-operation which the p r o g r a m m e r h a s chosen t o call
QSUM. The f i r s t c a r d i s the macro-definition heading c a r d . J;t.
includes the name of the macro-operation in the location field
and the argument l i s t in the variable field. The next t h r e e c a r d s
a r e the prototype, in which V1, V2, V3$ a r e substitutable a r -             3
guments<, identified in the heading c a r d argument l i s t . A31 of the
other fields, CLA, ADD, STO, a r e text, since they do not ap-
p e a r i the argument l i s t . The fifth c a r d (ENDIJm a r k s the end of
         n
the range of the mmro-definition. It will not terminate assembly.

Once the macro-operation QSUM has been defined in the source
p r o g r a m , the sequence of CLA, ADD, STO, instructions m a y be
replae'ed by a macru-injstruction c a r d which. generates the se-
quenc& a$ instructions with their substitutable arguments replaced
by the arguments in the variable field of the maaro-instruction
QSUM:

            *--

                                  * a *                                    I
                                  ..a
                                                                           I
    00127                         QSUM      FEDTAXISTATAXITOTTAX
                                  a.
                                  .a.
                                        a
                                                                           11
                          SUBCOM QSUM       XSUBlrYSUBleZSUBl
                                  .a.                                      1
                                  .a.
                                  QSUM      P A R T 1 r.PART2, T O T A L   I
Note, in the above example, the following points:

1.    The string QSUM which appears in the location field of the
      pseudo-operation MACRO is not a symbol, but a code for
      the macro-operation to be defined, and a s such is entered
      into the Combined Operations Table. It may be the same a s
      a location symbol?qpearing anywhere in the assembly,
      including symboEs\within the macro-definition.

      The substitutable arguments V1, V2, V3, which appear in
      the variable field of the macro-definition heading c a r d and
      a l s o in various fields within the prototype, merely
      characterize the order of the expressions and character
      strings which may appear in the variable field of a l a t e r
      macro-instruction using the given macro-operation. If, on
      the macro-operation heading card, the order were to be
      changed to V3, V1, V2, then the macro-instruction

                             QSUM   TOTTAXsFEDTAXvSTATAX


      would cause generation of the same c a r d images. Because
      the substitutable arguments a r e dummy names, they may be
      identical to strings used elsewhere in the program in
      location, operation, or variable fields, a s symbols o r
      operation codes, including the code for this or any other
      macro-operation. The programmer should exercise caution
      in constructing the prototype so the text will not be confused
      with substitutable arguments, as every string of s i x o r
      fewer characters, in any field, is compared with the argument
      l i s t . Special c a r e should be taken with alphameric text, or
      with fields of VFD, DEC, or OCT pseudo-operations.

In the simple example of the macro-definition given above, the
substitutable arguments appeared in address fields in the proto-
type and were replaced by symbols on the macro-generated
cards. In general, substitutable arguments may appear in the
location field, the operation field, in any of the subfields of the
variable field, or a s a heading character in any subfield. The
substitutable arguments may be replaced by any valid F A P ex-
pression or appropriate alphameric character strings.

If a substitutable argument appears in an operation field, i t may be
a string of one through six characters; however, the code which
replaces it must be a standard FAP operation code of three through
six characters.

F o r example, the following definition could be written:
                                                                                  I
                                     QPOLY MACRO        COEFFILOOPPDEGPT~OP
                                           AXT
                                           LDQ
                                                        DEG9T
                                                        COEFF
                                                                                  I
                                     LOOP  FNP
                                             0P
                                                        GAMMA
                                                        COEFF+UEG+lpT
                                                                                  I
                                           XCA                                    I
                                           TIX          LOOPrTsl
                                     QPOLY END                                    I

Here mnemonic character strings have been chosen to represent
the substitutable arguments. Notice that LOOP appears in a
location field, OP in an, operation field, and that COEFF and DEG                     r
appear a s symbols and within, expressions in address subfields.
Notice also that GAMMA is text * - asymbol, and not a substitutable
dummy argument - and)presumably will be defined elsewhere in                          *
the program.. Any use of t h e code QPOLY in a macro-instruction
should be accompanied by a n argument l i s t of appropriate sub-
stitutions for the substitutable arguments.     F o r example, LOOP
should be replaced by a symbol, which should not be multiply
defined, and OP should be replaced by a valid operation code.

A QPOLY macro-instruction might. be written:
                                                                              I
    02031                          X015     QPOLY      Cld4rFIRST95r4rFAD     I

                                                       % .                    I

The macro-instruction would cause the following six c a r d images
to be generated:
                   I '




                                                                              I
    02031 0774 00 4        00005            AXT        594
    02032    0560 0 0 0    06161            LDQ        C1-4                   I
    92033    0260 00.0     00135   FIRST    FMP        GAMMA
    02034    0300 00 0     06167            FA U       C1-4+5+lt4             I
    02035 ' 0 1 3 1 00 0   00000            XCA
    02036    2 00001 4     02033            TIX        FIRST9491              I
                                                                              I
The symbol X015 i s defined a s the location in which the f i r s t in-
struction (AXT) appears; each of the substitutable argument s i s
replaced by the corresponding argument in the macro -instruction
argument l i s t . The expression arising f r o m the prototype a d d r e s s
C0EFFtDEG-t 1 i s equivaleht to C 1t 2 .

Use of the m a c r o-operation processor permits simulation o machine
                                                            f
instructions of another computer, o r extending the machine
operation vocabulary of 'the 709/7090.

F o r sxa&iple, S T 0 can be modified to dump the information stored                  r
on each execution:

                                                                              I
                  0601 7 1 1 60000         *ST0     OPSYN    ST0
    M                                      ST0      MACRO    A                I
                                                    *ST0     A
                                                    SXA      *+294            I
                                                    TSX      DUMP r 4
                                                    AX T     ** 94            I
.                                          ST0      END
                                                                              1
                       The M flag, appearing in the left margin of the assembly listing to
                       point out a redefinition of a n existing code,does not indicate an
                       assembly e r r o r .


        MACRO-DEFINING PSEUDO-OPERATIONS


        MACRO

                       The pseudo-operation MACRO is used to name a macro-operation
                       and to identify the arguments in the succeeding prototype. The
                       constituents of the MACRO pseudo-instruction a r e :

                       1.      Three to six-BCD c h a r a c t e r s (not all z e r o s ) , appearing in
                               the location' field;
                                             ."
                       2.      The operation code MACRO, appearing in the operation field;
                               and

                       3.      A l i s t o f substitutabledumrnyarguments, a p p e a r i n g i n t h e
                               variable field.


        The Location Field

                       The c h a r a c t e r string in the location field is not a location symbol
                       and will subsequently be used a s a macro-operation code. If i t
                       i s the same a s any other machine ope'ration, pseudo-operation,
                       o r macro-operation, the pseudo-operation will be flagged, the
                       code will be redefined within the Combined Operations Table and
                       the f o r m e r definition lost.
                                                                                      .   .



        The Argument L i s t

                       The substitutable arguments in the macro-definition heading card
                       argument l'ist may be any Iegal FAP symbols, or may consist of
                       all numeric c h a r a c t e r s (excluding a l l z e r o s ) . The substitutable
                       arguments in a rnacko-definition may be separated by any of the
                       following punctuation characters:



                       and the argument l i s t i s terminated by the character "blank. 11
                       After a punctuation character, suceeding' punctuation c h a r a c t e r s
                       o r a n explicit z e r o a r e ignored and do not r e s u l t i n a substitutable
                       argument of z e r o .

                       Suggestive notation ib.a?macro-definition argument l i s t may be used.
y   -
                       F o r ~ e x a m p l , in a macro-definition heading argument l i s t
                                           e
\-
                       I             .              ALPHA MACRO,   A(B+C)-USE                             I
                                                                                                          I
                   i s identical with
                                                                                               1   --/
               I                                    ALPHA MACRO        AIBPCIDVE               I


Extending the Argument List

                   The argument l i s t of a macro-definition heading card may be ex-
                   tended by the use o the ETC pseudo-operation. In order that a
                                       f
                   following ETC card be recognized, it is necessary that the follow-                    u
                   i q conventions apply to the preceding card:

                   1.    An unmatched left parenthesis exists in the variable field; or,                 *

                   2.    The variable field i s terminated by a $ immediately followed
                         by a blank or card column 73. This will not be confused with
                         the use of this character to signal a heading character o r a
                         transfer vector name, a s in neither o those cases w i u g h ~ t $
                                                                f
                         be immediately followed by a blank; or

                   3.    The variable field extends to card column 7 2 ; .                 -

                   If a card with a n unmatched left parenthesis is not immediately
                   followed by an ETC card, an assembly e r r o r will be flagged. If a
                   card with a terminal $ is not followed by a n ETC, the terminal $
                   i s deleted from the macro-definition and ignored.

                   If the preceding card does not follow these conventions, an ETC
                   card will be treated a s the f i r s t card in the prototype, and an
                   assembly e r r o r w l usually result.
                                       il


Alternative F o r m

                   An alternative form of the MACRO pseudo-instruction is the
                   following :

                   1.    BXanks, appearing in the location field;

                   2.    The operation code MACRO,', appearing in the operathxannf%&&
                         and

                   3.    Blanks, a p p e a r i n g i n t h e v a r i a b l e f i e l d .

                   The above card is immediately followed by a c m & w i t h the=
                   fields:

                   1.    A FAP symbol, appearing in the location fieldj;;

                   2,    Three to six-BCD characters appearing in the operatiom
                             to be used a s the macro-operation code; and

                   3.    A E s t of s ~ i t u t a b l e
                                                      arguments, appearing in the variable          3
                         field,
                A symbol, which may appear in the location field of the second eard,
                is considered to be a substitutable argument, and not a location
                 symbol. It i s replaced by the corresponding argument in the
                location field of the macro-instruction card .This field i n the macro -
                instruction i s a specific argument, and not a location symbol. If it
                appears i n the variable field of a n instruction, it must be defined
                elsewhere in the program.


MOP

                The pseudo-operation MOP i s also used t o define a macro-operation.
                The constituents of the MOP pseudo-instruction a r e :

                1.    Blanks, appearing in the location field;

                2.    The operation code MOP, appearing in the operation field;
                      and

                3.    The macro-operation code, followed by the argument list,
                      appearing in the variable field.

                MOP is identical to MACRO except that the macro-operation code
                being defined appears a s the f i r s t subfield in the variable field,
                followed by a punctuation character and the argument l i s t .


The Prototype

                The prototype follows the macro-definition heading c a r d . It
                consists of a s e r i e s of F A P instructions which use the substitutable
                arguments listed in the variable field of the preceding MACRO
                o r M O P . The prototype must be followed by an END card with
                the macro-operation code in i t s location field o r variable field,
                o r with both the location field and the variable field blank.

                To lend greater flexibility to macro-operations, parentheses and
                the apostrophe have been included in the l i s t of special characters
                which may be used within the various fields of the macro-definitions          .
                Thus, neither may be used a s p a r t of a substitutable argument.
                Remarks cards with an asterisk in column 1, appearing within a
                m a c r o -definition, will not appear in the expansions.

                Heading characters in effect within the region in which the macro-
                definition appears do not apply to the definition.




                A substitutable argument or any F A P symbol may appeal: in the
                location field of a prot;s$ype instruction.
The Operation Field
                                                                                                                      1
                                                                                                                      .J
              The following may appear in the operation field of a prototype in-
              s truction: any substitutable argument, any machine ope ration,
              any pseudo-operation not restricted to the f i r s t card group ( e . g . ,
              COUNT, ENTRY) ,or any macro-operation code.


The Variable Field
                                                                                                                       v

              A blank, if encountered before card column 72 on a prototype
              c a r d (except the c a r d s BCD, BCI, REM, TTL), is considered to
              terminate the variable field, and any information o r commentary
              to the right of the blank will not be included in the macro-definition.
              If the blank appears following an unmatched left parenthesis, how-
              ever, the blank does not terminate the scan. Blanks within
              parenthesis a r e considered to be text. If a matching right
              parenthesis i s not encountered before card column 73, an ETC
              c a r d must follow. Unmatched parentheses cause a n assembly
              error.

              Alphameric cards a r e scanned in full for substitutable arguments.
              I the variable field of BCD card (beginning in card column 12), o r
               f
              a BCI card (beginning in card column 12-16), commences with a
              non-blank, non-numeric character, the f i r s t subfield should be a
              substitutable argument for which a count will be substituted in the
              macro -instruction argument l i s t .

              The apostrophe (8-4 punch) may be used to concatenate (link)
              partial subfields in the operation field o r in the variable field. It
              i s possible to create a single subfield f r o m a combination of
              arguments and text, a s delimits an argument in the macro-de-
              finition prototype, but i s itself not included in the macro-
              definition.    The ! character cannot be used to concatenate sub-
              fields of lower level nested macro-definitions. F o r example, to
              delimit the count on a BCD prototype card, the following may be
              used:
                                                                                                                  i
                                        A L P H A MACRO       AIB~C                                               I
                                                  BCD A ' O    ' 0 ' ERROR.       CONDITION'C'         IGNORED.
                                        A L P H A END                                                             I
                                                                                                                  I


              The macro-instruction
                                                                                                                  1
                 02233                           ALPHA        7rFIELUv      I
                                                                                                                  I




              will cause the following card to be generated:

                                                                                                                  I
                 02233   006060263125           BCD 7 0       F I E L D ERROR* C O N U I T I O l \   IGNORED*     I
              The following illustrates macro-generation of a n o,peration code
              by means of concatenation:
                                        J     TAPENO A6B
                                        K     TAPENOBlL

                                        NAME4 MACRO     AsBICSDSESFSG
                                        A     B'T'C'D   E
                                              SD'F      6
                                        NAME4 END

                                              NAME4     AXSWIDIJIILS**
                                       AX     WTDJ
                                              SOL       **
                                              NAME4     AY~RSBISS~NSK
                                       AY     RTB       5
                                              SDN       K

              If parentheses a r e to be used as a p a r t of text, the enclosed string
              must not appear in the macro-definition heading argument list, o r
              the string will be considered a substitutable argument.

              If a heading character of the f o r m A$B is required, either A o r B
              o r both may be substitutable arguments.

              If a transfer vector name is required of the f o r m $NAME, NAME
              may be a substitutable argument.

              If a literal of the f o r m =A is required, A may be a substitutable
              argument for which a valid f o r m of a literal must be substituted.

              The variable field of any c a r d in the prototype may be extended by
              the use of the ETC pseudo-operation. In order that a following
              ETC c a r d be recognized, it is necessary to follow the conventions
              stated for extending a macro-definition heading card argument
              l i s t (page 6 ) . The programmer should exercise caution that a
              macro-generated c a r d image which overflows column 7 2 has a
              variable field which is properly extended by a n ETC card. Such
              variable fields a r e limited to those of a macro-instruction card,
              o r a nested macro-definition heading c a r d .

              These conventions for ETC c a r d s a r e different f r o m those for
              ETC cards following CALL o r VFD pseudo-instructions .

              If a preceding card does not follow these conventions, an ETC
              c a r d will be treated a s is any other card in the prototype, and will
              be generated with arguments properly substituted. This ETC
              c a r d may be used to extend the variable field of a CALL o r VFD
              pseudo-instruction, provided i t follows the conventions f o r CALL
              o r VFD.

              The macro- operation compiler will generate ETC c a r d s , recognized
              by the macro-operation processor only, t o follow any generated
              instruction whose variable field overflows card column 7 2 .


Nesting Macro-Definitions

              Macro-operation definitions may be nested by including a macro-
              definition heading c a r d within a macro-definition prototype. The
              various fields within the nested macro-operation will be scanned
              for substitutable arguments in the argument l i s t of the outermost
              macro-definition. Those arguments common to both the outer -
              most macro-definition and the nested macro-definition will be
              substitutable arguments for this inner macro-operation. Those
              intended to be substitutable arguments in the nested macro-
              ope ration, but not appearing in the outermost m a c r o-def inition
              argument list, will be considerdd a s text within the outermost
              prototype. A macro-instruction using the outermost code will
              generate the nested macro-definition heading c a r d s and proto-
              types of each of the macro-operations nested one level below,
              with all outer level arguments properly substituted. The name of
              the nested macro-operation may itself be an argument. This will
              cause the definition of a lower level macro-operation, the proto-
              type of which will be scanned for substitutable arguments in the
              argument list of the current level definition, including those
              substituted in the outer expansion. Lower level macro-operations
              will not be defined until all higher level macro-operations within
              which they a r e nested have been expanded.

              If macro-definitions a r e nested, the ends of the lower level proto-
              types must be marked with END cards bearing the name of the
              macro-operation in the location or the variable field. If no name
              appears in either field of the END card, the outermost macro-
              definition i s terminated.

              An example of nested macro-definitions i s a s follows:
                                                                                          -1
                                         N E S T l MACRO   ABBsC
                                         N E S T 2 MACRO   ASDIE
                                         N E S T 3 MACRO
                                                 0.0
                                                           B~DIF                     I
                                                 ***
                                         N E S T 3 END
                                                                                     I
                                         N E S T 2 END
                                         N E S T l END
                                                                                     I
                                                                                     1


              The prototype of a macro-definition may include macro-instructions,
              the macro-operations of which have not yet been defined; however,
              such lower level macro-operations must be defined p r i o r to an
              appearance of the higher level macro-instruction. Circular
              definitions, which will result in a loop within the macro- operation
              processor, must be avoided by the programmer.


Restrictions on Macr o-Definitions

             The following r e s trictions apply to all m a c r o-def initions:

             1.    When operating under the FORTRAN Monitor, a l l macro-
                   definitions should be a t the beginning of the program since
                   the E r r o r Records (which skip to END c a r d s ) may be confused
                   by mac ro-definition END cards.
                     The effective limit of the number of macro-definitions o r the
                     total length of all macro-definitions i s the length of tables
                     which these share. Macro-operation codes a r e inserted in the
                     Combined Operations Table, and the length of the Table must
                     not exceed 1024 operation codes. Approximately 400 names
                     a r e available to the programmer to i n s e r t macro-operation
                     codes, or codes defined by OPD, OPSYN, or OPVFD pseudo-
                     operations.

                     Macr o-definitions share core storage with the symbol table;
                     entries in one reduce the space available f o r the other. The
                     space taken by macro-definitions is l a t e r occupied if r e -
                     quired by the Symbolic Reference Table.

            4.       An argument l i s t longer than 63 arguments will be truncated,
                     but will not be flagged.


Macro-Instructions

            A macro-instruction i s used to generate, in line, the sequence of
            instructions given by the prototype,with substitutions for the argu-
            ments. The constituents of a macro-instruction are:

            1.       A FAP symbol, appearing in the location field;

            2.       Apreviouslydefinedmacro-operation, a p p e a r i n g i n t h e
                     operation field; and

            3.       A l i s t of FAP symbols, expressions, alphameric character
                     strings, o r operation codes, appearing in the variable field.

            The symbol in the location field of the macro-instruction will be
            defined a s the location of the next instruction. A macro-instruction
            should not appear within the range of a DUP.


MAC

            An additional pseudo-operation i s available for use a s a macro-
            instruction. The constituents of the MAC pseudo-instruction are:

            1.       A FAP symbol, appearing in the location field;

            2.       The operation code MAC, appearing in the operation field; and

            3.       The name of the macro-operation followed by the argument
                     l i s t appearing in the variable field.

            MAC i s identical to a macro-instruction with the code in the
            operation field, except that the code appears a s the f i r s t subfield
            in the variable field, followed by a punctuation character and the
            argument l i s t .
Punctuation

              Only commas and parentheses may be used to separate arguments
              in the macro-instruction argument list. A single comma following
                                                                                                         3
              a right parenthesis, or a single comma preceding a left parenthesis,
              i s redundant and may be omitted. Consecutive commas define a
              null argument string; an explicit zero, if s o desired, must appear
              in the argument l i s t . A blank not within parentheses terminates
              the argument list. A pair of parentheses surrounding a string of
              characters in a macro-instruction argument string signifies that
              everything within the parentheses is to be substituted f o r the c o r -
              r e sponding argument in the macro-definition prototype. Within
              such a pair of parentheses, nested parentheses, commas, and
              blanks a r e considered to be p a r t of the string to be substituted. If
              a matching right parenthesis i s not encountered before c a r d
              column 73, a n ETC card must follow. Unmatched parentheses
              cause a n assembly e r r o r .

              Parentheses to be included a s p a r t of a field to be substituted in a
              prototype must be enclosed within an outer pair of parentheses
              which will be deleted in the macro-instruction expansion.

              F o r example, given the macro-definition

                                           CALLIOMACRO         IOCOMtTltOPtLAQELtTZtUNITtPFXeERRET
                                                       TSX
                                                       PZ E
                                                              (TAPE)r4
                                                               IOCOMtTlrOP                           I
                                                       PZE
                                                       IFF
                                                               LABEL t T 2 t U N I T
                                                               OtERRET
                                                                                                     I
                                                       PFX
                                           C A L L 1 0 END
                                                               ERRET                                 I

              the corresponding macro-instruction could be

                 03072                              CALL10     CITIO~~~((RBEP))~CITLB~~CITTAPI,,     I
                 03072
                 03073
                         0074 00 4 73406
                         0 40004 2 06610
                                                    TSX
                                                    PZE
                                                               (TAPE) t 4
                                                               C I T I O t 2 t (RBEP)
                                                                                                     I
                 03074   0 00004 0 06614            PZE        CITLBttClTTAP                         I
                                                    IFF        01



              Note that TAPE should not be a substitutable argument; (RBEP)
              must be enclosed in an outer pair of parentheses; and that in the
              macro-instruction argument l i s t , an explicit null argument
              bounded by a comma appears corresponding in position to the
              substitutable argument ERRET in the macro-definition argument
              l i s t . This will cause the fourth word of the calling sequence to be
              omitted (see I F F on page 3 1)         .
              As the character $ does not delimit a n argument in the macro-
              instruction argument l i s t , i t may be used freely t o indicate a
              heading character or a transfer vector symbol, to replace a
              substitutable argument. If the character $ i s a t the end of the
              argument list, a comma must be used to distinguish this f r o m the
              character used to flag a following ETC c a r d . As the character =
              does not delimit an argument in the macro-instruction argument
              list, it may be used freely to indicate a l i t e r a l to replace a
              substitutable argument.
Argument Strings

              The specific argument s t r i n g s to be substituted must be given in
              the s a m e o r d e r in the macro-instruction argument l i s t a s the
              substitutable arguments appear i n the macro-definition heading
              argument l i s t .

              It i s not n e c e s s a r y to r e s t r i c t the length of an argument string
              t o be substituted into a location field to six c h a r a c t e r s , o r into an
              operation field t o seven. Even a n e n t i r e c a r d image may be in-
              s e r t e d into any field. No blank will be i n s e r t e d following
              a location field longer than six c h a r a c t e r s , and the operation field,
              if any, will follow immediately.

              Example :
                                                                                             t
                                              NAME9 MACRO
                                                    XXX
                                                              XXX
                                                              REMARK
                                                                                             I
                                              NAME9 END
                                                                                             I
                   04061                            NAME9     (CLA       B            1
                   04061    0500 00 0 06104         CLA       B              REMARK          I
                                                                                             1
Nested Macro-Instructions

              It is possible t o nest macro-instructions by including either a
              macro-operation code o r a substitutable argument which will be
              replaced by a macro-operation, within an operation field in the
              prototype.

              Example :
                                              XXX
                                              XXX
                                                    MACRO
                                                    END
                                                                                             I
                                              COS   MACRO     OP                             I
                                                    OP
                                                    TSX       SCOS94                         I
                                              COS   END

                   04155                            COS(COS(XXX) 1
                                                                                             I
                   04155                            COS ( XXX 1
                                                    XXX
                                                                                             I
                   04155
                   04156
                            0074 00 4 00005
                            0074 00 4 00005
                                                    TSX
                                                    TSX
                                                                BCOSe4
                                                                SCOSe4
                                                                                             I
                                                                                             I

              Note that the null macro-operation XXX will cause the generation
              of no c a r d i m a g e s . The same effect could have been obtained by
              writing :
                                                                                             .
                                                                                             I
                           -0 07774 0 04757   XXX   OPSYN    NULL
                                                                                             I
                                                                                             I
              Note a l s o that the a s s e m b l e r will a s s u m e a comma o r an open
              parenthesis immediately following the operation code, a s e a r l y
              a s c a r d column 11, t o be the end of the operation field o r the be-
              ginning of the variable field, respectively. Hence, suggestive
              notation, such a s
              I                                                                                  1
             may be used a s a string to replace a substitutable argument.
                                                                                          3
                                                                                          -J/
             The argument and sub-argument l i s t of a macro-instruction may
             be extended by the use of the ETC pseudo-operation. In order
             that a following ETC card be recognized, i t i s necessary that the
             preceding card follow the conventions stated for extending a
             macro-definition heading card argument list (page 6 ) . ~f the
             preceding c a r d does not follow these conventions, an ETC c a r d
             will be treated a s the f i r s t card following the macro-generated
             card sequence, which usually results in an assembly e r r o r .


The Generated Cards

             The generated c a r d s a r e similar to the prototype cards, except
             that the substitutable arguments in the prototype w i l l be replaced
             with the arguments appearing in the macro-instruction argument
             l i s t . The heading characters i n effect within the region in which
             the macro-instruction appears will be prefixed to all symbols
             shorter than six characters in the location and variable fields.

             In the 7 0 9 / 7 0 9 0 mode, the macro-compiler will generate the
             variable field beginning i n card column 16, except for the c a r d s
             BCD, BCI, REM, TTL. In the 704 mode and for the c a r d s BCD,
             BCI, REM, TTL, the variable field will begin in card column 12.
             No note i s taken of the c a r d column in which the variable field
             begins on a prototype card. At least one blank will separate the
             variable field f r o m an operation code which extends beyond
                                                                                          2
             these card columns.


Created Symbols

             If arguments a r e missing f r o m the end of the argument l i s t of a
             macro-instruction, symbols will be created to fill the vacancies.
                                                   .            .   .
             These symbols take the f o r m of .001, .002, to .nnn, throughout
             the program. An explicitly null argument terminated by a comma
             will be treated a s null; created symbols will be supplied only a t
             the end of the argument string.

             F o r example, given the macro-definition heading c a r d
                                                                                      1
                                     ALPHA MACRO       AgBgC9D                        I
                                                                                      1

             and the macr o-instruction card
                                                                                      1
                                           ALPHA       XI   I                         I
                                                                                      I

             each appearance of the substitutable argument A will be replaced
             by X, each appearance of the substitutable argument B will be
             omitted, a s the argument is explicitly void, and each appearance
             of the substitutable arguments C and D will be replaced by the
             symbols.. nnn created t o replace the omitted arguments a t the end.
                                                                                          3
         If m o r e than9999 symbols a r e t o be created, the p r o g r a m m e r
         m u s t r e -origin created symbols using the ORGCRS pseudo-
         operation, or assembly will be terminated.


NOCRS

         The pseudo-operation NOCRS is used to suppress the creation of
         symbols to replace specific argument strings missing f r o m the
         end of a macro-instruction argument l i s t . The constituents of
         the NOCRS pseudo-instruction a r e :

         1.      Blanks, a p p e a r i n g i n t h e l o c a t i o n f i e l d ;

         2.      The operation code NOCRS, appearing in the operation field;
                 and

         3.      Blanks, appearing in the variable field.


ORGCRS

         In o r d e r t o alter the f o r m of created symbols, the pseudo-operation
         ORGCRS may be used. This pseudo-operation a l s o r e i n s t a t e s the
         creation of symbols, if they had been suppressed by NOCRS. The
         constituents of the ORGCRS pseudo-instruction a r e :

         1.      Blanks, appearing in the location field;

         2.      The operation code ORGCRS, appearing in the operation field;
                 and

         3.      Blanks o r one BCD c h a r a c t e r followed by t h r e e digits, ap-
                 pearing in the variable field.


         The BCD c h a r a c t e r in the variable field, if any, will replace the
         second dot (. Annn); the digits, if any, will be the origin of a new
         s e t of created symbols. This origin will be one lower than the
         f i r s t symbol actually c r e a t e d . If the BCD c h a r a c t e r is d e s i r e d ,
         the t h r e e digits m u s t be stated explicitly: Annn; but if it is
         not d e s i r e d , nnn i s sufficient.




                                          MONSTR MACRO        DAVID~ALLEN~ROBERTBSCOTT
                                                 CAL          DAVID
                                                 TZE          SCOTT
                                                 STA          ROBERT
                                                 ALS          18
                                                 OAA          ROBERT
                                           SCOTT SLW          ALLEN
                                                 RM1
                                          ROBERT BSS          1
                                                 RM1
                                          MONSTR END
          In this macro-definition, the transfer address SCOTT and the                  7
          storage address ROBERT must be unique f o r each appearance of
          the macro-operation i n a macro-instruction. However, neither
          i s required outside of the resulting expansion. Hence the as-
          sembler may be permitted t o assign a location symbol, by omit-
          ting the corresponding arguments in the macro-instruction
          argument l i s t . The pseudo-instruction ORGCRS is used to a l t e r
          the format of the created symbol to Nnnn:          .
      I                                             ORGCRS   Nl5O                   I
                                                                                            I
               04170                                MONSTR   MARLYNBHERB            I
               04170 -0500 00   0   00312           CAL      MARLYN
               04171 0100 00    0   04175           TZE      a N152                 I
               04172 0621 00    0   06000           STA      oN151
               04173 0767 00    0   00022           ALS      18                     I       v

               04174 -0501 00   0   06000           ORA      aN151                  I
               04175  0602 00   0   00313   oN152   sLW      HERB
                                                                                    I

      The pseudo-operation BSS will be assembled later in the program
      ( s e e RMT below).

                                                                                    I
               06000                        oN151   BSS      1
                                                                                    I
                                                                                    I
IRP

          The pseudo-operation IRP i s used within a prototype to iterate a
          s e r i e s of instructions within the s e t of generated instructions.
          constituents of the IRP pseudo-instruction a r e :

          1.      Blanks ap,pearing in the location field;

          2.      The operation code IRP, appearing in the operation field; and

          3.      A FAP symbol, appearing in the variable field.

          The symbol in the variable field must be the name of a single
          substitutable argument appearing in the macro-definition argu-
          ment list. An IRP c a r d must precede the instructions t o be
          iterated, and another IRP card with blank location and variable
          fields must follow the instructions. Both IRP c a r d s must be with-
          in the range of the prototype.

          The argument to be substituted (appearing in the macro-instruction
          argument list) i s a string of sub-arguments separated by commas
                                                                                                e
          and enclosed in parentheses. The number of these sub-argument
          strings will be the number of iterations of the enclosed c a r d s , and
          each iteration will be made with the corresponding sub -argument
                                                                                                b
          string substituted f o r the dummy argument. If no argument was
          given in the variable field of the f i r s t IRP, no iterations will be
          made; one argument causes one iteration, etc                     .
          F o r example, to compute the sum of squares, the following m a c r o -
          definition can be written:
                                           SUMSQ MACRO   T IB               I
                                                 ST2     T                  I
                                                 IRP     I3
                                                 LDQ
                                                 FMP
                                                         B
                                                         B
                                                                     11
                                                                     21
                                                                            I
                                                 FAD     T           3)     I
                                                 ST0     T           4
                                                 IRP                        I
                                           SUMSQ END                        I
      The four instructions marked a r e to be iterated. To compute
      A = X +Y +Z , the following coding could be used:
            ~

           04234
           04234   0600 00 0 06016
                                                 SUMSQ
                                                 STZ
                                                         AI(XIYIZ)
                                                         A
                                                                           I
           04235   0560   00   0   06062
                                                 IRP
                                                 LDQ
                                                         XIYIZ
                                                         X
                                                                           I
           04236   0260   00   0   06062         FMP     X
           04237   0300   00   0   06016         FAD     A                 I
           04240   0601   00   0   06016         ST0     A
           04241   0



◦ Jabse Service Manual Search 2024 ◦ Jabse PravopisonTap.bg ◦ Other service manual resources online : FixyaeServiceinfo