![Infineon Technologies XC2200 Скачать руководство пользователя страница 198](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439198.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Central Processing Unit (CPU)
User’s Manual
4-60
V2.1, 2008-08
CPUSV2_X, V2.2
CPU Interrupt Status (IEN, ILVL)
IEN:
The Interrupt Enable bit allows interrupts to be globally enabled (IEN = 1) or
disabled (IEN = 0).
ILVL:
The four-bit Interrupt Level field (ILVL) specifies the priority of the current CPU
activity. The interrupt level is updated by hardware on entry into an interrupt service
routine, but it can also be modified via software to prevent other interrupts from being
acknowledged. If an interrupt level 15 has been assigned to the CPU, it has the highest
possible priority; thus, the current CPU operation cannot be interrupted except by
hardware traps or external non-maskable interrupts. For details refer to
.
After reset, all interrupts are globally disabled, and the lowest priority (ILVL = 0) is
assigned to the initial CPU activity.
4.8.1
16-bit Adder/Subtracter, Barrel Shifter, and 16-bit Logic Unit
All standard arithmetic and logical operations are performed by the 16-bit ALU. In case
of byte operations, signals from bits 6 and 7 of the ALU result are used to control the
condition flags. Multiple precision arithmetic is supported by a “CARRY-IN” signal to the
ALU from previously calculated portions of the desired operation.
A 16-bit barrel shifter provides multiple bit shifts in a single cycle. Rotations and
arithmetic shifts are also supported.
4.8.2
Bit Manipulation Unit
The XC2200 offers a large number of instructions for bit processing. These instructions
either manipulate software flags within the internal RAM, control on-chip peripherals via
control bits in their respective SFRs, or control IO functions via port pins.
Unlike other microcontrollers, the XC2200 features instructions that provide direct
access to two operands in the bit addressable space without requiring them to be moved
to temporary locations. Multiple bit shift instructions have been included to avoid long
instruction streams of single bit shift operations. These instructions require a single CPU
cycle.
The instructions BSET, BCLR, BAND, BOR, BXOR, BMOV, BMOVN explicitly set or
clear specific bits. The bitfield instructions BFLDL and BFLDH allow manipulation of up
to 8 bits of a specific byte at one time. The instructions JBC and JNBS implicitly clear or
set the specified bit when the jump is taken. The instructions JB and JNB (also
conditional jump instructions that refer to flags) evaluate the specified bit to determine if
the jump is to be taken.
Note: Bit operations on undefined bit locations will always read a bit value of ‘0’, while
the write access will not affect the respective bit location.
All instructions that manipulate single bits or bit groups internally use a read-modify-write
sequence that accesses the whole word containing the specified bit(s).