CHAPTER 5: LINKER

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 accordance to the source part. To show the result of such code optimizations clearly, the following description 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 disassembled "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 "+".

98

EPSON

S5U1C63000A MANUAL

 

 

(S1C63 FAMILY ASSEMBLER PACKAGE)