beautypg.com

8 absolute list file, Sample absolute list file, Contents of absolute list file – Epson S5U1C62000A User Manual

Page 110: Instructions preprocessed in the assembler

background image

98

EPSON

S5U1C62000A MANUAL

(S1C60/62 FAMILY ASSEMBLER PACKAGE)

CHAPTER 6: LINKER

6.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 .als. (The 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 62 ver x.xx Absolute list file "TEST.ALS" Sat May 30 07:53:14 1998

1:

; main.s

2:

; test program (main routine)

3:

;

4:
5:

;***** INITIAL SP ADDRESS DEFINITION *****

6:

#define

SP_INIT_ADDR 0x80

;SP init addr = 0x80

7:
8:

;***** MACRO DEFINITION

9:

#macro CL_AB

10:

ld

a,0

11:

ld

b,0

12:

#endm

13:
14:

;***** BOOT, LOOP *****

15:

.global

INIT_RAM_BLK1

; subroutine

16:

.global

INC_RAM_BLK1

; subroutine

17:
18:

.org

0x100

19:

BOOT:

20: 0100 e08

ld

a,SP_INIT_ADDR>>4

; set SP

21: 0101 fe0

ld

sph,a

22: 0102 e00

ld

a, SP_INIT_ADDR&0xf

23: 0103 ff0

ld

spl,a

24: 0104 e42 (+)

pset 0x2

25: 0105 400

call

INIT_RAM_BLK1

; initialize RAM block 1

26:

CL_AB

27: 0106 e00

+

ld

a,0

;

CL_AB

28: 0107 e10

+

ld

b,0

29:

LOOP:

30: 0108 e42 (+)

pset 0x2

31: 0109 406

call

INC_RAM_BLK1

; increment RAM block 1

32: 010a 008

jp

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 automatic pset insertion/deletion/correction

As the result of automatic pset insertion/deletion/correction, the pset instruction 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 "pset" is inserted:

"(+)" is placed to the right of the code part. There is no original source for the code but the disas-
sembled "pset " is delivered at the source part.

When "pset" 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 "pset" is corrected:

"(*)" is placed to the left of the source statement.

Instructions preprocessed in the assembler

The instructions expanded in the assembler (macros, include sources, JPM instruction and CALLM
instruction) are listed with a "+".