Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Glossary

&pagelevel(2)&pagelevel

address operand

This is an operand used to address a memory location or memory area. The
operand may specify virtual addresses, data names, statement names, source
references, keywords, complex memory references, C qualifications (debugging
on machine code level) or PROG qualifications (symbolic debugging). The
memory location or area is located either in the program which has been loaded
or in a memory dump in a dump file. If a name has been assigned more than
once in a user program and thus no unique address reference is possible, area
qualifications or an identifier can be used to assign the name unambiguously to
the desired address.

address selector

The address selector supplies the corresponding address for a memory object.
It can be specified in COBOL with ADDRESS OF or as a low-level function in
the form %@(...).

AID input files

AID input files are files which AID requires to execute AID functions, as
distinguished from input files which the program requires. AID processes disk files
only. AID input files include:

  1. Dump files containing memory dumps (%DUMPFILE)

  2. PLAM libraries containing object modules. If the library has been assigned
    with the aid of the %SYMLIB command, AID is able to load the LSD records.

AID literals

AID provides the user with both alphanumeric and numeric literals (see AID
Core Manual [1]):

{C'x...x' | 'x...x'| U'x...x'}                   Character literal
{X'f...f'}                                       Hexadecimal literal
{B'b...b'}                                       Binary literal
[{±}]n                                           Integer
#'f...f'                                         Hexadecimal number
[{±}]n.m                                         Decimal number
[{±}]mantisseE[{±}]exponent                      Floating-point number


AID output files

AID output files are files to which the user can direct output of the %DISASSEM-
BLE, %DISPLAY, %HELP, %SDUMP and %TRACE commands. The files are
addressed via their link names (F0 through F7) in the output commands (see
%OUT and %OUTFILE). The REP records are written to the file assigned to link
name F6 (see %AID REP=YES and %MOVE).
There are three ways of creating an output file, or of assigning an output file:

  1. %OUTFILE command with link name and file name

  2. ADD-FILE-LINK command with link name and file name

  3. For a link name to which no file name has been assigned, AID issues a FILE 
    macro with the file name AID.OUTFILE.Fn.

An AID output file always has the format FCBTYPE=SAM, RECFORM=V, and
is opened with MODE=EXTEND.

AID standard work area

This is the non-privileged part of virtual memory (in the user task) which is occupied
by the program and all its connected subsystems.
If no presetting has been made with the %BASE command and no base
qualification is specified, the AID standard work area applies by default.

AID work area

The AID work area is the address area in which the user may reference
addresses without having to specify a qualification. It comprises the non-privileged
part of virtual memory in the user task, which is occupied by the program
and all its connected subsystems or the corresponding area in a memory dump.
Using the %BASE command, you can shift the AID work area from the loaded
program to a memory dump, or vice versa. You may deviate from the AID work
area in a command by specifying a qualification in the address operand.

area check

In the case of byte offset, length modification and the receiver of a %MOVE, AID
checks whether the area limits of the referenced memory objects are exceeded
and issues a corresponding message if necessary.

area limits

Each memory object is assigned a particular area, which is defined by the
address and length attributes in the case of data names and keywords. For
virtual addresses, the area limits are between V’0’ and the last address in virtual
memory (V’7FFFFFFF’). In PROC/PROG qualifications, the area limits are
determined by the start and end addresses of the program unit (see AID Core
Manual [1]).

area qualification

These qualifications are used to identify part of the work area. If an address
operand ends with one of these qualifications, the command is effective only in
the part that is identified by the last qualification. An area qualification delimits
the active area of a command, or makes a data name or statement name unique
within the work area, or allows a name to be reached that would otherwise not
be addressable at the current interrupt point.

attributes

Each memory object has up to six attributes:
address, name (opt), content, length, storage type, output type.
Selectors can be used to access the address, length and storage type. Via the
name, AID finds all the associated attributes in the LSD records so they can be
processed accordingly.
Address constants and constants from the source program have only up to five
attributes:
name (opt), value, length, storage type, output type.
They have no address. When a constant is referenced, AID does not access a
memory object but merely inserts the value stored for the constant.

