pTAL Reference Manual (G06.24+, H06.09+, J06.03+)

Table 32 Valid Address Expressions (continued)
ExamplesResult TypeTemplate
INT(32) i32;
i32 := @bp - @b;
EXT64ADDR - EXT64ADDR FIXED(0) INT
.EXT64 b bp;
FIXED i64;
i64 := @pb - b;
BADDR b1, b2;
INT i;
INTatype relational atype
IF b1 '<' b2 THEN ...;
i := b1 '<' b2;
relational must be an unsigned relational
operation ('<', '=', '>', '<=', '<>', '>=') or signed
equal or not equal (=, <>).
EXTADDR ea1, ea2;
EXT32ADDR e32a1, e32a2;
INTExtended address type
relational extended address
type
EXT64ADDR e64a1, e64a2;
INT i;
IF ea1 < ea2 THEN ...;
i := b1 < b2;
IF e32a1 < ea32a2 THEN ...;
i := e32a1 < ea32a2;
IF ea64a1 < ea64a2 THEN ...;
i := e64a1 < ea64a2;
IF ea1 < e32a1 THEN ...;
IF ea1 < e32a1 THEN ...;
IF ea1 < e64a1 THEN ...;
IF e64a1 < ea1 THEN ...;
IF e64a1 < e32a1 THEN ...;
IF e32a1 < e64a1 THEN ...;
If the sizes of the extended addresses differ, the
smaller address is implicitly sign-extended to the size
of the larger address before the comparison is
performed.
BADDR b1;
INT i;
INTatype relational
CONSTANT
IF b1 '>' 100 THEN ...;
i := b1 '<>' nil;
relational must be an unsigned relational
operation ('<', '=', '>', '<=', '<>', '>=') or signed
equal or not equal (=, <>).
EXTADDR ea;
EXT32ADDR e32a;
INTExtended address relational
CONSTANT
EXT64ADDR e64a;
INT i;
IF ea < 0D THEN ...;
IF e32a >= 0D THEN ...
IF e64a <> 0F THEN ...
i := b1 < 65535D;
i := e32a > 100D;
i := e64a = 10F;
relational must be a signed relational operation
(<, =, >, <=, <>, >=).
CONSTANT relational extended address INT.
EXTADDR ea;
EXT32ADDR e32a;
EXT64ADDR e64a;
INT I;
IF 0D > ea THEN ...
80 Expressions