请教C调用汇编的问题.
我举个C调用汇编的实例,请高手指点一下.谢先.
---------------------------------------------------------------------
; FFT Computation Routine
;----------------------------------------------------------------------
;====================================================================
; Function Local Frame
;====================================================================
; |_______|
; |_______|<- Stack Pointer (FP+9) <---AR1
; |_______|<- GLCB (FP+8)
; |_______|<- (T2) (FP+7)
; |_______|<- (T1) (FP+6) <---AR5
; |_______|<- BLC (Butterfly loop counter) (FP+5)
; |_______|<- GLC (Group loop counter) (FP+4)
; |_______|<- SLC (Stage loop counter) (FP+3)
; |_______|<- TOST (Twiddle offset, for decimation) (FP+2)
; |_______|<- DOST (Data offset) (FP+1)
; |_______|<- ipcbptr (FP)
; |_______|<- Old FP (AR0) (FP-1)
; |_______|<- Context Save of AR7 (FP-2)
; |_______|<- Context Save of AR6 (FP-3)
; |_______|<- Return Address of the Caller (FP-4)
; |_______|<- FFTxxxx_handle (FP-5)
;
;===================================================================
__FFT128C_calc_frs .set 00009h ; Local frame size for this routine
FFT128C_calc:
POPD *+ ; Store the Return Address in stack
SAR AR6,*+ ; Entry On Save Register AR6
SAR AR7,*+ ; Entry On Save Registe AR7
SAR AR0,*+ ; Store the Caller\'s Frame Pointer
SAR AR1,*
LAR AR5,* ; AR5=FP
LAR AR0,#__FFT128C_calc_frs
LAR AR0,*0+,AR7 ; Create Local frame
这个我研究了一下还有一个问题没有弄懂,LOCAL FRAME SIZE 的长度是怎么确定的呢?
DATASHEET 上有各个AR的用法,但是唯独不提LOCAL FRAME SIZE的长度是如何确定的.