base qualification

This is the qualification designating either the loaded program or a memory
dump in a dump file. It is specified via E={VM | Dn}.
The base qualification can be declared globally with %BASE or specified explicitly
in the address operand for a single memory reference.

character conversion functions

AID provides two functions for character conversion, %C() and %UTF16().
The %UTF16() function converts strings from a 1-byte EBCDIC encoding to
UTF16 encoding; the %C function performs conversion in the other direction.

command mode

In the AID documentation, the term "command mode" designates the EXPERT
mode of the SDF command language. Users working in a different mode (GUID-
ANCE={MAXIMUM|MEDIUM|MINIMUM|NO}) and wishing to enter AID commands should
switch to EXPERT mode via MODIFY-SDF-OPTIONS GUIDANCE=EXPERT.
AID commands are not supported by SDF syntax:

  • Operands are not queried via menus.

  • If an error occurs, AID issues an error message but does not offer a
    correction dialog.

In EXPERT mode, the system prompt for command input is "/".

command sequence

Several commands are linked to form a sequence via semicolons (;). The
sequence is processed from left to right. A command sequence may contain
both AID and BS2000 commands, like a subcommand. Commands not permitted
in a command sequence are the AID commands %AID, %BASE, %DUMP-
FILE, %HELP, %OUT and %QUALIFY as well as the BS2000 commands listed
in the appendix of the AID Core Manual.
If a command sequence contains one of the commands for runtime control, the
command sequence is aborted at that point and the program is started (%CON-
TINUE, %RESUME, %TRACE) or halted (%STOP). As a result, any commands
which follow as part of the command sequence are not executed.

compilation unit

This consists of a single source program or a sequence of such programs. It is
addressed via the S qualification.

constant

A constant represents a value which cannot be accessed via an address in
program memory.
Constants include the figurative constants, the results of length selection, length
function and address selection, and the statement names and source
references.
An address constant represents an address. Address constants include statement
names, source references and the result of an address selection. They
can be used, in conjunction with a pointer operator (->), to address the
corresponding memory location.

CSECT information

is contained in the object structure list.

current call hierarchy

The current call hierarchy represents the status of subprogram nesting at the
interrupt point. It ranges from the subprogram level on which the program was
interrupted to the subprograms exited by CALL statements (intermediate levels)
to the main program.
The hierarchy is output using the %SDUMP %NEST command.

current compilation unit

The current compilation unit is the unit containing the current interrupt point.

current program

The current program is the program unit in which the compilation unit was
interrupted. Its name is output in the STOP message.

data item

This is a general term for all the data defined in the DATA DIVISION, covering
group items and tables and the elements in these.

data name

An operand that stands for all names assigned for data in the source program.
With the aid of the data name the user addresses data items during symbolic
debugging.
No LSD records are generated for definitions from the REPORT-SECTION, for
88 levels, for system switches in the SPECIAL-NAMES paragraph and the
NATIVE alphabet. Thus you cannot use AID to address this data.
If a data name is not unambiguous within a program unit, it can be identified by
being assigned to a specific group item with IN or OF.
Table elements can be addressed via an index as in COBOL.

data type

In accordance with the data type declared in the source program, AID assigns
an AID storage type to each data item:

  • binary string (ï %X)

  • character (ï %C or %UTF16)

  • numeric (ï %F, %D)

Not all data types that are numeric in COBOL are of the storage type numeric
for AID (see %SET table).

This storage type determines how the data item is output by %DISPLAY,
transferred or overwritten by %SET, and compared in the condition of a subcommand.

ESD

The External Symbol Dictionary (ESD) lists the external references of a module.
It is generated by the compiler and contains, among other items, information on
CSECTs, DSECTs and COMMONs. The linkage editor accesses the ESD when
it creates the object structure list.

