Assembly Language Fundamentals 75
where {size} is the number of words to be set aside (it may be a positive numeric expression).
The instruction acts very much like a BSS. And, like a BSS, it should be placed at a location in
your code where it is not likely to be inadvertently executed.
Most modules do not need assignment of an extra literal pool. However, one is needed where
there is a literal used beyond 512 words from the first available space in the literal pool at the
end of the module. To alleviate the problem, a literal pool must be created with the LIT
statement within 512 words of the instruction.
A common cause of this kind of problem is a large BSS assignment between the instruction and
the end of the module. Sometimes moving the BSS to some other location is a solution to the
problem.
Expressions
Literals, some pseudO-instructions (particularly EQU), and a number of machine instructions,
all permit "expressions" to be used as an operand. These expressions take one of two
forms - "absolute" or "relocatable". The type of an expression depends upon the type of the
individual elements in it.
An element is of the type "absolute" if it is any of the following -
• A decimal integer (like 0, 1, 2, 1 024).
• An octal integer (like lOB, 40B, 100000B).
• A string (enclosed by quote marks) (like "ERROR")
• An ASCII character, preceded by an apostrophe (like' A).
• A label associated with an EQU or SET pseudO-instruction whose expression is also
evaluative as type absolute (like EQU 40B).
An element is of the type "relocatable" if it is any of the following -
• A label not associated with an EQU or SET pseudo-instruction (Le., it is an "address").
• A literal (like =0).
• An asterisk, symbolizing "current address".
• A label associated with an EQU or SET pseudo-instruction whose expression is also
evaluative as type relo,catable (like EQU
*).
Need help?
Do you have a question about the 9835A and is the answer not in the manual?
Questions and answers