# Implied Lengths; Assembler Controlling Codes - RCA Spectra 70 Training Manual

System

A compound expression is an arithmetic combination
of at least two, but not more than three simple ex-
pressions.
The expressions may be compounded
with addition (+), subtraction (-), or multiplication
(*) •
*+50
ABLEeSTARTP
15*6+3
Compound expressions must not begin or end with an
arithmetic operator. Simple expressions within com-
pound ones must be separated with one and only one
operator.
The following are incorrect:
eROUT
ABLE BAKER
SIZE++ PRICE
An expression becomes absolute
if
it contains only
absolute symbols and/or self-defining values.
It
is
also absolute if it has one of the following forms:
Rl, R2
=
relocatable symbols
A
=
absolute symbol or self-defining value
Thus, the following are all absolute expressions:
X'3X',
168,
RI-R2E.603,
5*5+1,
RI-R2+37,
39*x'H4'+2
Relocatable expressions must conform to the rules
stated below:
1.
An expression must contain either one or three
relocatable symbols.
2.
If there is one relocatable symbol, it must not
be preceded by a subtraction (-) operator.
3.
If three relocatable symbols are present, one
and only one may be preceded by a subtraction
operator.
4.
Relocatable symbols may not be compounded
with the multiplication operator. Only absolute
expressions are legitimate operands in multi-
plication.
The following are examples of correct relocatable
expressions:
DOG,
DOGel03,
*910.
DOG+CA T e FIGHT,
ABLE+437*6
17
Illegal Expressions:
1.
OO(}l-CAT
2.
50*HOPE
3.
DOG+CAT+HOPE
4.
176 - DOG
5.
OOG - CAT - HOPE
IMPLIED LENGTHS
Contains two relocatable symbols
Multiplication of relocatable symbol
No subtraction operator
Single relocatable symbol preceded by
Two subtraction operators
The length of an operand may be implied by omitting
any reference to length in an Assembly statement.
NAME
OPERATION
OPERAND
MVC
MVC
ABLE (3) ,BAKER
Explicit
Length
ABLE, BAKER
Implied
Length
In
line two of the example above, the number of
bytes moved from location BAKER to ABLE is equal
to the number allocated when the name BAKER was
defined. If BAKER is the name of a 3 byte
NAME
OPERATION
OPERAND
BAKER
DS
CL3
storage area, the implied length is three.
An implied length that exceeds the value permitted
in an instruction is flagged, and the object length
field is set to zeros.
If a name is defined in a statement using an asterisk
or a self-defined-value, the implied length is one.
When a compound expression is used as
all
operand,
NAME OPERATION OPERAND
MVC
ABLE, A+B-C Implied Length
is Length of A
the implied length is the length assigned to the left-
most factor in the expression.
ASSEMBLER CONTROLLING CODES
The DS (Define Storage) code allocates and reserves
working storage and input/output areas.
The number of units of memory to be reserved, fol-
lowed by the letters C, H, or F (byte, halfword, or
full word), appears in the OPERAND field.