Next: Local symbols, Previous: Expressions, Up: MIXAL
Besides expressions, as described above (see Expressions), the MIXAL
assembler is able to handle the so called w-expressions as the
operands of the directives ORIG
, EQU
, CON
and
END
(see MIXAL directives). The general form of a
w-expression is the following:
WEXP = EXP[(EXP)][,WEXP]
where EXP
stands for an expression and square brackets denote
optional items. Thus, a w-expression is made by an expression, followed
by an optional expression between parenthesis, followed by any number
of similar constructs separated by commas. Sample w-expressions are:
2000 235(3) S1+3(S2),3000 S1,S2(3:5),23
W-expressions are evaluated from left to right as follows:
As a second example, in the w-expression
1(1:2),66(4:5)
we first take two bytes from 1 (00 and 01) and store them as bytes 1 and 2 of the result (obtaining `+ 00 01 00 00 00') and, afterwards, take two bytes from 66 (01 and 02) and store them as bytes 4 and 5 of the result, obtaining `+ 00 01 00 01 02' (262210). The process is repeated for each new comma-separated example. For instance:
1(1:1),2(2:2),3(3:3),4(4:4) = 01 02 03 04 00
As stated before, w-expressions can only appear as the operands of MIXAL
directives taking a constant value (ORIG
, EQU
, CON
and END
). Future references are not allowed within
w-expressions (i.e., all symbols appearing in a w-expression must be
defined before it is used).