Electronic Components Datasheet Search
  New Zealand  ▼
ALLDATASHEET.CO.NZ

X  

HCS12 Datasheet(PDF) 427 Page - Freescale Semiconductor, Inc

Part # HCS12
Description  HCS12 Microcontrollers
PDF  452 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  FREESCALE [Freescale Semiconductor, Inc]
Direct Link  http://www.freescale.com
Logo FREESCALE - Freescale Semiconductor, Inc

HCS12 Datasheet(HTML) 427 Page - Freescale Semiconductor, Inc

Back Button HCS12 Datasheet HTML 423Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 424Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 425Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 426Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 427Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 428Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 429Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 430Page - Freescale Semiconductor, Inc HCS12 Datasheet HTML 431Page - Freescale Semiconductor, Inc Next Button
Zoom Inzoom in Zoom Outzoom out
 427 / 452 page
background image
S12CPUV2 Reference Manual, Rev. 4.0
Freescale Semiconductor
427
C.3.2 Allocating and Deallocating Stack Space
The LEAS instruction can be used to allocate or deallocate space on the
stack for temporary variables:
LEAS
–10,S
;Allocate space for 5 16-bit integers
LEAS
10,S
;Deallocate space for 5 16-bit ints
The (de)allocation can even be combined with a register push or pull as in
this example:
LDX
8,S+
;Load return value and deallocate
X is loaded with the 16-bit integer value at the top of the stack, and the stack
pointer is adjusted up by eight to deallocate space for eight bytes worth of
temporary storage. Post-increment indexed addressing is used in this
example, but all four combinations of pre/post increment/decrement are
available (offsets from –8 to +8 inclusive, from X, Y, or SP). This form of
indexing can often be used to get an index (or stack pointer) adjustment for
free during an indexed operation (the instruction requires no more code
space or cycles than a zero-offset indexed instruction).
C.3.3 Frame Pointer
In the C language, it is common to have a frame pointer in addition to the
CPU stack pointer. The frame is an area of memory within the system stack
which is used for parameters and local storage of variables used within a
function subroutine. The following is a description of how a frame pointer
can be set up and used.
First, parameters (typically values in CPU registers) are pushed onto the
system stack prior to using a JSR or CALL to get to the function subroutine.
At the beginning of the called subroutine, the frame pointer of the calling
program is pushed onto the stack. Typically, an index register, such as X, is
used as the frame pointer, so a PSHX instruction would save the frame
pointer from the calling program.
Next, the called subroutine establishes a new frame pointer by executing a
TFR S,X. Space is allocated for local variables by executing an
LEAS –n,S, where n is the number of bytes needed for local variables.
Notice that parameters are at positive offsets from the frame pointer while
locals are at negative offsets. In the M68HC11, the indexed addressing
mode uses only positive offsets, so the frame pointer always points to the
lowest address of any parameter or local. After the function subroutine
finishes, calculations are required to restore the stack pointer to the



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com