Epson S5U1C63000A Computer Accessories User Manual


 
CHAPTER 5: LINKER
98 EPSON S5U1C63000A MANUAL
(S1C63 FAMILY ASSEMBLER PACKAGE)
5.8 Absolute List File
The absolute list file is an assembly source file that carries the absolute addresses and object codes added
to the first half of each line. It is delivered only when the -l option is specified. Its file format is a text file,
and the file name is <file name>.als. (The <file name> is the same as that of the output object file.) While
a relocatable list file can be made for each assembly source file, the absolute list file is made as a single
file integrating all the linked objects and their according sources.
Sample absolute list file
Linker 63 ver x.xx Absolute list file TEST.ALS Mon jan 15 12:40:41 2001
1: ; sub.s
2: ; AS63 test program (subroutine)
3:
4: .global RAM_BLK1
5:
6: ;***** RAM block 1 initialize *****
7:
8: .global INIT_RAM_BLK1
9: INIT_RAM_BLK1:
10: 0000 0800 ldb %ext,RAM_BLK1@h
11: 0001 0a04 ldb %xl,RAM_BLK1@l ;set RAM_BLK1 address to x
12: 0002 1e90 ld [%x]+,0x0
: : : :
55: .org 0x110
56: BOOT:
57: 0110 094b ldb %ba,SP1_INIT_ADDR
58: 0111 1fc4 ldb %sp1,%ba ; set SP1
59: 0112 091f ldb %ba,SP2_INIT_ADDR
60: 0113 1fc6 ldb %sp2,%ba ; set SP2
61: 0114 08fe (+) ldb ext,fe
62: 0115 02ea calr INIT_RAM_BLK1 ; initialize RAM block 1
63: LOOP:
64: 0116 08fe (+) ldb ext,fe
65: 0117 02ef calr INC_RAM_BLK1 ; increment RAM block 1
66: 0118 00fd jr LOOP ; infinity loop
: : : :
Contents of absolute list file
The format of each line of the absolute list file is as follows:
Line No. Absolute address Code Source statement
Line No. Indicates the line number from the top of the file.
Address Indicates the absolute address after the instruction is allocated.
Code Indicates the object code.
Source The contents of the assembly source file are delivered.
Results of branch optimization (extension code insertion/deletion/correction)
As the result of branch optimization, extension codes (ldb %ext, imm8) may be coded without accor-
dance to the source part. To show the result of such code optimizations clearly, the following descrip-
tion will be made on an absolute list file.
When an extension code is inserted:
"(+)" is placed to the right of the code part. There is no original source for the code but the disas-
sembled "ldb %exe, imm8" is delivered at the source part.
When an extension code is deleted:
"(-)" is placed to the left of the original source part. The original statement appears at the source
part in the list file but no code is delivered.
When the operand of an extension code is corrected:
"(*)" is placed to the left of the source statement.
Instructions preprocessed in the assembler
The instructions expanded in the assembler (macros and include sources) are listed with a "+".