SDKZSPF LSI, SDKZSPF Datasheet - Page 67

no-image

SDKZSPF

Manufacturer Part Number
SDKZSPF
Description
Manufacturer
LSI
Datasheet

Specifications of SDKZSPF

Lead Free Status / Rohs Status
Supplier Unconfirmed
3.2.6.2
zdcc
stdu
stdu
stu
stdu
mov
stu
mov
sub
mov
mov
add
ldu
mov
lddu
ldu
lddu
lddu
add
mov
ret
ld
ld
ret
pushd
mov.e
pushd
pushd
add
The appropriate epilogue code for the above prologue is shown below.
ZSP interrupt routines expect the stack pointer to point to a writable
location. This requirement prevents the use of the stack pointer to
directly restore the saved registers in this epilogue. Instead, the stack
pointer is copied to r6, and r6 is used to restore the saved registers. After
all the registers are restored, r6 is copied back to the stack pointer.
Some functions can restore registers without using r6. This is done by
utilizing indexed loads. For example, a leaf function with r8 and r9 stored
at stack offsets 1 and 2 can use the following epilogue:
r8, r12, 1
r9, r12, 2
The following is a sample epilogue that saves r8, r9, a2, and %rpc and
reserves 20 words of space on the stack. Note that with optimization, this
code is reordered with non-prologue code for better scheduling:
r8, a7
r8, %rpc
r8, a7
a2, a7
a7, -20
Compiler Conventions
Copyright © 1999-2003 by LSI Logic Corporation. All rights reserved.
r0, r12, -2
r2, r12, -2
r7, r12, -1
r8, r12, -2
r13, %rpc
r13, r12, -1
r13, 30
r12, r13
r6, r12
r13, 31
r6, r13
r13, r6, 1
%rpc, r13
r8, r6, 2
r7, r6, 1
r2, r6, 2
r0, r6, 2
r6, -1
r12, r6
3-13