1 - A few minor syntactic changes.

2 - Altered the description of strings as initializers. (sequence of U1's).
This commit is contained in:
em 1984-09-25 11:06:29 +00:00
parent 6010f7b584
commit abb1fce8ff

View file

@ -133,9 +133,9 @@ can be followed by a letter I, U or F.
This indicator This indicator
specifies the type of the initializer: Integer, Unsigned or Float. specifies the type of the initializer: Integer, Unsigned or Float.
If no indicator is present I is assumed. If no indicator is present I is assumed.
The size of the object is the wordsize unless The size of the initializer is the wordsize unless
the indicator is followed by an integer specifying the the indicator is followed by an integer specifying the
object's size. initializer's size.
This integer is governed by the same restrictions as for This integer is governed by the same restrictions as for
transfer of objects to/from memory. transfer of objects to/from memory.
As in instruction arguments, initializers include expressions of the form: As in instruction arguments, initializers include expressions of the form:
@ -145,8 +145,9 @@ The 'IUF' indicators cannot be used in the offsets.
.P .P
Data labels are referred to by their name. Data labels are referred to by their name.
.P .P
Strings are surrounded by double quotes ("). Strings are surrounded by double quotes (").
Semecolon's in string do not indicate the start of comment. Semicolon's in string do not indicate the start of comment.
In the ASCII representation the escape character \e (backslash) In the ASCII representation the escape character \e (backslash)
alters the meaning of subsequent character(s). alters the meaning of subsequent character(s).
This feature allows inclusion of zeroes, graphic characters and This feature allows inclusion of zeroes, graphic characters and
@ -175,7 +176,6 @@ the backslash is ignored.
Example: CON "hello\e012\e0". Example: CON "hello\e012\e0".
Each string element initializes a single byte. Each string element initializes a single byte.
The ASCII character set is used to map characters onto values. The ASCII character set is used to map characters onto values.
Strings are padded with zeroes up to a multiple of the wordsize.
.P .P
Instruction labels are referred to as *1, *2, etc. in both branch Instruction labels are referred to as *1, *2, etc. in both branch
instructions and as initializers. instructions and as initializers.
@ -209,6 +209,10 @@ l l l.
.S4 Storage declaration .S4 Storage declaration
Initialized global data is allocated by the pseudoinstruction CON, Initialized global data is allocated by the pseudoinstruction CON,
which needs at least one argument. which needs at least one argument.
Each argument is used to allocate and initialize a number of
consequtive bytes in data memory.
The number of bytes to be allocated and the alignment depend on the type
of the argument.
For each argument, an integral number of words, For each argument, an integral number of words,
determined by the argument type, is allocated and initialized. determined by the argument type, is allocated and initialized.
.P .P
@ -245,8 +249,10 @@ It is not allowed to have more than one HOL block per procedure.
.P .P
The alignment restrictions are enforced by the The alignment restrictions are enforced by the
pseudoinstructions. pseudoinstructions.
All objects are aligned on a multiple of their size or the wordsize All initializers are aligned on a multiple of their size or the wordsize
whichever is smaller. whichever is smaller.
Strings form an exception, they are to be seen as a sequence of initializers
each for one byte, i.e. strings are not padded with zero bytes.
Switching to another type of fragment or placing a label forces Switching to another type of fragment or placing a label forces
word-alignment. word-alignment.
There are three types of fragments in global data space: CON, ROM and There are three types of fragments in global data space: CON, ROM and