Chapter 4 Optimization
50 Usage Example
Optimization processing of conditional branch instructions
The linker resolves address values for labels when linking multiple files. In the example below, the
linker will determine whether or not the label coded as an operand is within the allowable range of the
current instruction. If not in range, the linker will replace it with instructions for a wider branch range.
Take the BEQ instruction for example.
BEQ
LABEL
......
LABEL
The destination label of the BEQ instructions must be in the range -128 to +127. However, the
assembler cannot make that determination, so the following determinations are made during assembly
and linking.
Assembler processing
The assembler outputs information about instructions to be optimized to the linker.
Linker processing
1. The linker inputs information from the assembler.
2. The linker determines if the branch destinations of conditional branches are in range.
3. If determined to be in range, the linker generates the normal code.
4. If determined to be not in range, the linker will substitute code that can branch correctly.
The substitution for the above example would be as follows.
BNE
*+5
JMP
LABEL
......
LABEL
Содержание PanaXSeries MN1030 Series
Страница 1: ...MICROCOMPUTER MN1030 MN1030 Series Cross Assembler User s Manual Pub No 13110 120E ...
Страница 2: ......
Страница 13: ...1 Chapter 1 Getting Started ...
Страница 25: ...2 Chapter 2 Program Development Flow ...
Страница 32: ...Chapter 2 Program Development Flow 20 Programming with Assembler ...
Страница 33: ...3 Chapter 3 Introduction to Operation ...
Страница 54: ...Chapter 3 Introduction to Operation 42 Conditional Assembly and Linking ...
Страница 55: ...4 Chapter 4 Optimization ...
Страница 71: ...5 Chapter 5 Using Assembler ...
Страница 95: ...6 Chapter 6 Using Linker ...
Страница 128: ...Chapter 6 Using Linker 116 Instruction RAM Support ...
Страница 129: ...7 Chapter 7 Types of Source Statements ...
Страница 138: ...Chapter 7 Type of Source Statements 126 Blank Statements ...
Страница 139: ...8 Chapter 8 Writing Source Statements ...
Страница 157: ...9 Chapter 9 Writing Machine Language Instruction Statements and Directive Statements ...
Страница 192: ...Chapter 9 Writing Machine Language Instructions and Directive Statements 180 Writing Directive Statements ...
Страница 193: ...10 Chapter 10 Writing Assembler Control Statements ...
Страница 217: ...11 Chapter 11 Writing Macro Control Statements ...
Страница 236: ...Chapter 11 Writing Macro Control Statements 224 irpc ...
Страница 237: ...12 Chapter 12 List of Machine Language Instructions ...
Страница 261: ...13 Chapter 13 Error Messages ...
Страница 276: ...Chapter 13 Error Messages 264 Linker Errors ...
Страница 277: ...14 Chapter 14 Readinig List Files ...
Страница 285: ...15 Chapter 15 Using Library Manager ...
Страница 309: ...16 Chapter 16 Notes on Operating Environment ...
Страница 321: ...17 Chapter 17 Appendix ...
Страница 338: ... 4 Index ...