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
Summary of Contents for PanaXSeries MN1030 Series
Page 1: ...MICROCOMPUTER MN1030 MN1030 Series Cross Assembler User s Manual Pub No 13110 120E ...
Page 2: ......
Page 13: ...1 Chapter 1 Getting Started ...
Page 25: ...2 Chapter 2 Program Development Flow ...
Page 32: ...Chapter 2 Program Development Flow 20 Programming with Assembler ...
Page 33: ...3 Chapter 3 Introduction to Operation ...
Page 54: ...Chapter 3 Introduction to Operation 42 Conditional Assembly and Linking ...
Page 55: ...4 Chapter 4 Optimization ...
Page 71: ...5 Chapter 5 Using Assembler ...
Page 95: ...6 Chapter 6 Using Linker ...
Page 128: ...Chapter 6 Using Linker 116 Instruction RAM Support ...
Page 129: ...7 Chapter 7 Types of Source Statements ...
Page 138: ...Chapter 7 Type of Source Statements 126 Blank Statements ...
Page 139: ...8 Chapter 8 Writing Source Statements ...
Page 157: ...9 Chapter 9 Writing Machine Language Instruction Statements and Directive Statements ...
Page 193: ...10 Chapter 10 Writing Assembler Control Statements ...
Page 217: ...11 Chapter 11 Writing Macro Control Statements ...
Page 236: ...Chapter 11 Writing Macro Control Statements 224 irpc ...
Page 237: ...12 Chapter 12 List of Machine Language Instructions ...
Page 261: ...13 Chapter 13 Error Messages ...
Page 276: ...Chapter 13 Error Messages 264 Linker Errors ...
Page 277: ...14 Chapter 14 Readinig List Files ...
Page 285: ...15 Chapter 15 Using Library Manager ...
Page 309: ...16 Chapter 16 Notes on Operating Environment ...
Page 321: ...17 Chapter 17 Appendix ...
Page 338: ... 4 Index ...