399
APPENDIX D Notes on Using Little Endian Areas
D.2 Assembler (fsm911)
The following two items require caution when using little endian areas during
programming in FR-series Assembler:
• Sections
• Data Access
■
Sections
Little endian areas are allocated primarily for data exchange data with little endian type CPUs.
Therefore, define little endian areas as data sections that store no initial value.
If a little endian area is specified as data section storing a code or initial stack value, the result
of an access by the MB91F109 cannot be guaranteed.
[Example]
/* Correct definition of endian area as a section*/
.SECTION Little_Area, DATA, ALIGN=4
Little_Word:
.RES.W 1
Little_Half:
.RES.H 1
Little_Byte:
.RES.B 1
■
Data Access
When accessing data in a little endian area, the data value can be coded independently of the
endian area. However, specify a size matching the size of the data when accessing the data of
the little endian area.
[Example]
LDI #0x01020304, r0
LDI #Little_Word, r1
LDI #0x0102, r2
LDI #Little_Half, r3
LDI #0x01, r4
LDI #Little_Byte, r5