• Keine Ergebnisse gefunden

GENERAL Identity:

PROCESS ORIENTED LANGUAGE

PROCESS ORIENTED LANGUAGE

Process Oriented languages.

FLOW MATIC COBOL UNITRAN.

• 12 Description

These systems have been announced at various times for one or more parts of the UNIVAC 88 80/90 series. They have now been withdrawn.

©

1963 by Auerbach Corporation and BNA Incorporated

4/63

II

E D P

MACHINE ORI ENTED LANGUAGE: X-6

§ 171.

.1 GENERAL

. 11 Identity: X-6.

.12 Origin: UNIVAC Remington Rand.

Reference: . UNIVAC Remington Rand.

.13

.14 Description:

.15

.2

. 21

X-6 is a basic drum-storage oriented assembly system, which uses three-character mnemonic operation codes and permits the use of symbolic notation to identify the locations of data and instruc-tions. The ratio of source statements is one to one.

This system uses 10 card types to define a source program. The majority of these types deal with storage reservation. Pseudo-operations included in the language are used for optimizing instruction and data placement where the assembler is not designed to handle automatically; e. g., short-length multiplication.

Library routines which have no parameters are inserted by reserving the locations that they require, then adding the preas sembled routines to the object programs. Table and Input-Output area reservation is provided.

Library routines with parameters can be inserted by means of a mechanism for incorporating symbolic subroutines with substitution of actual symbols for variables used in the general routine.

Publication Date: . . 1959.

LANGUAGE FORMAT Diagram (see below)

.22 Legend Machine Oriented Language X-6

· 1 of 10 which define the the kind of processing that the card will receive .

· designates a part of a pro-gram containing less than

I, 000 statements.

· indicates sequence of cards in a subsection.

normally not used. This space can be used to in-dicate the sequence of cards inserted between cards with adjacent card numbers. This, however, requires changing X-6 coding. If columns 9-10 are used without changing the coding, an error re-sults.

· may be used to specify a label for the line or left blank.

· specifies the configuration of the sign digit or whether the c and m field should be interpreted as zone or numeric data.

Used to specify types of constants to be generated or number of the index register applicable to the line, if it is an instruction.

specifies a 3-character mnemonic operation code or is left blank if contants are being written.

no function.

operand address.

next instruction address.

program constant.

may contain any informatiolll as this field does not affect the assembly . no automatic procedures.

1 2 3 5 68 9 10 11 15 16 17 19 20 2125 2630 31 80 Card Operation Card Blank a Control Instruction Blank m c Comment

Type No. No. Code

©

1963 by Auerbach Corporation and BNA Incorporated Revised 4/63

nl:171.240

§171

.24 Special Conventions . 241 Compound addresses: .

.311 Maximum number of labels Procedures:

.312 Common label forma-tion rule:

.313 Reserved labels For A register:

For R register:

For X register:

For next instruction or location For interlaces . 315 Designators

Constant:

. . . .

Working storage:

.316 Synonyms permitted:

.32 Universal Labels .321 Labels for procedures

Existence: . . . .323 Labels for constants

Existence: . . . Labels for variables:

4/63 Revised

.300 Universal & 50 Local per part (operation).

. 300 pooled (K label).

none.

reserved labels are avail-able for 70 input-output areas.

none.

300 (W label).

30, each with its own base and increment.

70, interlaces can be used.

no. elsewhere in program.

· any.

· N, F, 0 or P.

· any.

. 5.

· same as procedures.

· not mandatory unless pool-ed.

First character: .W.

Last 3 characters: . MO -299.

Number of char- 0000 through 9999.

acters: . . . . . .5 . . 329 Labels for Input-Output Areas

Existence: . yes.

Formation rule

First character: . . H, R, 0, P, T, Z . Second character: . . 0 - 9. .

Third character: . U, p, D, N, Z.

Fourth and fifth

characters: 00 - 99.

.33 Local Labels

.331 Region: . . . local to 1 part (operation) .332 Labels for procedures

Existence:

of a program.

· mandatory if referred to in this operation.

.333 Labels for library routines

Existence: . same as procedures . Labels for constants

Existence: . . . . . . same as procedures.

Labels for files:. . . . none . Labels for records: . . none . Labels for variables: . none . Labels for library parameters

Existence: . . . . . optional.

.411 Maximum size constants Integer same as alphabetic.

§ 171

.412 Maximum size literals Integer

Decimal: . . .10 digits.

Octal: · none.

Hexadecimal: . .10 digits.

Instructions: . · 10 digits.

Fixed numeric: · none.

Floating numeric: · none.

Alphabetic: · 10 digits for Zone and 10 digits for Underpunch.

Alphameric: · same as alphabetic.

.42 Working Areas .43 Input-Output Areas

.431 Data layout: · layout within each band is peculiar to each peripheral .432

Direct Operation Codes Mnemonic

.3 Alpha Characters.

· none . . 52 Macro-Codes:. · none.

. 53 Interludes: . . · none.

.54 Translator Control .541 Method of control

Allocation counter: . 6 pseudo operations.

Label adjustment: . card type 3.

Annotation:. . . . . card types I, 7, 8, 9, . 542 Allocation counter

Set to absolute: . pseudo operation.

Set to label: . . . pseudo operation.

Step forward:. . pseudo operation.

Step backward: . pseudo operation.

Reserve area: . . . . card types 3, 4, 5 . . 543 Label adjustment:

Set labels equal:.. . none.

Comment phrase: · card field.

Title phrase:

..

· card type 1.

SPECIAL ROUTINES

AVAILABLE: · none.

LmRARY FACILITIES

Identi~: .

. .. . .

· none.

Kinds of Libraries

Fixed master: . · no . Expandable master: . · yes.

Private: · generally .

Stora~e Form:., · cards .

Varieties of Contents:. · depends on installation . Mechanism

Insertion of new item: . · manual file in card library . Language of new item: . · X-6.

Method of call:

. ..

· cards inserted by pro -grammer .

Insertion in ProS!am

Open routines exist:. . . yes . Closed routines exist:. . yes . Open -closed is optional: no . Closed routines appear

once: . . . yes.

MACRO AND PSEUDO TABLES

Macros: none .

Pseudos

-Code Description

ADA: · Modify succeeding a and

address relative to a symbolic address.

©

1963 by Auerbach Corporation and BNA Incorporaled Revised 4/63

• UN IV AC 55 80/90 Model I Machine Oriented Language 5-4

MACHINE ORIENTED LANGUAGE: 5-4

§ 172.

UNIVAC Division.

S-4 Assembly, General

The S-4 assembler is the standard assembler for UNIVAC Solid-State systems, Models I and II. S-4 is machine oriented, its decimal operands being arranged in lO-digit fixed point words exactly as In the normal machine instruction.

S-4 is an assembly language which produces one ma-chine instruction for each symbolic instruction.

However, S-4 contains a set of 20 controls which a:re independent of the machine language and provide var-ious facilities at assembly time. An S-4 program~

mer can use these controls to relieve himself of the machine language coding problems. These facilities are of two types:

• Allocation Controls, which, while comprehensive, do not provide the same result as hand coding.

• Compatibility Controls.

Allocation Control

Model I systems use magnetic drums as basic stor-age and have a minimum of two levels of storstor-age.

Model II systems also have core stores, while a tape system uses the tape buffer. The efficiency of any program depends more on the allocation of operands to storage than on the actual instructions. A well-allocated add instruction (one optimized as to the number of word cycles that must elapse before the operand is available) takes 85 microseconds. At random drum positiOning, this instruction takes 20 times as long, and in the worst case, it would take 80 times as long.

8-4 provides three levels of allocation control to the programmer: provisional, general, and by excep-tion. At the first level, each label contains a character position which defines the label as being provisionally allocated to either normal or fast drum storage, or to core storage. In any part of a program, these provisional labels can be over-ridden (the second level of control). Thus, alloca-tions coded for the normal drum access are forced into fast access, but the reverse is not true. The

• 14 Description (Contd. )

third control level is provided fqr situations in which the provisionally selected allocation cannot be made optimal. When this condition exists, the programmer has a choice of using a higher level store to attempt to obtain optimal allocation before accepting a non-optimal allocation.

Compatibility Controls

S-4 provides for compatibility with both actual pro-grams and symbolic propro-grams.

The compatibility with actual programs comes from the design of the Availability Table. This table is a storage map which indicates to the assembler which positions are available for allocation. At any time in the program, this allocation can be changed by read-ing in a new availability table. The change can be a complete or partial replacement of the availability table or the addition of reservations. Similarly, the whole table can be punched out as needed to allow for

similar subsequent uses, permitting:

(1) Existing programs to' have their own availability tables to be read in, and therefore reserved, prior to an assembly.

(2) Overlays to be created at any position in the assembly .

Symbolically, programs can be merged into assembly programs either by physically adding cards or by calling the programs to be added from a tape unit . The 8-4 language itself is a simple representation

Of

the standard machine instructions. Thus, ADD is the mnemonic used for 70, the addition machine code.

Similar to the machine instruction,. the S-4 represen-tation must have a location, an operation code, an op-erand address, and a next instruction address. How-ever, the programmer's job in keeping track of the addresses is eased by:

(1) Using blanks if the address is obvious and will not be referred to again.

(2) Using "Local Reference Points" (up to 20 can be operational at a given time) to denote pOints which are only of local importance; that is, normally within 20 to 50 lines of coding.

(3) Using Temporary Tags for all those labels which are only used within a segment of the program.

(4) Using specialized labels for each word of the in-put-output areas defined in the program, and for the registers.

(5) Using specialized tags for tables (up to 30 of these can be defined at anyone point).

©

1963 by Auerbach Corporation and BNA Incorporated 4/63

771:172.150

§ 172.

.15 Publication Date:. 1962.

. 2 LANGUAGE FORMAT

LINE SYMBOLIC OPERATION SYMBOLIC SYMBOLIC

L IR

LINE NO: line number optionally allo-cated by programmer, al-ways reallocated by the translator.

SYMBOLIC a: . . • . • location of the instruction in the store. May be in abso-lute or symbolic form.

OPERATION:. . • • . . defines the type of constant which follows; or is the in-struction in symbolic form.

IR: . . . . • . Index Register Modification, if it is to be used.

SYMBOLIC m: the address of an operand, in symbolic or absolute form.

SYMBOLIC c: • . . • . the address of the next in-struction, in symbolic or absolute form.

SYMBOLIC m & c

combined: • 10 digits, to be treated as ali absolute constant.

WORD TIME: 3 digit number which directs the compiler as to time to be allowed to the instruc-tion.

. 23 Corrections

Insertions, deletions, and corrections can be made by altering the original ,coding. Special pseudo op-erations are available in the language which make it unnecessary to do more than nominate what parts of a previous assembly should be omitted and require the programmer to provide only full details of any additions (includi~ changes).

: 24 Special Conventions

4/63

A number of conventions are used to simplify pro-gramming or assembly, which add considerably to the writing speed, ease of insertions,

-etC.,

in addi-tion to readability.

BLANKS are used in the location, the operand and/or the next instruction addresses within each instruction when normal sequencing is desired.

Constants can be given in some simple form, with an additional instruction (a designator) as to what pan of the given constant is wanted. These instructions in-clude:

For I/O codes: Unprinted, printed, or double printed; numeric or zone portions.