Device architecture
ST92F124xx/ST92F150Cxx/ST92F150JDV1/ST92F250CV2
Bit 5 = DIV2: Crystal Oscillator Clock Divided by 2.
This bit controls the divide-by-2 circuit operating on the crystal oscillator clock (CLOCK1).
0: Clock divided by 1
1: Clock divided by 2
Bits 4:2 = PRS[2:0]: CPUCLK Prescaler.
These bits load the prescaler division factor for the internal clock (INTCLK). The prescaler
factor selects the internal clock frequency, which can be divided by a factor from 1 to 8.
Refer to the Reset and Clock Control chapter for further information.
Note:
Bit 1 = BRQEN: Bus Request Enable.
0: External Memory Bus Request disabled
1: External Memory Bus Request enabled on BREQ pin (where available).
Disregard this bit if BREQ pin is not available.
Note:
6.3.6
Note:
Bit 0 = HIMP: High Impedance Enable.
When a port is programmed as Address and Data lines to interface external Memory, these
lines and the Memory interface control lines (AS, DS, R/W) can be forced into the High
Impedance state.
0: External memory interface lines in normal state
1: High Impedance state.
Setting the HIMP bit is recommended for noise reduction when only internal Memory is
used.
If the memory access ports are declared as an address AND as an I/O port (for example:
P10... P14 = Address, and P15... P17 = I/O), the HIMP bit has no effect on the I/O lines.
Stack pointers
Two separate, double-register stack pointers are available: the System Stack Pointer and the
User Stack Pointer, both of which can address registers or memory.
The stack pointers point to the “bottom” of the stacks which are filled using the push
commands and emptied using the pop commands. The stack pointer is automatically pre-
decremented when data is “pushed” in and post-incremented when data is “popped” out.
The push and pop commands used to manage the System Stack may be addressed to the
User Stack by adding the suffix “u”. To use a stack instruction for a word, the suffix “w” is
added. These suffixes may be combined.
When bytes (or words) are “popped” out from a stack, the contents of the stack locations are
unchanged until fresh data is loaded. Thus, when data is “popped” from a stack area, the
stack contents remain unchanged.
Instructions such as: pushuw RR236 or pushw RR238, as well as the corresponding
pop instructions (where R236 & R237, and R238 & R239 are themselves the user and
system stack pointers respectively), must not be used, since the pointer values are
62/523
Doc ID 8848 Rev 7