Data Generators - HP 9835A Programming Manual

35 series desktop computer assembly development rom
Table of Contents

Advertisement

Assembly Language Fundamentals 57
Then, at some appropriate spot in the object module (relative to the other instructions in the
module) there would be the following contiguous locations -
Save a
1 word
Save 4
4 words
Renras
some number of words equal to "the absolute symbol, Larry"l
Again
1 word
The locations at labels Save_a, Save _ 4, and Renras are merely reserved by the BSS pseudo-
instructions, and their contents are not initialized to any particular value.
It is possible to aCcidentally execute these locations when the routine is run if you're not
careful. Ordinarily, you should place these locations somewhere safely out of the potential
execution sequence, since they are used just for storage. Some applications, though, use
self-generating code, and a BSS is a way to set aside locations for it.
Data Generators
A "data generator" is very much like a BSS operation. The funcHon, as with the BSS, is to set
aside words of memory at a particular location in the object code. But in addition, the words are
to be initialized to some value. The initialization occurs at the same time the words are set aside
(Le., at assemble-time).
This is done using the DA T pseudo-instruction which has the form -
:::::F::rr'
{expression}
L
{expression}
L ... J J
An {expression} may be any absolute or relocatable expression. The various forms that an
expression may take are discussed in "Symbolic Operations" later in this chapter.
As an example, suppose you want the value 100 (a decimal integer) to be located at location
"X" in the object module. You can achieve this by identifying the location in the source code
(ultimately the object code) where you want the value to be, then placing this instruction at that
point -
1 Such symbols are discussed at length in the "Symbolic Operations" section later In this chapter.

Advertisement

Table of Contents
loading

Table of Contents