162
Chapter 27. M68HC11 and M68HC12 Dependent Features
27.3. Symbolic Operand Modifiers
The assembler supports several modifiers when using symbol addresses in 68HC11 and 68HC12
instruction operands. The general syntax is the following:
%modifier(symbol)
%addr
This modifier indicates to the assembler and linker to use the 16 bit physical address correspond
ing to the symbol. This is intended to be used on memory window systems to map a symbol in
the memory bank window. If the symbol is in a memory expansion part, the physical address
corresponds to the symbol address within the memory bank window. If the symbol is not in a
memory expansion part, this is the symbol address (using or not using the %addr modifier has no
effect in that case).
%page
This modifier indicates to use the memory page number corresponding to the symbol. If the
symbol is in a memory expansion part, its page number is computed by the linker as a number
used to map the page containing the symbol in the memory bank window. If the symbol is not in
a memory expansion part, the page number is 0.
%hi
This modifier indicates to use the 8 bit high part of the physical address of the symbol.
%lo
This modifier indicates to use the 8 bit low part of the physical address of the symbol.
For example a 68HC12 call to a function
foo_example
stored in memory expansion part could be
written as follows:
call %addr(foo_example),%page(foo_example)
and this is equivalent to
call foo_example
And for 68HC11 it could be written as follows:
ldab #%page(foo_example)
stab _page_switch
jsr
%addr(foo_example)
27.4. Assembler Directives
The 68HC11 and 68HC12 version of
as
have the following specific assembler directives:
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved