English
Language : 

SDA6000 Datasheet, PDF (64/380 Pages) Infineon Technologies AG – Teletext Decoder with Embedded 16-bit Controller
SDA 6000
C16X Microcontroller
In+2
: POP R0
; pop word value from new top of stack into
R0
Note: Conflicts with instructions writing to the stack (PUSH, CALL, SCXT) are solved
internally by the CPU logic.
Controlling Interrupts
Software modifications (implicit or explicit) of the PSW are done in the execute phase of
the respective instructions. In order to maintain fast interrupt responses, however, the
current interrupt prioritization round does not consider these changes, i.e. an interrupt
request may be acknowledged after the instruction that disables interrupts via IEN or
ILVL or after the subsequent instructions. Timecritical instruction sequences therefore
should not begin directly after the instruction disabling interrupts, as shown in the
following example:
INT_OFF: BCLR IEN
IN-1
CRIT_1ST: IN
...
CRIT_LAST:IN+x
INT_ON: BSET IEN
; globally disable interrupts
; non-critical instruction
; begin of uninterruptable critical sequence
; end of uninterruptable critical sequence
; globally re-enable interrupts
Note: The described delay of 1 instruction also applies for enabling the interrupts system
i.e. no interrupt requests are acknowledged until the instruction after the enabling
instruction.
Changing the System Configuration
The instruction following an instruction that changes the system configuration via
register SYSCON (e.g. the mapping of the program memory, segmentation, stack size)
cannot use the new resources (e.g. program memory or stack). In these cases an
instruction that does not access these resources should be inserted. Code accesses to
the new program memory area are only possible after an absolute branch to this area.
Note: As a rule, instructions that change program memory mapping should be executed
from internal RAM or external / XBUS memory.
BUSCON/ADDRSEL and XBCON/XADRS
The instruction following an instruction that changes the properties of an external / XBUS
address area cannot access operands within the new area. In these cases an instruction
that does not access this address area should be inserted. Code accesses to the new
address area should be made after an absolute branch to this area.
Note: As a rule, instructions that change external bus properties should not be executed
from the respective external memory area.
Users Manual
4 - 31
2000-06-15