global settings

AID offers commands facilitating addressing, saving input efforts and enabling
the behavior of AID to be adapted to individual requirements. The presettings
specified in these commands continue to apply throughout the debugging
session (see %AID, %AINT, %BASE and %QUALIFY).

index

The index is part of an address operand and permits the position of a table
element to be defined. It can be specified in the same way as in COBOL (in
contrast to COBOL, however, multiple indexes must be separated by commas) or
by means of an arithmetic expression from which AID calculates the index
value. This AID-specific index contains both the address of a table element with
a subscript and the COBOL-specific index from the INDEXED BY clause.

index-name

This is the symbolic name defined in the INDEXED BY clause for indexing a
table level. index-name may not be used to index another table.
If the AID index is to be calculated from an arithmetic expression, index-name
can be linked only with integers, not with other data items of the COBOL special
register TALLY.

input buffer

AID has an internal input buffer. If this buffer is not large enough to accommodate
a command input, the command is rejected with an error message identifying
it as too long. If fewer of the repeatable operands are specified, the
command will be accepted.

interrupt point

The interrupt point is the address at which a program has been interrupted.
From the STOP message the user can determine both the address at which and
the program unit in which the interrupt point is located. The program is continued
at this point. A different continuation address can be specified for COBOL
programs with the aid of the %JUMP command.

LIFO

Stands for the "last in, first out" principle. If statements from different entries
concur at a test point (%INSERT) or upon occurrence of an event (%ON), the
ones entered last are processed first (see AID Core Manual [1]).

localization information

%DISPLAY %HLLOC(memref) for the symbolic level and %DISPLAY
%LOC(memref) for the machine code level cause AID to output the static
program nesting for a given memory location.
Conversely, %SDUMP %NEST outputs the dynamic program nesting, i.e. the
call hierarchy for the current program interrupt point.

LSD

The List for Symbolic Debugging (LSD) is a list of the data/statement names
defined in the module. It also contains the compiler-generated source
references. The LSD records are created by the compiler. AID uses them to fetch
the information required for symbolic addressing.

memory object

A memory object is formed by a set of contiguous bytes in memory. At program
level, this comprises the program data (if it has been assigned a memory area)
and the instruction code. Other memory objects are all the registers, the
program counter, and all other areas that can only be addressed via keywords.
Conversely, any constants defined in the program, as well as statement names,
source references, the results of address selection, length selection and length
function, and the AID literals do not constitute memory objects because they
represent a value that cannot be changed.

memory reference

A memory reference addresses a memory object. Memory references can
either be simple or complex.
Simple memory references on machine code level are virtual addresses and
CSECTs. Symbolic memory references comprise all names (recorded in the
LSD information) of files, data and statements from the program, the source
references generated by the compiler and the AID keywords. Complex memory
references instruct AID how to calculate a particular address and which type
and length are to apply. The following operations are possible here: byte offset,
indirect addressing, type modification, length modification, address selection.

monitoring

%CONTROLn, %INSERT and %ON are monitoring commands. When the
program reaches a statement of the selected group (%CONTROLn) or the defined
program address (%INSERT), or if the declared event occurs (%ON), program
execution is interrupted and AID processes the specified subcommand.

name range

This comprises all file names, data names, special registers and figurative
constants stored for a program unit in the LSD records.

object structure list

On the basis of the External Symbol Dictionary (ESD), the linkage editor generates
the object structure list, provided the linkage editor option TEST-
OPTIONS=AID applies.

output type

This is an attribute of a memory object and determines how AID outputs the
memory contents. Each storage type has its corresponding output type. The
AID Core Manual [1], lists the AID-specific storage types together with their output
types. This assignment also applies for the data types used in COBOL.
A type modification in %DISPLAY and %SDUMP causes the output type to be
changed as well.

program state

