mach.h table for generating assembly added
This commit is contained in:
parent
e568d54af9
commit
60af526ac5
1 changed files with 61 additions and 6 deletions
|
@ -597,7 +597,7 @@ example NS 16032, the table writer has to
|
||||||
supply his own set of routines.
|
supply his own set of routines.
|
||||||
.FE
|
.FE
|
||||||
T}
|
T}
|
||||||
WORD_REVERSED#:#T{
|
WORDS_REVERSED#:#T{
|
||||||
Must be defined if you want the word order reversed.
|
Must be defined if you want the word order reversed.
|
||||||
By default the least significant word is outputted first.
|
By default the least significant word is outputted first.
|
||||||
T}
|
T}
|
||||||
|
@ -648,10 +648,65 @@ locals
|
||||||
Generating assembly code
|
Generating assembly code
|
||||||
.PP
|
.PP
|
||||||
When the code expander generator is used for generating assembly instead of
|
When the code expander generator is used for generating assembly instead of
|
||||||
object code (see section 5), not all the above mentioned constants
|
object code (see section 5), additional print formats have to be defined
|
||||||
and functions have to
|
in ``mach.h''. The following table lists these formats.
|
||||||
be defined. In this
|
.TS
|
||||||
case, the constants ``BYTES_REVERSED'' and ``WORDS_\%REVERSED'' are not used.
|
tab(#);
|
||||||
|
l c lw(10c).
|
||||||
|
BYTE_FMT#:#T{
|
||||||
|
Print format to allocate and initialize one byte. The format must
|
||||||
|
contain %ld.
|
||||||
|
T}
|
||||||
|
WORD_FMT#:#T{
|
||||||
|
Print format to allocate and initialize one word. The format must
|
||||||
|
contain %ld.
|
||||||
|
T}
|
||||||
|
LONG_FMT#:#T{
|
||||||
|
Print format to allocate and initialize one long. The format must
|
||||||
|
contain %ld.
|
||||||
|
T}
|
||||||
|
BSS_FMT#:#T{
|
||||||
|
Print format to allocate space in the bss segment. The format must
|
||||||
|
contain %ld (number of bytes).
|
||||||
|
T}
|
||||||
|
|
||||||
|
SEGTXT_FMT#:#T{
|
||||||
|
Print format to switch to the text segment.
|
||||||
|
T}
|
||||||
|
SEGDAT_FMT#:#T{
|
||||||
|
Print format to switch to the data segment.
|
||||||
|
T}
|
||||||
|
SEGBSS_FMT#:#T{
|
||||||
|
Print format to switch to the bss segment.
|
||||||
|
T}
|
||||||
|
|
||||||
|
SYMBOL_DEF_FMT#:#T{
|
||||||
|
Print format to define a label. The format must contain %s.
|
||||||
|
T}
|
||||||
|
GLOBAL_FMT#:#T{
|
||||||
|
Print format to declare a global name. The format must contain %s.
|
||||||
|
T}
|
||||||
|
LOCAL_FMT#:#T{
|
||||||
|
Print format to declare a local name. The format must contain %s.
|
||||||
|
T}
|
||||||
|
|
||||||
|
RELOC1_FMT#:#T{
|
||||||
|
Print format to initialize a byte with an address expression. The format must
|
||||||
|
contain %s (name) and %ld (offset).
|
||||||
|
T}
|
||||||
|
RELOC2_FMT#:#T{
|
||||||
|
Print format to initialize a word with an address expression. The format must
|
||||||
|
contain %s (name) and %ld (offset).
|
||||||
|
T}
|
||||||
|
RELOC4_FMT#:#T{
|
||||||
|
Print format to initialize a long with an address expression. The format must
|
||||||
|
contain %s (name) and %ld (offset).
|
||||||
|
T}
|
||||||
|
|
||||||
|
ALIGN_FMT#:#T{
|
||||||
|
Print format to align a segment.
|
||||||
|
T}
|
||||||
|
.TE
|
||||||
.NH 1
|
.NH 1
|
||||||
Description of the as_table
|
Description of the as_table
|
||||||
.PP
|
.PP
|
||||||
|
@ -1240,7 +1295,7 @@ Phase two
|
||||||
The next phase is to generate a \fBce\fR that produces relocatable object
|
The next phase is to generate a \fBce\fR that produces relocatable object
|
||||||
code.
|
code.
|
||||||
.IP \0\01:
|
.IP \0\01:
|
||||||
Remove the ``ce'' and ``ceg'' directories.
|
Remove the ``ce'', ``ceg'', and ``back'' directories.
|
||||||
.IP \0\02:
|
.IP \0\02:
|
||||||
Write the ``as_table'', ``as.h'', and ``as.c'' files.
|
Write the ``as_table'', ``as.h'', and ``as.c'' files.
|
||||||
.IP \0\03:
|
.IP \0\03:
|
||||||
|
|
Loading…
Reference in a new issue