Chapter 3 Introduction to Operation
38 Conditional Assembly and Linking
3.5
Conditional Assembly and Linking
The Cross-Assembler provides many assembler directives. Assembler directives are not converted
directly to machine language, but are used to control how the assembler processes.
For example, during the development stage a programmer may want to include a special program only
for debugging. This program must be deleted when the product is complete. That can be accomplished
by editing the source file, but if that editing is spread throughout the program, mistakes will be easy to
make.
It is convenient to use assembler directives in such cases. The conditions for assembly are defined at
the start of the program, and programs to be assembled when the conditions are satisfied or not satisfied
are written in the source file.
Create source file
Using an editor, create the program program5.asm shown below.
The contents of program5.asm are as follows.
The operation of this program is meaningless. The program will be used instead to explain program
structure as it pertains to conditional assembly.The define DEBUG on the first line selects DEBUG as
a condition by defining the identifier DEBUG. In the assembly control block starting with #ifdef
DEBUG on line 13, the instructions between #ifdef to #else will be assembled if DEBUG has been
defined, and the instructions between #else to #endif will be assembled if DEBUG is undefined. In this
example DEBUG was defined on line 1, so the instructions in the defined block will be assembled.
This program also uses a macro control directive. Lines 4 to 8 are the macro definition. The macro's
name is dat_set, and it has two parameters (adr, dat).
#define
DEBUG
*
dat_set
macro
adr, dat
mov
adr, A0
mov
dat, D0
mov
D0, (A0)
endm
*
_CODE
section CODE, PUBLIC,2
main
DEBUG
#ifdef
dat_set
data1, 0x11
#else
#endif
dat_set
data1, 0x22
_DATA
section DATA, PUBLIC, 2
data1
dw
0
data2
dw
0
end
Содержание 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 ...