The FR* family CPU core features proprietary Fujitsu architecture and is designed for controller
applications using 32-bit RISC based comp uting. The architecture is optimized for use in mi crocontroller
CPU cores for built-in control applications where high-speed control is required.
This manual is written for engineers involved in the development of products using the FR family of
microcontrollers. It is designed specifically for programmers working in assembly lang uage for use with
FR family assemblers, and describes the various instructions used with FR family. Be sure to read the entire
manual carefully.
Note* that the use or non-use of coprocessors, as well as coprocessor specifications depends on the
functions of individual FR family products.
For information about coprocessor specifications, users should consult the coprocessor section of the
product documentation. Also, for the rules of assembly language grammar and the use of assembler
programs, refer to the "FR Family Assembler Manual".
* : FR, the abbreviation of FUJITSU RISC controller, is a line of products of FUJITSU Limited.
■ Trademark
The company names and brand names herein are the trademarks or registered trademarks of their respective
owners.
i
■ Organization of this manual
This manual consists of the following 7 chapters and 1 appendix:
CHAPTER 1 FR FAMILY OVERVIEW
This chapter describes the features of the FR FAMILY CPU core, and provides sample configurations.
CHAPTER 2 MEMORY ARCHITECTURE
This chapter describes memory space in the FR family CPU.
CHAPTER 3 REGISTER DESCRIPTIONS
This chapter describes the registers used in the FR family CPU.
CHAPTER 4 RESET AND "EIT" PROCESSING
This chapter describes reset and "EIT" processing in the FR family CPU.
CHAPTER 5 PRECAUTIONARY INFORMATION FOR THE FR FAMILY CPU
This chapter presents precautionary information related to the use of the FR family CPU.
CHAPTER 6 INSTRUCTION OVERVIEW
This chapter presents an overview of the instructions used with the FR family CPU.
CHAPTER 7 DETAILED EXECUTION INSTRUCTIONS
This chapter presents each of the execution instructions used by the FR family assembler, in reference
format.
APPENDIX
The appendix section includes lists of CPU instruction s used in the FR family, as well as i nstruction map
diagrams.
ii
•The contents of this document are subject to change without notice.
Customers are advised to consult with sales representatives before ordering.
•The information, such as descriptions of function and application circuit examples, in this document are presented solely for the
purpose of reference to show examples of operations and uses of FUJITSU semiconductor device; FUJITSU does not warrant
proper operation of the device with respect to use based on such information. When you develop equipment incorporating the
device based on such information, you must assume any responsibility arising out of such use of the information. FUJITSU
assumes no liability for any damages whatsoever arising out of the use of the information.
•Any information in this document, including descriptions of function and schematic diagrams, shall not be construed as license
of the use or exercise of any intellectual property right, such as patent right or copyright, or any other right of FUJITSU or any
third party or does FUJITSU warrant non-infringement of any third-party's intellectual property right or other right by using such
information. FUJITSU assumes no liability for any infringement of the intellectual property rights or other rights of third parties
which would result from the use of information contained herein.
•The products described in this document are designed, developed and manufactured as contemplated for general use, including
without limitation, ordinary industrial use, general office use, personal use, and household use, but are not designed, developed
and manufactured as contemplated (1) for use accompanying fatal risks or dangers that, unless extremely high safety is secured,
could have a serious effect to the public, and could lead directly to death, personal injury, severe physical damage or other loss
(i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control, medical life
support system, missile launch control in weapon system), or (2) for use requiring extremely high reliability (i.e., submersible
repeater and artificial satellite).
Please note that FUJITSU will not be liable against you and/or any third party for any claims or damages arising in connection
with above-mentioned uses of the products.
•Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage or loss from such
failures by incorporating safety design measures into your facility and equipment such as redundancy, fire protection, and
prevention of over-current levels and other abnormal operating conditions.
•Exportation/release of any products described in this document may require necessary procedures in accordance with the
regulations of the Foreign Exchange and Foreign Trade Control Law of Japan and/or US export control laws.
•The company names and brand names herein are the trademarks or registered trademarks of their respective owners.
B.2"E" Format ...................................................................................................................................... 276
Be sure to refer to the "Check Sheet" for the latest cautions on development. is changed.
("Check Sheet" is seen at the following support page... is deleted.)
"■ Objectives and intended reader" is changed.
( "FR" → "FR*" )
"■ Objectives and intended reader" is changed.
( " *: " is added. )
"PREFACE" is changed.
( "■ Trademark" is added. )
"PREFACE" is changed.
( "The company names and brand names herein are the trademarks or registered trademarks of their
respective owners." is added. )
"Table 2.1-1 Structure of a Vector Table Area" is changed.
For 3F8H, ( "No" → "Yes" )
"● Lowest Bit Value of Program Counter" is changed.
( "incremented by one, and therefore" → "incremented and therefore" )
"Figure 3.3-4 "ILM" Register Functions" is changed.
( A line from ILM to COMP is added. )
"Figure 3.3-7 Sample of Table Base Register (TBR) Operation" is changed.
( "31" → "bit31" )
27
28
28
37
"■ System Stack Pointer (SSP), User Stack Pointer (USP)" is changed.
( "ST R13", "@-R15" → "ST R13, @-R15" )
The title of "Figure 3.3-12 Example of Stack Pointer Operation in Execution of Instruction "ST R13", "@R15" when "S" Flag = 0" is changed.
( "ST R13", "@-R15" → "ST R13, @-R15" )
The title of "Figure 3.3-13 Example of Stack Pointer Operation in Execution of Instruction "ST R13", "@R15" when "S" Flag = 1" is changed.
( "ST R13", "@-R15" → "ST R13, @-R15" )
"■ Recovery from EIT handler" is changed.
( "4.2 Basic Operations in "EIT" Processing ■ Recovery from EIT handler" →
"■ Recovery from EIT handler"of "4.2 Basic Operations in "EIT" Processing" )
"4.3 Interrupts" is changed.
( "External" → "User" )
"■ Sources of Interrupts" is changed.
( "External" → "User" )
xi
PageChanges (For details, refer to main body.)
"4.3.1 User Interrupts" is changed.
( "External" → "User" ), ( "external" → "user" )
"■ Overview of User Interrupts" is changed.
( "External" → "User" )
"■ Overview of User Interrupts" is changed.
( "Interrupts are referred to as "external" when they originate outside the CPU." is deleted. )
38
39
"■ Conditions for Acceptance of User Interrupt Requests" is changed.
( "External" → "User" )
"■ Conditions for Acceptance of User Interrupt Requests" is changed.
( "The CPU accepts interrupts" → "The CPU accepts user interrupts" )
"■ Operation Following Acceptance of an User Interrupt" is changed.
( "External" → "User" ), ( "external" → "user" )
"■ How to Use User Interrupts" is changed.
( "External" → "User" ), ( "external" → "user" )
"Figure 4.3-1 How to Use User Interrupts" is changed.
( "External" → "User" )
51
62
66
72
75
79
80
81
"Table 4.6-1 Priority of "EIT" Requests" is changed.
( "External" → "User"), ("INT" → "INTE")
"■ Examples of Programing Delayed Branching Instructions" is changed.
( The position of comment ";not satisfy" is changed. )
( R12 → R13)
"● Calculations are designated by a mnemonic placed between operand 1 and operand 2, with the results
stored at operand 2" is changed.
( The position of R2 is changed. )
"7.1 ADD (Add Word Data of Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1010 0110 0010 0011" is added. )
"7.4 ADDC (Add Word Data of Source Register and Carry Bit to Destination Register)" is changed.
( "Instruction bit pattern : 1010 0111 0010 0011" is added. )
"7.8 SUB (Subtract Word Data in Source Register from Destination Register)" is changed.
( "Instruction bit pattern : 1010 1100 0010 0011" is added. )
"7.9 SUBC (Subtract Word Data in Source Register and Carry Bit from Destination Register)" is changed.
( "Instruction bit pattern : 1010 1101 0010 0011" is added. )
"7.10 SUBN (Subtract Word Data in Source Register from Destination Register)" is changed.
( "Instruction bit pattern : 1010 1110 0010 0011" is added. )
82
85
"7.11 CMP (Compare Word Data in Source Register and Destination Register)" is changed.
( "Instruction bit pattern : 1010 1010 0010 0011" is added. )
"7.14 AND (And Word Data of Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1000 0010 0010 0011" is added. )
xii
PageChanges (For details, refer to main body.)
87
89
91
92
94
96
98
99
101
"7.15 AND (And Word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1000 0100 0010 0011" is added.)
"7.16 ANDH (And Half-word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1000 0101 0010 0011" is added. )
"7.17 ANDB (And Byte Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1000 0110 0010 0011" is added. )
"7.18 OR (Or Word Data of Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1001 0010 0010 0011" is added.)
"7.19 OR (Or Word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 0100 0010 0011" is added. )
"7.20 ORH (Or Half-word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 0101 0010 0011" is added. )
"7.21 ORB (Or Byte Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 0110 0010 0011" is added. )
"7.22 EOR (Exclusive Or Word Data of Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1001 1010 0010 0011" is added. )
"7.23 EOR (Exclusive Or Word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 1100 0010 0011" is added. )
103
105
121
123
125
127
129
131
133
"7.24 EORH (Exclusive Or Half-word Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 1101 0010 0011" is added. )
"7.25 EORB (Exclusive Or Byte Data of Source Register to Data in Memory)" is changed.
( "Instruction bit pattern : 1001 1110 0010 0011" is added. )
"7.34 MUL (Multiply Word Data)" is changed.
( "Instruction bit pattern : 1010 1111 0010 0011" is added. )
"7.35 MULU (Multiply Unsigned Word Data)" is changed.
( "Instruction bit pattern : 1010 1011 0010 0011" is added. )
"7.36 MULH (Multiply Half-word Data)" is changed.
( "Instruction bit pattern : 1011 1111 0010 0011" is added. )
"7.37 MULUH (Multiply Unsigned Half-word Data)" is changed.
( "Instruction bit pattern : 1011 1011 0010 0011" is added. )
"7.38 DIV0S (Initial Setting Up for Signed Division)" is changed.
( "Instruction bit pattern : 1001 0111 0100 0010" is added. )
"7.39 DIV0U (Initial Setting Up for Unsigned Division)147/308" is changed.
( "Instruction bit pattern : 1001 0111 0101 0010" is added. )
"7.40 DIV1 (Main Process of Division)" is changed.
( "Instruction bit pattern : 1001 0111 0110 0010" is added. )
135
"7.41 DIV2 (Correction when Remainder is 0)" is changed.
( "Instruction bit pattern : 1001 0111 0111 0010" is added. )
xiii
PageChanges (For details, refer to main body.)
136
137
138
141
144
147
148
149
"7.42 DIV3 (Correction when Remainder is 0)" is changed.
( "Instruction bit pattern : 1001 1111 0110 0000" is added. )
"7.43 DIV4S (Correction Answer for Signed Division)" is changed.
( "Instruction bit pattern : 1001 1111 0111 0000" is added. )
"7.44 LSL (Logical Shift to the Left Direction)" is changed.
( "Instruction bit pattern : 1011 0110 0010 0011" is added. )
"7.47 LSR (Logical Shift to the Right Direction)" is changed.
( "Instruction bit pattern : 1011 0010 0010 0011" is added. )
"7.50 ASR (Arithmetic Shift to the Right Direction)" is changed.
( "Instruction bit pattern : 1011 1010 0010 0011" is added. )
"7.53 LDI:32 (Load Immediate 32-bit Data to Destination Register)" is changed.
( "Instruction bit pattern : 1001 1111 1000 0011
"7.54 LDI:20 (Load Immediate 20-bit Data to Destination Register)" is changed.
( "Instruction bit pattern : 1001 1011 0101 0011
: 0100 0011 0010 0001" is added. )
"7.55 LDI:8 (Load Immediate 8-bit Data to Destination Register)" is changed.
( "Instruction bit pattern : 1100 0010 0001 0011" is added. )
150
151
153
154
156
157
158
159
160
"7.56 LD (Load Word Data in Memory to Register)"is changed.
( "Instruction bit pattern : 0000 0100 0010 0011" is added. )
"7.57 LD (Load Word Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0000 0010 0011" is added. )
"7.59 LD (Load Word Data in Memory to Register)" is changed.
( "o4" → "u4" )
"7.60 LD (Load Word Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0111 0000 0011" is added. )
"7.61 LD (Load Word Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0111 1000 0100" is added. )
"7.62 LD (Load Word Data in Memory to Program Status Register)" is changed.
Flag change: ( "Ri" → "R15")
"7.62 LD (Load Word Data in Memory to Program Status Register)" is changed.
( "Instruction bit pattern : 0000 0111 1001 0000" is added. )
"7.63 LDUH (Load Half-word Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0101 0010 0011" is added. )
"7.64 LDUH (Load Half-word Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0001 0010 0011" is added. )
162
"7.66 LDUB (Load Byte Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0110 0010 0011" is added. )
xiv
PageChanges (For details, refer to main body.)
163
165
166
168
169
170
171
172
173
"7.67 LDUB (Load Byte Data in Memory to Register)" is changed.
( "Instruction bit pattern : 0000 0010 0010 0011" is added. )
"7.69 ST (Store Word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0100 0010 0011" is added. )
"7.70 ST (Store Word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0000 0010 0011" is added. )
"7.72 ST (Store Word Data in Register to Memory)" is changed.
( "o4" → "u4" )
"7.73 ST (Store Word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0111 0000 0011" is added. )
"7.74 ST (Store Word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0111 1000 0100" is added. )
"7.75 ST (Store Word Data in Program Status Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0111 1001 0000" is added. )
"7.76 STH (Store Half-word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0101 0010 0011" is added. )
"7.77 STH (Store Half-word Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0001 0010 0011" is added. )
175
176
178
179
180
181
183
184
"7.79 STB (Store Byte Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0110 0010 0011" is added. )
"7.80 STB (Store Byte Data in Register to Memory)" is changed.
( "Instruction bit pattern : 0001 0010 0010 0011" is added. )
"7.82 MOV (Move Word Data in Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1000 1011 0010 0011" is added. )
"7.83 MOV (Move Word Data in Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1011 0111 0101 0011" is added. )
"7.84 MOV (Move Word Data in Program Status Register to Destination Register)" is changed.
( "Instruction bit pattern : 0001 0111 0001 0011" is added. )
"7.85 MOV (Move Word Data in Source Register to Destination Register)" is changed.
( "Instruction bit pattern : 1011 0011 0101 0011" is added. )
"7.86 MOV (Move Word Data in Source Register to Program Status Register)" is changed.
( "Instruction bit pattern : 0000 0111 0001 0011" is added. )
"7.87 JMP (Jump)" is changed.
( "Instruction bit pattern : 1001 0111 0000 0001" is added. )
xv
PageChanges (For details, refer to main body.)
"7.88 CALL (Call Subroutine)" is changed.
( "extension for use as the branch destination address" → "extension" )
"Table A.2-16 Other Instructions (16 Instructions)" is changed.
("i8" → "u8")
"Table B.2-1 "E" Format" is changed.
( "- : Undefined" is added. )
xx
CHAPTER 1
FR FAMILY OVERVIEW
This chapter describes the features of the FR FAMILY
CPU core, and provides sample configurations.
1.1 Features of the FR Family CPU Core
1.2 Sample Configuration of an FR Family Device
1.3 Sample Configuration of the FR Family CPU
1
CHAPTER 1 FR FAMILY OVERVIEW
1.1Features of the FR Family CPU Core
The FR family CPU core features proprietary Fujitsu ar chitecture and is designed for
controller applications using 32-bit "RISC" based computing. The architecture is
optimized for use in microcontroller CPU cores for built-in control applications where
high-speed control is required.
• Direct addressing instructions for peripheral circuit access
• Coprocessor instructions for direct designation of peripheral accelerator
• High speed interrupt processing complete within 6 cycles
2
CHAPTER 1 FR FAMILY OVERVIEW
1.2Sample Configuration of an FR Family Device
FR family devices have block configuration with bus connections between individual
modules. This enables module connections to be altered as necessary to accommodate
a wide variety of functional configurations.
Figure 1.2-1 shows an example of the configuration of an FR family device.
■ Sample Configuration of an FR Family Device
Figure 1.2-1 Sample Configuration of an FR Family Device
FR family CPU
DMAC
Data cache
RAM
Data bus
High speed
peripherals
Internal bus interface
ROM
User bus interfaceGeneral-purpose port
Mandatory: Standard in all models
Instruction cache
Instruction bus
Integrated bus
Low speed
peripherals
Low speed
peripherals
Low speed
peripherals
Peripheral bus
Low speed
peripherals
Option: Not included in some models
3
CHAPTER 1 FR FAMILY OVERVIEW
1.3Sample Configuration of the FR Family CPU
The FR family CPU core features a block configuration organized around generalpurpose registers, with dedicated registers, "ALU" units, multipliers and other features
included for each specific application.
Figure 1.3-1 shows a sample configuration of an FR family CPU.
■ Sample Configuration of the FR Family CPU
Figure 1.3-1 Sample Configuration of the FR Family CPU
Instruction
data
Data
Data address
Instruction
address
Instruction
decoder
Multiplier
32 x 8
bits
Instruction
sequencer
ALU
Barrel
shifter
Pipeline
control
Bypass
Register
file
Bypass
interlock
Wait cancel
control
PC
adder
/inc
Internal bus
Exception
processing
Internal bus
Internal bus
PC
Interrupt
NMI
Wait bus
control
4
CHAPTER 2
MEMORY ARCHITECTURE
This chapter describes memory space in the FR family
CPU.
Memory architecture includes the allocation of memory
space as well as methods used to access memory .
2.1 FR Family Memory Space
2.2 Bit Order and Byte Order
2.3 Word Alignment
5
CHAPTER 2 MEMORY ARCHITECTURE
2.1FR Family Memory Space
The FR family controls memory space in byte units, and provides linear designation of
32-bit spaces. Also, to enhance instruction efficiency, specific areas of memory are
allocated for use as direct address areas and vector table areas.
■ Memory Space
Figure 2.1-1 illustrates memory space in the FR family.
For a detailed description of the direct address area, see Section "2.1.1 Direct Address Area", and for the
vector table area, see Section "2.1.2 Vector Table Area".
Figure 2.1-1 FR Family Memory Space
Direct address area
General addressing
0000 0000H
0000 0100H
0000 0200H
0000 0400H
000F FC00H
0010 0000H
FFFF FFFFH
■ Unused V ector Table Area
Unused vector table area is available for use as program or data area.
Byte data
Half-word data
Word data
Vector table
initial area
Program or data area
000F FC00
TBR initial value
HTBR
6
Loading...
+ 284 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.