CHAPTER 5 ADVANCED LOCATOR <alc88>
S5U1C88000C MANUAL II
EPSON
45
WORKBENCH/DEV TOOLS/OLD ASSEMBLER
CHAPTER
5 A
DVANCED
L
OCATOR
<alc88>
5.1 Functions of alc88
Advanced Locator <alc88> relocates the relocatable object created by linker <lk88> to the absolute
addresses of memory to generate an executable load image file. In addition, alc88 has a branching
optimization function. This function is effective for memory models with 64K bytes or more of code area
(Compact-Data or Large), in which case extended instructions for bank specification (e.g., LD NB,xxxx)
are unconditionally added immediately before the call instruction (CARL) by the assembler. However,
alc88 deletes such extended instructions whenever found in intra-bank calls.
This function enables alc88 to generate more compact executable object files than those generated by
locator <lc88> that has been conventionally used in the Main tool chain.
Moreover, the locator description files in DELFEE language used to provide lc88 with relocation infor-
mation are not required for alc88. Instead, alc88 uses the advanced locator definition file (.inf) that can be
easily generated by the section editor functions of wb88 without any specific concern about details.
Therefore, you have the option of using lc88 when using conventional resources (including locator
definition files) to develop applications or alc88 when developing new applications, or not specifically
requiring existing locator definition files. You can select which tool to use in wb88.
Note: Branching optimization is only useful for the CARL instruction (in the format below) that causes the
CPU to branch off to locations within the same bank (32K-byte area). The extended instructions
added before other branch instructions (e.g., jump instruction) are not deleted even if unnecessary.
Also note that for extended or branch instructions where the address for an object is already fixed
before being entered, the extended instructions are not deleted even if the target of optimization.
LD
NB,xxxx
CARL yyyy
When yyyy exists in the same bank as the CARL instruction, the immediately preceding "LD
NB,xxxx" is deleted.
When yyyy exists in a bank different than that of the CARL instruction, the immediately preceding
"LD NB,xxxx" is not deleted.