EasyManua.ls Logo

Panasonic PanaXSeries MN1030 Series - Page 70

Panasonic PanaXSeries MN1030 Series
340 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 4 Optimization
58 Usage Example
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.
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.
opt on
_TEXT section CODE, PUBLIC,1
sub_func
addr_set calls func_end
org addr_set+128
func_end rts
end
opt4.lst Page 1
*** PanaX series Series MN1030 Cross Assembler ***
Loc Object Line Source
1 opt on
2 _TEXT section CODE, PUBLIC, 1
40000000 3 sub_func
40000000 FAFF8000 @4 addr_set Calls func_end
5
6 org addr_set+128
40000080 7 func_end
40000080 F0FC 8 rts
9end
opt4.lst Page 2
*** Symbol Table ***
40000000 T sub_func
40000000 T addr_set
40000080 T func_end

Table of Contents

Related product manuals