Chapter 4 Optimization
Usage Example 55
Example: branch destination of conditional branch instruction within range
This example shows a branch in the permitted range (-128 to 127 of PC) of a BCC LABEL conditional
branch instruction.
The source list is as follows.
The final list file after assembly is shown next. The start address during linking is assumed to be
40000000 (hex.). The @ mark on line number 6 indicates that the instruction was the object of optimi-
zation. Since the target address is within the range of a relative jump, the assembler generates a BCC
LABEL instruction.
opt on
_TEXT section CODE, PUBLIC,1
sub_func mov 0, D2
cmp D1, D2
addr_set bcc func_end
org addr_set+127
func_end rts
end
opt1.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 8A00 4 mov 0, D2
40000002 A6 5 cmp D1, D2
40000003 C67F @6 addr_set bcc func_end
7
8 org addr_set+127
40000082 9 func_end
40000082 F0FC 10 rts
11 end
opt1.lst Page 2
*** Symbol Table ***
40000000 T sub_func
40000003 T addr_set
40000082 T func_end