TAL Reference Manual

Introduction
TAL Reference Manual526371-001
1-2
Major Features
Subprocedures—A procedure can contain subprocedures, callable only from within
the same procedure. When a subprocedure calls another subprocedure, the
callers environment remains in place. The operating system saves the location in
the caller to which control is to return when the called subprocedure terminates.
Private data area—Each activation of a procedure or subprocedure has its own
data area. Upon termination, each activation relinquishes its private data area,
thereby keeping the amount of memory used by a program to a minimum.
Recursion—Because each activation of a procedure or subprocedure has its own
data area, a procedure or subprocedure can call itself or can call another
procedure that in turn calls the original procedure.
Parameters—A procedure or subprocedure can have optional or required
parameters. The same procedure or subprocedure can process different sets of
variables sent by different calls to it.
Data types—You can declare and reference the following types of data:
Data sets—You can declare and use sets of related variables, such as arrays and
structures (records).
Pointers—You can declare pointers (variables that can contain byte addresses or
word addresses) and use them to access locations throughout memory. You can
store addresses in pointers when you declare them or later in your program.
Data operations—You can copy a contiguous group of words or bytes and
compare one group with another. You can scan a series of bytes for the first byte
that matches (or fails to match) a given character.
Bit operations—You can perform bit deposits, bit extractions, and bit shifts.
Standard functions—You can use built-in functions, for example, to convert data
types and addresses, test for an ASCII character, or determine the length, offset,
type, or number of occurrences of a variable.
Compiler directives—You can use directives to control a compilation. You can, for
example, check the syntax in your source code or control the content of compiler
listings.
Data Type Description
String 8-bit integer byte
INT, INT(16) 16-bit integer word
INT(32) 32-bit integer doubleword
FIXED, INT(64) 64-bit fixed-point quadrupleword
REAL, REAL(32)
32-bit floating-point doubleword
REAL(64) 64-bit floating-point quadrupleword
UNSIGNED(n) n-bit field, where 1 <= n <= 31