UPSD3254 STMICROELECTRONICS [STMicroelectronics], UPSD3254 Datasheet - Page 25

no-image

UPSD3254

Manufacturer Part Number
UPSD3254
Description
Flash Programmable System Devices with 8032 Microcontroller Core
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
UPSD3254A-24U6
Manufacturer:
ST
0
Part Number:
UPSD3254A-40T6
Manufacturer:
STMicroelectronics
Quantity:
10 000
Part Number:
UPSD3254A-40U6
Manufacturer:
STMicroelectronics
Quantity:
10 000
Part Number:
UPSD3254A-40U6
Manufacturer:
ST
Quantity:
20 000
Part Number:
UPSD3254B-24U6
Manufacturer:
ST
0
Part Number:
UPSD3254BV-24U6
Manufacturer:
ST
Quantity:
3 100
Part Number:
UPSD3254BV-24U6
Manufacturer:
ST
Quantity:
875
Part Number:
UPSD3254BV-24U6
Manufacturer:
STMicroelectronics
Quantity:
10 000
Part Number:
UPSD3254BV-24U6
Manufacturer:
ST
Quantity:
20 000
Part Number:
UPSD3254BV-40U6
Manufacturer:
ST
Quantity:
200
Data Transfers
Internal RAM. Table 6 shows the menu of in-
structions that are available for moving data
around within the internal memory spaces, and the
addressing modes that can be used with each
one. The MOV <dest>, <src> instruction allows
data to be transferred between any two internal
RAM or SFR locations without going through the
Accumulator. Remember, the Upper 128 bytes of
data RAM can be accessed only by indirect ad-
dressing, and SFR space only by direct address-
ing.
Note: In uPSD325X devices, the stack resides in
on-chip RAM, and grows upwards. The PUSH in-
struction first increments the Stack Pointer (SP),
then copies the byte into the stack. PUSH and
POP use only direct addressing to identify the byte
being saved or restored, but the stack itself is ac-
cessed by indirect addressing using the SP regis-
ter. This means the stack can go into the Upper
128 bytes of RAM, if they are implemented, but not
into SFR space.
The Data Transfer instructions include a 16-bit
MOV that can be used to initialize the Data Pointer
(DPTR) for look-up tables in Program Memory.
Table 6. Data Transfer Instructions that Access Internal Data Memory Space
MOV DPTR,#data16
MOV <dest>,<src>
MOV <dest>,A
XCH A,<byte>
MOV A,<src>
XCHD A,@Ri
PUSH <src>
POP <dest>
Mnemonic
Exchange contents of A and <byte>
Exchange low nibbles of A and @Ri
DPTR = 16-bit immediate constant
MOV <dest>,”@SP”; DEC SP
INC SP; MOV “@SP”,<src>
<dest> = <src>
<dest> = A
Operation
A = <src>
UPSD3254A, UPSD3254BV, UPSD3253B, UPSD3253BV
The XCH A, <byte> instruction causes the Accu-
mulator and ad-dressed byte to exchange data.
The XCHD A, @Ri instruction is similar, but only
the low nibbles are involved in the exchange. To
see how XCH and XCHD can be used to facilitate
data manipulations, consider first the problem of
shifting and 8-digit BCD number two digits to the
right. Table 8 shows how this can be done using
XCH instructions. To aid in understanding how the
code works, the contents of the registers that are
holding the BCD number and the content of the
Accumulator are shown alongside each instruction
to indicate their status after the instruction has
been executed.
After the routine has been executed, the Accumu-
lator contains the two digits that were shifted out
on the right. Doing the routine with direct MOVs
uses 14 code bytes. The same operation with
XCHs uses only 9 bytes and executes almost
twice as fast. To right-shift by an odd number of
digits, a one-digit must be executed. Table 9
shows a sample of code that will right-shift a BCD
number one digit, using the XCHD instruction.
Again, the contents of the registers holding the
number and of the accumulator are shown along-
side each instruction.
Dir.
X
X
X
X
X
X
Addressing Modes
Ind.
X
X
X
X
X
Reg.
X
X
X
X
Imm
X
X
X
25/175

Related parts for UPSD3254