Marc's Place

DIBIOL/DBL - Argument/Field Definitions

Subroutine argument definitions specify the data linkages between
an external subroutine and the program that called the external subroutine.

             |{GROUP}    |{name},{{*{,*...}}}t |{.}   |
             |{qualifier}|                     |{size}|

    Qualifiers

       These further describe the argument being passed. Valid qualifiers are:

               %VAL          Argument was passed by value.
               %REF          Argument was passed by reference (size is required
                             when %REF is specified).
               %DESCR        Argument was passed by descriptor. This is the default.
               %XTRNL


Field definitions define variables within a RECORD or COMMON area.

                                            |n  |
             {name},{array-information}type{|n.p|}{,init-value}
                                            |*  |

Array-information: An array is a group of fields which share the same data type, field
size, and symbolic name (array name).

     For pseudo-arrays:

             {name}, d1 t n {values}

     For single or multi-dimensional arrays:

             {name},[d1{,d2...dn}] t n {values}


Type:
    Valid types are A (alpha), D (zoned), P (packed), I (integer)
Length:
    n, n.p, *: type = A, max 65535 bytes; = D, max 18; = P, max 18; = I, max 16 bytes.
               p = number of decimal places whithin field, i.e.: D5.2 >> XXX,XX
               * = size will be generated by the compiler.

        MSG, A, "Dit zijn twintig pos"       ; Creates an A20 field

        PSEUDO, 2A*, "ABCD", "EFGHIJ"        ; Creates a 2A6 field

        ZONED, D, 123.45                     ; Creates a D5.2 field

        INTGER, I*, 42                       ; Creates an I1 field.


Field definitions define literals within a LITERAL area.

{GLOBAL/EXTERNAL/LOCAL (default)} LITERAL

GLOBAL (in main) and EXTERNAL (in routine/function) may be used only with the integer
data type (for example a channel number).

LITERAL
        chklt,        I, 10
        arrayelem,    I, 20     ; 20 elements
        arraysize,    I, 10     ; 10 digits/bytes

RECORD
        array,        arrayelem A arraysize
© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
Privacy Statement