The information in this publication has been carefully
checked and is believed to be entirely accurate at
the time of publication. Samsung assumes no
responsibility, however, for possible errors or
omissions, or for any consequences resulting from
the use of the information contained herein.
Samsung reserves the right to make changes in its
products or product specifications with the intent to
improve function or design at any time and without
notice and is not required to update this
documentation to reflect such changes.
This publication does not convey to a purchaser of
semiconductor devices described herein any license
under the patent rights of Samsung or others.
Samsung makes no warranty, representation, or
guarantee regarding the suitability of its products for
any particular purpose, nor does Samsung assume
any liability arising out of the application or use of
any product or circuit and specifically disclaims any
and all liability, including without limitation any
consequential or incidental damages.
any form or by any means, electric or mechanical, by photocopying, recording, or otherwise, without the prior
written consent of Samsung Electronics.
"Typical" parameters can and do vary in different
applications. All operating parameters, including
"Typicals" must be validated for each customer
application by the customer's technical experts.
Samsung products are not designed, intended, or
authorized for use as components in systems
intended for surgical implant into the body, for other
applications intended to support or sustain life, or for
any other application in which the failure of the
Samsung product could create a situation where
personal injury or death may occur.
Should the Buyer purchase or use a Samsung
product for any such unintended or unauthorized
application, the Buyer shall indemnify and hold
Samsung and its officers, employees, subsidiaries,
affiliates, and distributors harmless against all
claims, costs, damages, expenses, and reasonable
attorney fees arising out of, either directly or
indirectly, any claim of personal injury or death that
may be associated with such unintended or
unauthorized use, even if such claim alleges that
Samsung was negligent regarding the design or
manufacture of said product.
Samsung Electronics' microcontroller business has been awarded full ISO-14001
certification (BSI Certificate No. FM24653). All semiconductor products are
designed and manufactured in accordance with the highest quality standards and
objectives.
Samsung Electronics Co., Ltd.
San #24 Nongseo-Dong, Giheung-Gu
Yongin-City, Gyeonggi-Do, Korea
C.P.O. Box #37, Suwon 446-711
TEL: (82)-(31)-209-5238
FAX: (82)-(31)-209-6494
Home-Page URL: Http://www.samsungsemi.com
Printed in the Republic of Korea
Page 3
NOTIFICATION OF REVISIONS
ORIGINATOR: Samsung Electronics, LSI Development Group, Gi-Heung, South Korea
SUMMARY: As a result of additional product testing and evaluation, some specifications
published in the S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X User's
Manual, Revision 1, have been changed. These changes for
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X microcontroller,
which are described in detail in the Revision Descriptions section below,
are related to the followings:
— Chapter 16. Embedded flash memory interface
— Chapter 17. Electrical Data
— Chapter 7. Clock Circuit
— Chapter 2. Address Spaces
DIRECTIONS:
Please note the changes in your copy (copies) of the
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X User's Manual, Revision 1.
Or, simply attach the Revision Descriptions of the next page to
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X User's Manual, Revision 1.
Page 4
REVISION HISTORY
Revision Date Remark
0 February, 2005 Preliminary spec for internal release only.
1 April, 2005 First edition. Reviewed by Finechips.
1.1 July, 2005 Second edition. Reviewed by Finechips.
1.2 August, 2005 Third edition. Reviewed by Finechips.
1.3 May, 2006 Fourth edition. Reviewed by Finechips
1.4 April, 2007 Fifth edition. Reviewed by Finechips
Page 5
REVISION DESCRIPTIONS
1. Electrical Data
Table 17-12. A.C. Electrical Characteristics for Internal Flash ROM
= − 25 °C to + 85 °C, VDD = 2.0 V to 3.6 V)
(T
A
Parameter Symbol Conditions Min Typ Max Unit
(2)
(1)
(3)
Programming time
Chip erasing time
Sector erasing time
Data access time
Number of writing/erasing FNwe
NOTES:
1. The programming time is the time during which one byte (8-bit) is programmed.
2. The chip erasing time is the time during which all 16K byte block is erased.
3. The sector erasing time is the time during which all 128 byte block is erased.
4. Maximum number of writing/erasing is 10,000 times for full-flash(S3F8275) and 100 times for half-flash (S3F8278X/F8274X).
5. The chip erasing is available in Tool Program Mode only.
Ftp
Ftp1
Ftp2
Ft
RS
−
−
−
− −
− − −
30
50
10
− − µs
− −
− −
25
−
10,000
(4)
ms
ms
ns
Times
2. Condition of Operating Voltage
Condition of operating voltage is modified “fx = 0 − 4.2MHz” to “fx = 0.4 − 4.2MHz” at 2.0V – 3.6V and
“fx = 0 − 8MHz” to “fx = 0.4 − 8MHz” at 2.5V − 3.6V in the page 17-2.
3. CHAPTHER 16. Embedded Flash Memory Interface
This chapter is modified for only S3F8275X.
4. CHAPTHER 7. Clock Circuit
The contents of OSCCON.7 should be changed “ 0 = Select normal circuit for sub oscillator” into “ 0 = Initial state”
in the page 4-21 and Figure 7-10.
It is added “NOTE: The OSCCON.7 should be maintained to “1”, during the sub oscillator operation.” In the page
4-21 and Figure 7-10.
The figure 7-7 is modified partly.
Page 6
Descriptions of Revision 1.4
1. Smart Option Area
The Figures are modified about smart option area. Those are “Figure 2-1. Program Memory Address Space” and
“Figure 5-3. ROM Vector Address Area”.
2. CHAPTHER 17. Electrical Data
It is changed “VDD = 2.0 V to 3.6 V” into “VDD = 2.2 V to 3.6 V” in the Table 17-12.
3. DEVICE NAME
The device name is changed S3C8275/F8275/C8278/F8278/C8274/F8274 to
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X. The ‘X’ means ‘Commercial type’.
Page 7
Preface
The S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X Microcontroller User's Manual is designed for
application designers and programmers who are using the S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
microcontroller for application development. It is organized in two main parts:
Part I Programming Model Part II Hardware Descriptions
Part I contains software-related information to familiarize you with the microcontroller's architecture, programming
model, instruction set, and interrupt structure. It has six chapters:
Chapter 1 Product Overview
Chapter 1, "Product Overview," is a high-level introduction to
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X with general product descriptions, as well as detailed
information about individual pin characteristics and pin circuit types.
Chapter 2, "Address Spaces," describes program and data memory spaces, the internal register file, and register
addressing. Chapter 2 also describes working register addressing, as well as system stack and user-defined
stack operations.
Chapter 3, "Addressing Modes," contains detailed descriptions of the addressing modes that are supported by the
S3C8-series CPU.
Chapter 4, "Control Registers," contains overview tables for all mapped system and peripheral control register
values, as well as detailed one-page descriptions in a standardized format. You can use these easy-to-read,
alphabetically organized, register descriptions as a quick-reference source when writing programs.
Chapter 5, "Interrupt Structure," describes the S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X interrupt
structure in detail and further prepares you for additional information presented in the individual hardware module
descriptions in Part II.
Chapter 6, "Instruction Set," describes the features and conventions of the instruction set used for all S3C8-series
microcontrollers. Several summary tables are presented for orientation and reference. Detailed descriptions of
each instruction are presented in a standard format. Each instruction description includes one or more practical
examples of how to use the instruction when writing an application program.
A basic familiarity with the information in Part I will help you to understand the hardware module descriptions in
Part II. If you are not yet familiar with the S3C8-series microcontroller family and are reading this manual for the
first time, we recommend that you first read Chapters 1–3 carefully. Then, briefly look over the detailed
information in Chapters 4, 5, and 6. Later, you can reference the information in Part I as necessary.
Chapter 4 Control Registers
Chapter 5 Interrupt Structure
Chapter 6 Instruction Set
Part II "hardware Descriptions," has detailed information about specific hardware components of the
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X microcontroller. Also included in Part II are electrical,
mechanical, Flash MCU, and development tools data. It has 14 chapters:
Features ........................................................................................................................................................1-2
Register Set 1.......................................................................................................................................2-10
Register Set 2.......................................................................................................................................2-10
Prime Register Space...........................................................................................................................2-11
Working Registers ................................................................................................................................2-12
Using the Register Points.....................................................................................................................2-13
Common Working Register Area (C0H–CFH) .....................................................................................2-17
4-Bit Working Register Addressing ......................................................................................................2-18
8-Bit Working Register Addressing ......................................................................................................2-20
System and User Stack.................................................................................................................................2-22
Direct Address Mode (DA) ............................................................................................................................3-10
Data Types........................................................................................................................................... 6-1
Flag Descriptions ................................................................................................................................. 6-7
Instruction Set Notation........................................................................................................................ 6-8
System Clock Circuit ............................................................................................................................7-1
Main Oscillator Circuits.........................................................................................................................7-2
Sub Oscillator Circuits ..........................................................................................................................7-2
Clock Status During Power-Down Modes............................................................................................7-3
System Clock Control Register (CLKCON)..........................................................................................7-4
Clock Output Control Register (CLOCON)...........................................................................................7-5
Oscillator Control Register (OSCCON)................................................................................................7-6
Switching the CPU Clock......................................................................................................................7-7
Chapter 8 RESET and Power-Down
System Reset................................................................................................................................................8-1
Port Data Registers ..............................................................................................................................9-2
port 0.....................................................................................................................................................9-3
port 1.....................................................................................................................................................9-7
port 2.....................................................................................................................................................9-11
port 3.....................................................................................................................................................9-13
Port 4 ....................................................................................................................................................9-15
Port 5 ....................................................................................................................................................9-17
Port 6 ....................................................................................................................................................9-19
User Program Mode......................................................................................................................................16-2
Flash Memory Control Registers (User Program Mode)......................................................................16-2
Hard Lock Protection.....................................................................................................................................16-12
Stop LED ..............................................................................................................................................20-6
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X MICROCONTROLLER ix
Hard Lock Protection................................................................................................................................16-12
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X MICROCONTROLLER xvii
Page 20
List of Register Descriptions
Register Full Register Name Page
Identifier Number
BLDCON Battery Level Detector Control Register ....................................................................4-5
BTCON Basic Timer Control Register.....................................................................................4-6
CLKCON System Clock Control Register..................................................................................4-7
CLOCON Clock Output Control Register ...................................................................................4-8
EXTICONH External Interrupt Control Register (High Byte) .........................................................4-9
EXTICONL External Interrupt Control Register (Low Byte)..........................................................4-10
Samsung's S3C8 series of 8-bit single-chip CMOS microcontrollers offers a fast and efficient CPU, a wide range
of integrated peripherals, and various mask-programmable ROM sizes. Among the major CPU features are:
• Efficient register-oriented architecture
• Selectable CPU clock sources
• Idle and Stop power-down mode release by interrupt or reset
• Built-in basic timer with watchdog function
A sophisticated interrupt structure recognizes up to eight interrupt levels. Each level can have one or more
interrupt sources and vectors. Fast interrupt processing (within a minimum of four CPU clocks) can be assigned to
specific interrupt levels.
The S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X single-chip CMOS microcontrollers are fabricated
using the highly advanced CMOS process, based on Samsung's latest CPU architecture.
The S3C8275X/C8278X/C8274X is a microcontroller with a 16/8/4K-byte mask-programmable ROM embedded.
The S3F8275X/F8278X/F8274X is a microcontroller with a 16/8/4K-byte flash ROM embedded.
Using a proven modular design approach, Samsung engineers have successfully developed the
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X by integrating the following peripheral modules with the
powerful SAM8 core:
• Seven programmable I/O ports, including six 8-bit ports and one 4-bit port, for a total of 52 pins.
• Eight bit-programmable pins for external interrupts.
• One 8-bit basic timer for oscillation stabilization and watchdog function (system reset).
• Two 8-bit timer/counter with selectable operating modes.
• Watch timer for real time
FLASH
The S3F8275X/F8278X/F8274X are FLASH version of the S3C8275X/C8278X/C8274X microcontroller. The
S3F8275X/F8278X/F8274X microcontroller has an on-chip FLASH ROM instead of a masked ROM. The
S3F8275X/F8278X/F8274X is comparable to the S3C8275X/C8278X/C8274X, both in function and in pin
configuration. The S3F8275X only is a full flash. The full flash means that data can be written into the program
ROM by an instruction.
Schmitt trigger input or push-pull, open-drain
output and software assignable pull-ups;
P0.0−P0.2 are alternately used for external
interrupt input(noise filters, interrupt enable
and pending control).
I/O I/O port with bit-programmable pins;
Schmitt trigger input or push-pull, open-drain
output and software assignable pull-ups;
P1.3−P1.7 are alternately used for external
interrupt input(noise filters, interrupt enable
and pending control).
I/O I/O port with bit-programmable pins;
Input or push-pull, open-drain output and
software assignable pull-ups.
I/O I/O port with bit-programmable pins;
Input or push-pull, open-drain output and
software assignable pull-ups.
I/O I/O port with bit-programmable pins;
Input or push-pull output and software
assignable pull-ups.
The S3C8275X/C8278X/C8274X microcontroller has two types of address space:
• Internal program memory (ROM)
• Internal register file
A 16-bit address bus supports program memory operations. A separate 8-bit register bus carries addresses and
data between the CPU and the register file.
The S3C8275X has an internal 16-Kbyte mask-programmable ROM. The S3C8278X has an internal 8-Kbyte
mask-programmable ROM. The S3C8274X has an internal 4-Kbyte mask-programmable ROM.
The 256-byte physical register space is expanded into an addressable area of 320 bytes using addressing
modes.
A 16-byte LCD display register file is implemented.
There are 605 mapped registers in the internal register file. Of these, 528 are for general-purpose.
(This number includes a 16-byte working register common area used as a “scratch area” for data operations, two
192-byte prime register areas, and two 64-byte areas (Set 2)). Thirteen 8-bit registers are used for the CPU and
the system control, and 48 registers are mapped for peripheral controls and data registers. Nineteen register
locations are not mapped.
Program memory (ROM) stores program codes or table data. The S3C8275X has 16K bytes internal maskprogrammable program memory, the S3C8278X has 8K bytes, the S3C8274X has 4K bytes.
The first 256 bytes of the ROM (0H–0FFH) are reserved for interrupt vector addresses. Unused locations in this
address range can be used as normal program memory. If you use the vector address area to store a program
code, be careful not to overwrite the vector addresses stored in these locations.
The ROM address at which a program execution starts after a reset is 0100H.
The reset address of ROM can be changed by a smart option only in the S3F8275X (Full-Flash Device). Refer to
the chapter 16. Embedded Flash Memory Interface for more detail contents.
1. After selecting ISP reset vector address in selecting ISP protection size, don't select upper than ISP
area size.
2. When any values are written in the Smart Option are a (003CH-003FH) by LDC instruction, the data of
the area may be changed but the Smart Option is not affected. The data for Smart Option should be
written in the Smart Option area (003CH-003FH) by OTP/MTP tools (SPW2 plus single
programmer, or GW-PRO2 gang programmer).
Smart option is the ROM option for start condition of the chip. The ROM address used by smart option is from
003CH to 003FH.
The ISP of smart option (003EH) is available in the S3F8275X only. The default value of ROM address 003EH is
FFH. And ROM address 003EH should be kept FFH when used the
S3C8275X/C8278X/F8278X/C8274X/F8274X.
The LVR of smart option (003FH) is available in all the device,
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X. The default value of ROM address 003FH is FFH.
In the S3C8275X/C8278X/C8274X implementation, the upper 64-byte area of register files is expanded two
64-byte areas, called set 1 and set 2. The upper 32-byte area of set 1 is further expanded two 32-byte register
banks (bank 0 and bank 1), and the lower 32-byte area is a single 32-byte common area.
In case of S3C8275X the total number of addressable 8-bit registers is 605. Of these 605 registers, 13 bytes are
for CPU and system control registers, 16 bytes are for LCD data registers, 48 bytes are for peripheral control and
data registers, 16 bytes are used as a shared working registers, and 512 registers are for general-purpose use,
page 0-page 1 (in case of S3C8278X/C8274X, page 0).
You can always address set 1 register locations, regardless of which of the two register pages is currently
selected. Set 1 locations, however, can only be addressed using register addressing modes.
The extension of register space into separately addressable areas (sets, banks, and pages) is supported by
various addressing mode restrictions, the select bank instructions, SB0 and SB1, and the register page pointer
(PP).
Specific register types and the area (in bytes) that they occupy in the register file are summarized in Table 2-1.
Table 2-1. S3C8275X Register Type Summary
Register Type Number of Bytes
General-purpose registers (including the 16-byte
common working register area, two 192-byte prime
register area, and two 64-byte set 2 area)
LCD data registers
CPU and system control registers
Mapped clock, peripheral, I/O control, and data registers
Total Addressable Bytes
528
16
13
48
605
Table 2-2. S3C8278X/C8274X Register Type Summary
Register Type Number of Bytes
General-purpose registers (including the 16-byte
common working register area, one 192-byte prime
register area, and one 64-byte set 2 area)
LCD data registers
CPU and system control registers
Mapped clock, peripheral, I/O control, and data registers
The S3C8-series architecture supports the logical expansion of the physical 256-byte internal register file (using
an 8-bit data bus) into as many as 16 separately addressable register pages. Page addressing is controlled by
the register page pointer (PP, DFH). In the S3C8275X/C8278X/C8274X microcontroller, a paged register file
expansion is implemented for LCD data registers, and the register page pointer must be changed to address
other pages.
After a reset, the page pointer's source value (lower nibble) and the destination value (upper nibble) are always
"0000", automatically selecting page 0 as the source and destination page for register addressing.
Register Page Pointer (PP)
DFH, Set 1, R/W
LSBMSB.7.6.5.4.3.2.1.0
Source register page selection bits:
0000Source: Page 0
0001Source: Page 1 (Not used for the S3C8278X/C8274X)
0010Source: Page 2
othersNot used for the S3C8275X/C8278X/C8274X
Destination register page selection bits:
0000Destination: Page 0
0001 Destination: Page 1 (Not used for the S3C8278X/C8274X)
0010 Destination: Page 2
others Not used for the S3C8275X/C8278X/C8274X
NOTES:
1. In the S3C8275X microcontroller, the internal register file is configured as three pages (Pages 0-2).
The pages 0-1 are used for general purpose register file, and page 2 is used for LCD data register or
general purpose register.
2. In the S3C8278X/C8274X microcontroller, the internal register file is configured as two pages (Pages 0, 2).
The page 0 is used for general purpose register file, and page 2 is used for LCD data register or general
purpose register.
3. A hardware reset operation writes the 4-bit destination and source values shown above to the register page
pointer. These values should be modified to address other pages.
The term set 1 refers to the upper 64 bytes of the register file, locations C0H–FFH.
The upper 32-byte area of this 64-byte space (E0H–FFH) is expanded two 32-byte register banks, bank 0 and
bank 1. The set register bank instructions, SB0 or SB1, are used to address one bank or the other. A hardware
reset operation always selects bank 0 addressing.
The upper two 32-byte areas (bank 0 and bank 1) of set 1 (E0H–FFH) contains 48 mapped system and
peripheral control registers. The lower 32-byte area contains 16 system registers (D0H–DFH) and a 16-byte
common working register area (C0H–CFH). You can use the common working register area as a “scratch” area
for data operations being performed in other areas of the register file.
Registers in set 1 locations are directly accessible at all times using Register addressing mode. The 16-byte
working register area can only be accessed using working register addressing (For more information about
working register addressing, please refer to Chapter 3, “Addressing Modes.”)
REGISTER SET 2
The same 64-byte physical space that is used for set 1 locations C0H–FFH is logically duplicated to add another
64 bytes of register space. This expanded area of the register file is called set 2. For the S3C8275X,
the set 2 address range (C0H–FFH) is accessible on pages 0–1.
S3C8278X/C8274X, the set 2 address range (C0H–FFH) is accessible on page 0.
The logical division of set 1 and set 2 is maintained by means of addressing mode restrictions. You can use only
Register addressing mode to access set 1 locations. In order to access registers in set 2, you must use Register
Indirect addressing mode or Indexed addressing mode.
The set 2 register area is commonly used for stack operations.
The lower 192 bytes (00H–BFH) of the S3C8275X/C8278X/C8274X's two or one 256-byte register pages is
called prime register area. Prime registers can be accessed using any of the seven addressing modes
(see Chapter 3, "Addressing Modes.")
The prime register area on page 0 is immediately addressable following a reset. In order to address prime
registers on pages 0, 1, or 2 you must set the register page pointer (PP) to the appropriate source and destination
values.
FFH
FFH
Page 1
Page 0
Set 2
Set 2
FFH
FCH
E0H
Bank 0
Set 1
Bank 1
D0H
C0H
CPU and system control
General-purpose
Peripheral and I/O
LCD data register
NOTE:In case of S3C8278X/C8274X, there are page 0 and page 2. Page 2 is for LCD displa y
register, 16 bytes.
C0H
BFH
00H
Page 0
Prime
Space
0FH
LCD Data
Register Area
00H
Figure 2-6. Set 1, Set 2, Prime Area Register, and LCD Data Register Map
Instructions can access specific 8-bit registers or 16-bit register pairs using either 4-bit or 8-bit address fields.
When 4-bit working register addressing is used, the 256-byte register file can be seen by the programmer as one
that consists of 32 8-byte register groups or "slices." Each slice comprises of eight 8-bit registers.
Using the two 8-bit register pointers, RP1 and RP0, two working register slices can be selected at any one time to
form a 16-byte working register block. Using the register pointers, you can move this 16-byte register block
anywhere in the addressable register file, except the set 2 area.
The terms slice and block are used in this manual to help you visualize the size and relative locations of selected
working register spaces:
— One working register slice is 8 bytes (eight 8-bit working registers, R0–R7 or R8–R15)
— One working register block is 16 bytes (sixteen 8-bit working registers, R0–R15)
All the registers in an 8-byte working register slice have the same binary value for their five most significant
address bits. This makes it possible for each register pointer to point to one of the 24 slices in the register file.
The base addresses for the two selected 8-byte register slices are contained in register pointers RP0 and RP1.
After a reset, RP0 and RP1 always point to the 16-byte common area in set 1 (C0H–CFH).
1 1 1 1 1 X X X
RP1 (Registers R8-R15)
Each register pointer points to
one 8-byte slice of the register
space, selecting a total 16-byte
working register block.
0 0 0 0 0 X X X
RP0 (Registers R0-R7)
Figure 2-7. 8-Byte Working Register Areas (Slices)
Register pointers RP0 and RP1, mapped to addresses D6H and D7H in set 1, are used to select two movable
8-byte working register slices in the register file. After a reset, they point to the working register common area:
RP0 points to addresses C0H–C7H, and RP1 points to addresses C8H–CFH.
To change a register pointer value, you load a new value to RP0 and/or RP1 using an SRP or LD instruction.
(see Figures 2-8 and 2-9).
With working register addressing, you can only access those two 8-bit slices of the register file that are currently
pointed to by RP0 and RP1. You cannot, however, use the register pointers to select a working register space in
set 2, C0H–FFH, because these locations can be accessed only using the Indirect Register or Indexed
addressing modes.
The selected 16-byte working register block usually consists of two contiguous 8-byte slices. As a general
programming guideline, it is recommended that RP0 point to the "lower" slice and RP1 point to the "upper" slice
(see Figure 2-8). In some cases, it may be necessary to define working register areas in different (noncontiguous) areas of the register file. In Figure 2-9, RP0 points to the "upper" slice and RP1 to the "lower" slice.
Because a register pointer can point to either of the two 8-byte slices in the working register block, you can
flexibly define the working register area to support program requirements.
Figure 2-9. Non-Contiguous 16-Byte Working Register Block
PROGRAMMING TIP — Using the RPs to Calculate the Sum of a Series of Registers
Calculate the sum of registers 80H–85H using the register pointer. The register addresses from 80H through 85H
contain the values 10H, 11H, 12H, 13H, 14H, and 15H respectively:
The sum of these six registers, 6FH, is located in the register R0 (80H). The instruction string used in this
example takes 12 bytes of instruction code and its execution time is 36 cycles. If the register pointer is not used to
calculate the sum of these registers, the following instruction sequence would have to be used:
Now, the sum of the six registers is also located in register 80H. However, this instruction string takes 15 bytes of
instruction code rather than 12 bytes, and its execution time is 50 cycles rather than 36 cycles.
The S3C8-series register architecture provides an efficient method of working register addressing that takes full
advantage of shorter instruction formats to reduce execution time.
With Register (R) addressing mode, in which the operand value is the content of a specific register or register
pair, you can access any location in the register file except for set 2. With working register addressing, you use a
register pointer to specify an 8-byte working register space in the register file and an 8-bit register within that
space.
Registers are addressed either as a single 8-bit register or as a paired 16-bit register space. In a 16-bit register
pair, the address of the first 8-bit register is always an even number and the address of the next register is always
an odd number. The most significant byte of the 16-bit data is always stored in the even-numbered register, and
the least significant byte is always stored in the next (+1) odd-numbered register.
Working register addressing differs from Register addressing as it uses a register pointer to identify a specific
8-byte working register space in the internal register file and a specific 8-bit register within that space.
Each register pointer (RP) can independently point
to one of the 24 8-byte "slices" of the register file
(other than set 2). After a reset, RP0 points to
locations C0H-C7H and RP1 to locations C8H-CFH
(that is, to the common working register area).
NOTE:In the S3C8275X/C8278X/C8274X microcontroller,
pages 0-2 are implemented.
Pages 0-2 contain all of the addressable
registers in the internal register file.
After a reset, register pointers RP0 and RP1 automatically select two 8-byte register slices in set 1, locations
C0H–CFH, as the active 16-byte working register block:
RP0 → C0H–C7H
RP1 → C8H–CFH
This 16-byte address range is called common area. That is, locations in this area can be used as working
registers by operations that address any location on any page in the register file. Typically, these working
registers serve as temporary buffers for data operations between different pages.
FFH
FCH
E0H
Set 1
FFH
FFH
Page 1
Page 0
Set 2
Set 2
D0H
C0H
Following a hardware reset, register
pointers RP0 and RP1 point to the
common working register area,
locations C0H-CFH.
RP0 =
RP1 =
1 1 0 00 0 0 0
1 1 0 01 0 0 0
NOTE:In case of S3C8278X/C8274X, there are page 0 and page 2.
PROGRAMMING TIP — Addressing the Common Working Register Area
As the following examples show, you should access working registers in the common area, locations C0H–CFH,
using working register addressing mode only.
Examples1. LD 0C2H,40H ; Invalid addressing mode! Use working register addressing instead:
SRP #0C0H
LD R2,40H ; R2 (C2H) → the value in location 40H
2. ADD 0C3H,#45H ; Invalid addressing mode!
Use working register addressing instead:
SRP #0C0H
ADD R3,#45H ; R3 (C3H) → R3 + 45H
4-BIT WORKING REGISTER ADDRESSING
Each register pointer defines a movable 8-byte slice of working register space. The address information stored in
a register pointer serves as an addressing "window" that makes it possible for instructions to access working
registers very efficiently using short 4-bit addresses. When an instruction addresses a location in the selected
working register area, the address bits are concatenated in the following way to form a complete 8-bit address:
— The high-order bit of the 4-bit address selects one of the register pointers ("0" selects RP0, "1" selects RP1).
— The five high-order bits in the register pointer select an 8-byte slice of the register space.
— The three low-order bits of the 4-bit address select one of the eight registers in the slice.
As shown in Figure 2-13, the result of this operation is that the five high-order bits from the register pointer are
concatenated with the three low-order bits from the instruction address to form the complete address. As long as
the address stored in the register pointer remains unchanged, the three bits from the address will always point to
an address in the same 8-byte register slice.
Figure 2-14 shows a typical example of 4-bit working register addressing. The high-order bit of the instruction
"INC R6" is "0", which selects RP0. The five high-order bits stored in RP0 (01110B) are concatenated with the
three low-order bits of the instruction's 4-bit address (110B) to produce the register address 76H (01110110B).
You can also use 8-bit working register addressing to access registers in a selected working register area. To
initiate 8-bit working register addressing, the upper four bits of the instruction address must contain the value
"1100B." This 4-bit value (1100B) indicates that the remaining four bits have the same effect as 4-bit working
register addressing.
As shown in Figure 2-15, the lower nibble of the 8-bit address is concatenated in much the same way as for 4-bit
addressing: Bit 3 selects either RP0 or RP1, which then supplies the five high-order bits of the final address; the
three low-order bits of the complete address are provided by the original instruction.
Figure 2-16 shows an example of 8-bit working register addressing. The four high-order bits of the instruction
address (1100B) specify 8-bit working register addressing. Bit 4 ("1") selects RP1 and the five high-order bits in
RP1 (10101B) become the five high-order bits of the register address. The three low-order bits of the register
address (011) are provided by the three low-order bits of the 8-bit instruction address. The five address bits from
RP1 and the three address bits from the instruction are concatenated to form the complete register address,
0ABH (10101011B).
These address
bits indicate 8-bit
working register
addressing
The S3C8-series microcontrollers use the system stack for data storage, subroutine calls and returns. The PUSH
and POP instructions are used to control system stack operations. The S3C8275X/C8278X/C8274X architecture
supports stack operations in the internal register file.
Stack Operations
Return addresses for procedure calls, interrupts, and data are stored on the stack. The contents of the PC are
saved to stack by a CALL instruction and restored by the RET instruction. When an interrupt occurs, the contents
of the PC and the FLAGS register are pushed to the stack. The IRET instruction then pops these values back to
their original locations. The stack address value is always decreased by one before a push operation and
increased by one after a pop operation. The stack pointer (SP) always points to the stack frame stored on the top
of the stack, as shown in Figure 2-17.
High Address
PCL
PCL
Top of
stack
PCH
Top of
stack
PCH
Flags
Stack contents
after a call
instruction
Low Address
Stack contents
after an
interrupt
Figure 2-17. Stack Operations
User-Defined Stacks
You can freely define stacks in the internal register file as data storage locations. The instructions PUSHUI,
PUSHUD, POPUI, and POPUD support user-defined stack operations.
Stack Pointers (SPL, SPH)
Register locations D8H and D9H contain the 16-bit stack pointer (SP) that is used for system stack operations.
The most significant byte of the SP address, SP15–SP8, is stored in the SPH register (D8H), and the least
significant byte, SP7–SP0, is stored in the SPL register (D9H). After a reset, the SP value is undetermined.
Because only internal memory space is implemented in the S3C8275X/C8278X/C8274X, the SPL must be
initialized to an 8-bit value in the range 00H–FFH. The SPH register is not needed and can be used as a generalpurpose register, if necessary.
When the SPL register contains the only stack pointer value (that is, when it points to a system stack in the
register file), you can use the SPH register as a general-purpose data register. However, if an overflow or
underflow condition occurs as a result of increasing or decreasing the stack address value in the SPL register
during normal stack operations, the value in the SPL register will overflow (or underflow) to the SPH register,
overwriting any other data that is currently stored there. To avoid overwriting data in the SPH register, you can
initialize the SPL value to "FFH" instead of "00H".
Instructions that are stored in program memory are fetched for execution using the program counter. Instructions
indicate the operation to be performed and the data to be operated on. Addressing mode is the method used to
determine the location of the data operand. The operands specified in SAM88RC instructions may be condition
codes, immediate data, or a location in the register file, program memory, or data memory.
The S3C8-series instruction set supports seven explicit addressing modes. Not all of these addressing modes are
available for each instruction. The seven addressing modes and their symbols are:
In Register addressing mode (R), the operand value is the content of a specified register or register pair
(see Figure 3-1).
Working register addressing differs from Register addressing in that it uses a register pointer to specify an 8-byte
working register space in the register file and an 8-bit register within that space (see Figure 3-2).
Program MemoryRegister File
8-bit Register
File Address
One-Operand
Instruction
(Example)
Sample Instruction:
dst
OPCODE
Point to One
OPERAND
Register in Register
File
Value used in
Instruction Execution
DECCNTR; Where CNTR is the label of an 8-bit register address
4-bit
Working Register
Two-Operand
Instruction
(Example)
Sample Instruction:
Figure 3-1. Register Addressing
Program Memory
dst
OPCODE
src
MSB Point to
RP0 ot RP1
3 LSBs
Point to the
Working Register
(1 of 8)
Register File
RP0 or RP1
Selected
RP points
to start
of working
register
block
OPERAND
ADDR1, R2; Where R1 and R2 are registers in the currently
In Indirect Register (IR) addressing mode, the content of the specified register or register pair is the address of the
operand. Depending on the instruction used, the actual address may point to a register in the register file, to
program memory (ROM), or to an external memory space (see Figures 3-3 through 3-6).
You can use any 8-bit register to indirectly address another register. Any 16-bit register pair can be used to
indirectly address another memory location. Please note, however, that you cannot access locations C0H–FFH in
set 1 using the Indirect Register addressing mode.
Program MemoryRegister File
8-bit Register
File Address
One-Operand
Instruction
(Example)
dst
OPCODE
Point to One
ADDRESS
Register in Register
File
Address of Operand
used by Instruction
Value used in
Instruction Execution
Sample Instruction:
RL@SHIFT; Where SHIFT is the label of an 8-bit register address
OPERAND
Figure 3-3. Indirect Register Addressing to Register File
Indexed (X) addressing mode adds an offset value to a base address during instruction execution in order to
calculate the effective operand address (see Figure 3-7). You can use Indexed addressing mode to access
locations in the internal register file or in external memory. Please note, however, that you cannot access
locations C0H–FFH in set 1 using Indexed addressing mode.
In short offset Indexed addressing mode, the 8-bit displacement is treated as a signed integer in the range –128
to +127. This applies to external memory accesses only (see Figure 3-8.)
For register file addressing, an 8-bit base address provided by the instruction is added to an 8-bit offset contained
in a working register. For external memory accesses, the base address is stored in the working register pair
designated in the instruction. The 8-bit or 16-bit offset given in the instruction is then added to that base address
(see Figure 3-9).
The only instruction that supports Indexed addressing mode for the internal register file is the Load instruction
(LD). The LDC and LDE instructions support Indexed addressing mode for internal program memory and for
external data memory, when implemented.
Two-Operand
Instruction
Example
Sample Instruction:
LD R0, #BASE[R1]; Where BASE is an 8-bit immediate value
In Direct Address (DA) mode, the instruction provides the operand's 16-bit memory address. Jump (JP) and Call
(CALL) instructions use this addressing mode to specify the 16-bit destination address that is loaded into the PC
whenever a JP or CALL instruction is executed.
The LDC and LDE instructions can use Direct Address mode to specify the source or destination address for
Load operations to program memory (LDC) or to external data memory (LDE), if implemented.
Program or
Data Memory
Memory
Program Memory
Upper Address Byte
Lower Address Byte
dst/src
Sample Instructions:
LDCR5,1234H; The values in the program address (1234H)
LDER5,1234H; Identical operation to LDC example, except that
"0" or "1"
OPCODE
are loaded into register R5.
external program memory is accessed.
Address
Used
LSB Selects Program
Memory or Data Memory:
"0" = Program Memory
"1" = Data Memory
Figure 3-10. Direct Addressing for Load Instructions
In Indirect Address (IA) mode, the instruction specifies an address located in the lowest 256 bytes of the program
memory. The selected pair of memory locations contains the actual address of the next instruction to be executed.
Only the CALL instruction can use the Indirect Address mode.
Because the Indirect Address mode assumes that the operand is located in the lowest 256 bytes of program
memory, only an 8-bit address is supplied in the instruction; the upper bytes of the destination address are
assumed to be all zeros.
Program Memory
Next Instruction
LSB Must be Zero
Current
Instruction
Lower Address Byte
Upper Address Byte
Sample Instruction:
CALL#40H ; The 16-bit value in program memory addresses 40H
In Relative Address (RA) mode, a twos-complement signed displacement between – 128 and + 127 is specified
in the instruction. The displacement value is then added to the current PC value. The result is the address of the
next instruction to be executed. Before this addition occurs, the PC contains the address of the instruction
immediately following the current instruction.
Several program control instructions use the Relative Address mode to perform conditional jumps. The
instructions that support RA addressing are BTJRF, BTJRT, DJNZ, CPIJE, CPIJNE, and JR.
Program Memory
Next OPCODE
Program Memory
Address Used
Current
Displacement
Current Instruction
Sample Instructions:
JRULT,$+OFFSET ; Where OFFSET is a value in the range +127 to -128
In Immediate (IM) addressing mode, the operand value used in the instruction is the value supplied in the operand
field itself. The operand may be one byte or one word in length, depending on the instruction used. Immediate
addressing mode is useful for loading constant values into registers.
Program Memory
OPERAND
OPCODE
(The Operand value is in the instruction)
Sample Instruction:
LD R0,#0AAH
Figure 3-14. Immediate Addressing
3-14
Page 71
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
4 CONTROL REGISTERS
OVERVIEW
In this chapter, detailed descriptions of the S3C8275X/C8278X/C8274X control registers are presented in an
easy-to-read format. You can use this chapter as a quick-reference source when writing application programs.
Figure 4-1 illustrates the important features of the standard register description format.
Control register descriptions are arranged in alphabetical order according to register mnemonic. More detailed
information about control registers is presented in the context of the specific peripheral hardware descriptions in
Part II of this manual.
Data and counter registers are not described in detail in this reference chapter. More information about all of the
registers used by a specific peripheral is presented in the corresponding peripheral descriptions in Part II of this
manual.
The locations and read/write characteristics of all mapped registers in the S3C8275X/C8278X/C8274X register
file are listed in Table 4-1. The hardware reset value for each mapped register is described in Chapter 8, "RESET
and Power-Down."
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
Table 4-2. Set 1, Bank 0 Registers
Register Name Mnemonic Address R/W
Decimal Hex
Oscillator control register OSCCON 224 E0H R/W
SIO control register SIOCON 225 E1H R/W
SIO data register SIODATA 226 E2H R/W
SIO pre-scaler register SIOPS 227 E3H R/W
Port 0 control register (high byte) P0CONH 228 E4H R/W
Port 0 control register (low byte) P0CONL 229 E5H R/W
Port 0 pull-up resistor enable register P0PUR 230 E6H R/W
Port 1 control register (high byte) P1CONH 231 E7H R/W
Port 1 control register (low byte) P1CONL 232 E8H R/W
Port 1 pull-up resistor enable register P1PUR 233 E9H R/W
Port 2 control register (high byte) P2CONH 234 EAH R/W
Port 2 control register (low byte) P2CONL 235 EBH R/W
Port 2 pull-up resistor enable register P2PUR 236 ECH R/W
Port 3 control register (high byte) P3CONH 237 EDH R/W
Port 3 control register (low byte) P3CONL 238 EEH R/W
Port 3 Pull-up resistor enable register P3PUR 239 EFH R/W
Port 0 data register P0 240 F0H R/W
Port 1 data register P1 241 F1H R/W
Port 2 data register P2 242 F2H R/W
Port 3 data register P3 243 F3H R/W
Port 4 data register P4 244 F4H R/W
Port 5 data register P5 245 F5H R/W
Port 6 data register P6 246 F6H R/W
External interrupt pending register EXTIPND 247 F7H R/W
External interrupt control register (high byte) EXTICONH 248 F8H R/W
External interrupt control register (low byte) EXTICONL 249 F9H R/W
Locations FAH are not mapped.
STOP control register STPCON 251 FBH R/W
Locations FCH are not mapped.
Basic timer counter BTCNT 253 FDH R
Locations FEH are not mapped.
Interrupt priority register IPR 255 FFH R/W
4-2
Page 73
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
Table 4-3. Set 1, Bank 1 Registers
Register Name Mnemonic Address R/W
Decimal Hex
LCD control Register LCON 224 E0H R/W
Watch timer control register WTCON 225 E1H R/W
Timer A counter TACNT 226 E2H R
Timer B counter TBCNT 227 E3H R
Timer A data register TADATA 228 E4H R/W
Timer B data register TBDATA 229 E5H R/W
Timer 1/A control register TACON 230 E6H R/W
Timer B control register TBCON 231 E7H R/W
Clock output control register CLOCON 232 E8H R/W
Port 4 control register (high byte) P4CONH 233 E9H R/W
Port 4 control register (low byte) P4CONL 234 EAH R/W
Port 5 control register (high byte) P5CONH 235 EBH R/W
Port 5 control register (low byte) P5CONL 236 ECH R/W
Port 6 control register P6CON 237 EDH R/W
1. An “x” means that the bit value is undefined following reset.
2. A dash(“–“) means that the bit is neither used nor mapped, but the bit is read as “0”.
4-3
Page 74
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
Bit number(s) that is/are appended to
the register name for bit addressing
Full Register nameRegister ID
FLAGS - System Flags Register
Bit Identifier
Reset Value
Read/Write
Bit Addressing
Mode
.7Carry Flag (C)
.6Zero Flag (Z)
.5
R/WR/WR/W
Register addressing mode only
0
1
0
1
Sign Flag (S)
0
1
Name of individual
bit or related bits
Register address
(hexadecimal)
D5H
.7.6.5
xxx
Operation does not generate a carry or borrow condition
Operation generates carry-out or borrow into high-order bit 7
Operation result is a non-zero value
Operation result is zero
Operation generates positive number (MSB = "0")
Operation generates negative number (MSB = "1")
.4.3.2.1.0
x
R/W
x
R/W
x
R/W
Register location
in the internal
register file
Set 1
x
R/W
0
R/W
R = Read-only
W = Write-only
R/W = Read/ write
'-' = Not used
Type of addressing
that must be used to
address the bit
(1-bit, 4-bit, or 8-bit)
Description of the
effect of specific
bit settings
Bit number:
MSB = Bit 7
LSB = Bit 0
nRESET value notation:
'-' = Not used
'x' = Undetermine d va lue
'0' = Logic zer o
'1' = Logic one
Figure 4-1. Register Description Format
4-4
Page 75
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
BLDCON — Battery Level Detector Control Register F4H Set 1, Bank 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.6
.5
.4 Battery Level Detector Output Bit
.3 Battery Level Detector Enable/Disable Bit
.2–.0 Detection Voltage Selection Bits
– – 0 0 0 0 0 0
– – R/W R R/W R/W R/W R/W
Register addressing mode only
Not used for the S3C8275X/C8278X/C8274X
Source Bit
V
IN
0 Internal source
1 External source
0
1
> V
V
IN
V
< V
IN
(when BLD is enabled)
REF
(when BLD is enabled)
REF
0 Disable BLD
1 Enable BLD
= 2.2V
0 0 0
1 0 1
0 1 1
V
V
V
BLD
BLD
BLD
= 2.4V
= 2.8V
Other values Not available
4-5
Page 76
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
BTCON — Basic Timer Control Register D3H Set 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.4 Watchdog Timer Function Disable Code (for System Reset)
.3–.2 Basic Timer Input Clock Selection Bits
.1
.0
1 Clear both clock frequency dividers
0 0 0 0 0 0 0 0
R/W R/W R/W R/W R/W R/W R/W R/W
Register addressing mode only
1 0 1 0Disable watchdog timer function
Other values Enable watchdog timer function
0 0
fxx/4096
(3)
0 1 fxx/1024
1 0 fxx/128
1 1 fxx/16
Basic Timer Counter Clear Bit
(1)
0 No effect
1 Clear the basic timer counter value
Clock Frequency Divider Clear Bit for Basic Timer and Timer/Counters
(2)
0 No effect
NOTES:
1. When you write a “1” to BTCON.1, the basic timer counter value is cleared to "00H". Immediately following the write
operation, the BTCON.1 value is automatically cleared to “0”.
2. When you write a "1" to BTCON.0, the corresponding frequency divider is cleared to "00H". Immediately following the
write operation, the BTCON.0 value is automatically cleared to "0".
3. The fxx
4-6
is selected clock for system (main OSC. or sub OSC.).
Page 77
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
CLKCON — System Clock Control Register D4H Set 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7 Oscillator IRQ Wake-up Function Bit
.6–.5
.4–.3
.2–.0
0 – – 0 0 – – –
R/W – – R/W R/W – – –
Register addressing mode only
0 Enable IRQ for main wake-up in power down mode
1 Disable IRQ for main wake-up in power down mode
Not used for the S3C8275X/C8278X/C8274X (must keep always “0”)
(note)
CPU Clock (System Clock) Selection Bits
0 0 fxx/16
0 1 fxx/8
1 0 fxx/2
1 1 fxx
Not used for the S3C8275X/C8278X/C8274X (must keep always “0”)
NOTE: After a reset, the slowest clock (divided by 16) is selected as the system clock. To select faster clock speeds, load
the appropriate values to CLKCON.3 and CLKCON.4.
4-7
Page 78
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
CLOCON — Clock Output Control Register E8H Set 1, Bank 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.2
.1–.0 Clock Output Frequency Selection Bits
– – – – – – 0 0
– – – – – – R/W R/W
Register addressing mode only
Not used for the S3C8275X/C8278X/C8274X (must keep always “0”)
0 No carry-out of bit 3 or no borrow into bit 3 by addition or subtraction
1 Addition generated carry-out of bit 3 or subtraction generated borrow into bit 3
.1 Fast Interrupt Status Flag (FIS)
0 Interrupt return (IRET) in progress (when read)
1 Fast interrupt service routine in progress (when read)
.0 Bank Address Selection Flag (BA)
0 Bank 0 is selected
1 Bank 1 is selected
x x x x x x 0 0
R/W R/W R/W R/W R/W R/W R R/W
Register addressing mode only
Operation result is ≤ +127 or ≥ –128
4-12
Page 83
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
FMCON — Flash Memory Control Register F0H Set 1, Bank 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.4 Flash Memory Mode Selection Bits
0 1 0 1Programming mode
1 0 1 0Sector erase mode
0 1 1 0Hard lock mode
Other values Not available
.3 Sector Erase Status Bit
.2–.1
.0 Flash Operation Start Bit
0 0 0 0 0 – – 0
R/W R/W R/W R/W R – – R/W
Register addressing mode only
0 Success sector erase
1 Fail sector erase
Not used for the S3F8275X/F8278X/F8274X
0 Operation stop
1 Operation start (This bit will be cleared automatically just after the
corresponding operator completed).
4-13
Page 84
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
FMSECH — Flash Memory Sector Address Register (High Byte) F2H Set 1, Bank 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.0 Interrupt Level 0 (IRQ0) Enable Bit; Timer 1/A Match, Timer B Match
NOTE: When an interrupt level is masked, any interrupt requests that may be issued are not recognized by the CPU.
0 Disable (mask)
1 Enable (unmask)
4-16
Page 87
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
IPH — Instruction Pointer (High Byte) DAH Set 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.0 Instruction Pointer Address (High Byte)
x x x x x x x x
R/W R/W R/W R/W R/W R/W R/W R/W
Register addressing mode only
The high-byte instruction pointer value is the upper eight bits of the 16-bit instruction
pointer address (IP15–IP8). The lower byte of the IP address is located in the IPL
register (DBH).
— Instruction Pointer (Low Byte) DBH Set 1
IPL
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7–.0 Instruction Pointer Address (Low Byte)
The low-byte instruction pointer value is the lower eight bits of the 16-bit instruction
x x x x x x x x
R/W R/W R/W R/W R/W R/W R/W R/W
Register addressing mode only
pointer address (IP7–IP0). The upper byte of the IP address is located in the IPH
register (DAH).
4-17
Page 88
CONTROL REGISTERS S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X
IPR — Interrupt Priority Register FFH Set 1, Bank 0
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode
.7, .4, and .1
0 0 0 Group priority undefined
0 0 1 B > C > A
0 1 0 A > B > C
0 1 1 B > A > C
1 0 0 C > A > B
1 0 1 C > B > A
1 1 0 A > C > B
1 1 1 Group priority undefined
.6 Interrupt Subgroup C Priority Control Bit
.5 Interrupt Group C Priority Control Bit
.3 Interrupt Subgroup B Priority Control Bit
.2 Interrupt Group B Priority Control Bit
.0 Interrupt Group A Priority Control Bit
x x x x x x x x
R/W R/W R/W R/W R/W R/W R/W R/W
Register addressing mode only
Priority Control Bits for Interrupt Groups A, B, and C
0 IRQ6 > IRQ7
1 IRQ7 > IRQ6
0 IRQ5 > (IRQ6, IRQ7)
1 (IRQ6, IRQ7) > IRQ5
0 IRQ3 > IRQ4
1 IRQ4 > IRQ3
0 IRQ2 > (IRQ3, IRQ4)
1 (IRQ3, IRQ4) > IRQ2
0 IRQ0 > IRQ1
1 IRQ1 > IRQ0
(note)
NOTE: Interrupt Group A – IRQ0, IRQ1
Interrupt Group B – IRQ2, IRQ3, IRQ4
Interrupt Group C – IRQ5, IRQ6, IRQ7
4-18
Page 89
S3C8275X/F8275X/C8278X/F8278X/C8274X/F8274X CONTROL REGISTER
IRQ — Interrupt Request Register DCH Set 1
Bit Identifier .7 .6 .5 .4 .3 .2 .1 .0
Reset Value
Read/Write
Addressing Mode