TI to IAR 2.x/3.x Assembler Migration

E.2.6

File Reference Directives

 

Description

 

Asm430 Directive (TI)

A430 Directive (IAR)

Include source statements from another

.copy or .include

#include or $

file

 

 

 

Identify one or more symbols that are

.def

PUBLIC or EXPORT

defined in the current module and used in

 

 

other modules

 

 

Identify one or more global (external)

.global

1)

symbols

 

 

 

Define a macro library

.mlib

2)

Identify one or more symbols that are

.ref

EXTERN or IMPORT

used in the current module but defined in

 

 

another module

 

 

1)The directive .global functions as either .def if the symbol is defined in the current module, or .ref otherwise. PUBLIC or EXTERN must be used as applicable with the A430 assembler to replace the

.global directive.

2)The concept of macro libraries is not supported. Include files with macro definitions must be used for this functionality.

Modules may be used with the Asm430 assembler to create individually linkable routines. A file may contain multiple modules or routines. All symbols except those created by DEFINE, #define (IAR preprocessor directive) or MACRO are “undefined” at module end. Library modules are, furthermore, linked conditionally. This means that a library module is only included in the linked executable if a public symbol in the module is referenced externally. The following directives are used to mark the beginning and end of modules in the A430 assembler.

Additional A430 Directives (IAR)

 

A430 Directive (IAR)

Start a program module

 

NAME or PROGRAM

Start a library module

 

MODULE or LIBRARY

Terminate the current program or library module

ENDMOD

E.2.7

Conditional-Assembly Directives

 

Description

 

Asm430 Directive (TI)

A430 Directive (IAR)

Optional repeatable block assembly

.break

1)

Begin conditional assembly

.if

IF

Optional conditional assembly

.else

ELSE

Optional conditional assembly

.elseif

ELSEIF

End conditional assembly

.endif

ENDIF

End repeatable block assembly

.endloop

ENDR

Begin repeatable block assembly

.loop

REPT

1)There is no directive that directly corresponds to .break. However, the EXITM directive can be used with other conditionals if repeatable block assembly is used in a macro, as shown:

SEQ

MACRO FROM,TO

; Initialize a sequence of byte constants

 

LOCAL X

 

 

X

SET

FROM

 

 

REPT

TO-FROM+1

; Repeat from FROM to TO

 

IF

X>255

; Break if X exceeds 255

 

EXITM

 

 

 

ENDIF

 

 

 

DB

X

; Initialize bytes to FROM...TO

E-5

Page 85
Image 85
Texas Instruments MSP-FET430 manual File Reference Directives, Conditional-Assembly Directives