AID makes a distinction between three program states which the program being
tested may assume:

  1. The program has stopped.
    %STOP, the K2 key or completion of a %TRACE interrupted the program. The task is in command mode. The user may enter commands.

  2. The program is running without tracing.
    %RESUME started or continued the program. %CONTINUE does the same, with the exception that any active %TRACE is continued.

  3. The program is running with tracing.
    %TRACE started or continued the program. The program sequence is logged in accordance with the declarations made in the %TRACE command. %CONTINUE has the same effect if a %TRACE is still active.

program unit

A subset of a complete COBOL program with a separate name in the PRO-
GRAM-ID, e.g. the main program or any subprogram called with CALL. It can
be addressed with a PROC or C qualification (segment, shared code module).

qualification

A qualification is used to reference an address which is not in the AID work area
or not uniquely defined therein. The base qualification specifies whether the
address is in the loaded program or in a memory dump. The S qualification
specifies the compilation unit in which the memory object is situated. The PROC
qualification or C qualification specifies the program unit or segment in which
the address is situated. If a qualification is found to be superfluous or contradictory,
it will be ignored. This is the case, for example, if a PROC qualification is
specified for a data element of the current program unit, except in %SDUMP.

source reference

A source reference designates an executable statement and is specified via
S’n[verb[m]] | S’xverb[m]
Source references are generated by the compiler and stored in LSD records.

n | x

is the line number that has been assigned by the programmer or compiler, in accordance with the SDF option applicable at compilation: STMT-REFERENCE.

verb

is the defined abbreviation of a COBOL verb (see section “Symbolic  memory references” on page 21).

m

is a number which you only need to specify if the same COBOL verb appears more than once in a statement line.
m then designates the m-th identical verb.
Source references are address constants.


special register

The COBOL compiler provides special registers for every program:

LINAGE-COUNTER
RETURN-CODE
SORT-CCSN
SORT-CORE-SIZE
SORT-EOW
SORT-FILE-SIZE
SORT-MODE-SIZE
SORT-RETURN
TALLY


A TALLY special register is created for each program. The RETURN-CODE
special register, on the other hand, is provided just once for the entire compilation
unit. The SORT special registers are generated only if the program contains
a sort section.

statement name

This designates the address of the first instruction in a section or paragraph in
the PROCEDURE DIVISION.

{L'section' | L'paragraph'} [IN L'section']

If a statement name cannot be confused with a data name, an alphanumeric
section or paragraph name can be specified without L’...’. If a paragraph name
is not unambiguous within a program unit, it can be identified with IN L’section’.
Statement names are address constants.

storage type

This is either the data type defined in the source program or the one selected
by way of type modification. AID knows the storage types %X, %C, %E, %P,
%D, %F, %A, %UTF16, %S and %SX
(see %SET and AID Core Manual [1]).

subcommand

A subcommand is an operand of the monitoring commands %CONTROLn,
%INSERT or %ON. A subcommand can contain a name, a condition and a
command part. The latter may comprise a single command or a command
sequence. It may contain both AID and BS2000 commands. Each subcommand
has an execution counter. Refer to the AID Core Manual [1], for information
on how an execution condition is formulated, how the names and execution
counters are assigned and addressed, and which commands are not permitted
within subcommands.
The command part of the subcommand is executed if the monitoring condition
(criterion, test-point, event) of the corresponding command is satisfied and any
execution condition defined has been met.

tracing

%TRACE is a tracing command, i.e. it can be used to define the type and number
of statements to be logged. Program execution can be viewed on the screen
as a standard procedure.

update dialog

The update dialog is initiated by means of the %AID CHECK=ALL command. It
goes into effect when the %MOVE or %SET command is executed. During the
dialog, AID queries whether updating of the memory contents really is to take
place. If N is entered in response, no modification is carried out; if Y is entered,
AID will execute the transfer.

user area

This is the area in virtual memory which is occupied by the loaded program and
all its connected subsystems. It corresponds to the area represented by the
keyword %CLASS6 (or %CLASS6ABOVE and %CLASS6BELOW).