Panasonic PanaXSeries MN1030 Series User Manual page 70

Panasonic microcomputer user's manual
Table of Contents

Advertisement

Chapter 4 Optimization
Example: subroutine call converted to a relative branch
This section gives an example of a CALLS LABEL instruction with a target address within the range of
a relative jump--that is, between -32,768 and +32,767 from the current program counter.
The source list is as follows.
_TEXT
sub_func
addr_set
func_end
The final list file after assembly is shown next. Since the CALLS LABEL instruction in line four con-
tains a target address that may be expressed with a 2-byte relative branch, the assembler replaces it with
the CALLS LABEL variant with a 2-byte address field. Note that the mnemonics and object code are
different.
***
Loc
Object
40000000
40000000
FAFF8000
40000080
40000080
F0FC
***
Symbol
Table
40000000
40000000
40000080
58 Usage Example
opt
section
calls
org
rts
end
opt4.lst Page 1
PanaX series Series MN1030 Cross Assembler
Line
Source
1
2
_TEXT
3
sub_func
@4
addr_set
5
6
7
func_end
8
9
opt4.lst Page 2
***
T
sub_func
T
addr_set
T
func_end
on
CODE, PUBLIC,1
func_end
addr_set+128
***
opt
on
section CODE, PUBLIC, 1
Calls
func_end
org
addr_set+128
rts
end

Advertisement

Table of Contents
loading

Table of Contents