English
Language : 

DS80C390_00 Datasheet, PDF (5/155 Pages) Dallas Semiconductor – High-Speed Microcontroller User’s Guide Supplement
DS80C390 High-Speed Microcontroller User’s Guide Supplement
allow their contents to be used for indirect addressing of the upper 128 bytes of RAM. Thus an
instruction can designate the value stored in R0 (for example) to address the upper RAM. This value
might be the result of another calculation.
Stack
Another use of the Scratchpad area is for the programmer’s stack. This area is selected using the Stack
Pointer (SP,81h) SFR. Whenever a call or interrupt is invoked, the return address is placed on the stack.
It also is available to the programmer for variables, etc. The Stack Pointer will default to 07h on reset, but
can be relocated as needed. A convenient location would be the upper RAM area (>7Fh) since this is
only available indirectly. The SP will point to the last used value. Therefore, the next value placed on
the Stack is put at SP + 1. Each PUSH or CALL will increment the SP by the appropriate value. Each
POP or RET will decrement as well.
The DS80C390 supports an optional 10-bit (1 KB) stack. This greatly increases programming efficiency
and allows the device to support large programs. When enabled by setting the Stack Address (SA) bit in
the ACON register, the lower 1 KB of the 4 KB internal SRAM becomes the memory location used by all
instructions that affect the stack. The 10-bit address is formed by concatenating the lower 2 bits of the
Extended Stack Pointer (ESP;9Bh) and the 8-bit Stack Pointer (SP;81h). The exact address of the 1 KB is
dependent on the setting of the IDM1-0 bits. The 10-bit stack feature is not supported when the 4 KB
SRAM is configured as combined program/data memory (IDM1=IDM0=1)
Figure 4- 1 DS80C390 Memory Map (Default Settings)
Program
Memory
Data
Memory
3FFFFFh
External
MOVX Data
Memory
100000h
Internal
memory
00FFFFh
Internal
Register/
Scratchpad
External
Program
Memory
3 KB MOVX
Memory
Internal
SRAM
Memory
00EE00h
External
MOVX Data
Memory
000000h
00F400h
1 KB MOVX or
Stack Memory
00F000h
CAN 1
Data Memory
00EF00h
CAN 0
Data Memory
00EE00h
Indirect RAM2
FFh
Special
Function
Registers 1
80h
Direct and Bit-
addressable
RAM 1
00h
1 These locations addressible
via direct addressing modes,
i.e., MOV CKCON, #89h
2 These locations addressible
via direct addressing modes,
i.e., ANL A, @R0
5 of 155