APPENDIX A ASSEMBLER (Sub tool chain)
S5U1C88000C MANUAL II
EPSON
223
WORKBENCH/DEV TOOLS/OLD ASSEMBLER
<Allocation address and relocation of section>
As indicated in the earlier example, the -p flag determines the physical start address of the section
defined immediately before operations.
Let's say, for example, the following settings are made for a certain section.
-p 0x10000
The start address of this section will physically be 10000H. The CODE section will be specified at the
head of bank 2 and the DATA section will be specified at the head of page 1.
The following allocation (reallocation of address information) will be performed for a symbol if a symbol
is defined to be positioned from the head of this section to the 1234H offset and that symbol is used to
reference that address.
(1) When handled as data memory (symbol name will be indicated as "SYMBOL".)
Operand
Relocate value
#SYMBOL
→
#1234H
[SYMBOL]
→
[1234H]
#POD SYMBOL
→
01H
#LOD SYMBOL
→
1234H
#HIGH SYMBOL
→
12H
#LOW SYMBOL
→
34H
[BR:LOW SYMBOL]
→
[BR:34H]
(2) When handled as program memory (symbol name will be indicated as "LABEL".)
Operand
Relocate value
#BOC LABEL
→
02H
#LOC LABEL
→
9234H
A relative valued in accordance with the address that allocated by the branch instruction will be
calculated and set for PC relative branch instructions like "JRL LABEL".
The section start address, in the above example, was specified at the head of the bank or page, however,
specifications can be made for it to start in the middle of a bank or page, as indicated below.
-p 0x15000
In this case the start address will physically be 15000H and have a 5000H offset from the head of the bank
or page. The link88 relocates each symbol based on the physical address, therefore, such offsets will also
be properly processed.
All symbol information after reallocation will be recorded in the absolute object file. A list of these
symbols can be created using the rel88 symbol information generating utility. Refer to Section A.2.6.1,
"Creating symbol information (rel88)" for more information on rel88 operations.
A.2.4.3 Module allocation information
As indicated in the example of section definition mentioned earlier, section definitions and command
lines that specify files can be handed over to the link88 through the input redirect function.
The number of modules are limited and the link is simple, as indicated in the example, it will be possible
to create a file similar to that indicated in the example and directly input into the link88.
There will be need to be conscious about the memory efficiency when increasing the number of modules.
One CODE section is limited to 32K bytes and the DATA section is limited to 64K bytes. Thus, it will be
necessary to allocate each module so that it does not exceed the limit. It will be necessary to give consid-
eration to the combination of modules in each section upon allocation. Otherwise, there will be more
unused memory area and thus, require unnecessary memory extension.