在 C 语言和汇编语言混合编程时,TI 公司的 TMS32C55x 系列 DSP 的 C 程序 和汇编程序之间通过寄存器或堆栈来传递数据。请写出混合编程时下面子程序的 返回参数和入口参数的放置位置。struct st_a functionD( folat* x, int* y, int z, long w); struct st_b functionE( folat* x, int y, int z, long* w, …);
时间: 2023-06-14 13:03:46 浏览: 61
在 TMS32C55x 系列 DSP 中,C 语言和汇编语言混合编程时,函数的参数传递方式可以通过寄存器或者堆栈来完成。下面是两个函数的参数放置位置:
1. 函数 functionD 的参数放置位置
函数 functionD 的参数包括一个浮点数指针 x,一个整型指针 y,一个整型变量 z 和一个长整型变量 w,因此参数的放置位置如下:
- 浮点数指针 x 放置在 R0 中,即 a0;
- 整型指针 y 放置在 R1 中,即 a1;
- 整型变量 z 放置在 R2 中,即 a2;
- 长整型变量 w 放置在 R3 中,即 a3。
函数 functionD 的返回值是一个结构体 st_a 类型的变量,因此返回值应该是放置在 R4-R7 中,即 a4-a7。
2. 函数 functionE 的参数放置位置
函数 functionE 的参数包括一个浮点数指针 x,一个整型变量 y,一个整型变量 z,一个长整型指针 w,和一些其他的参数(省略号表示),因此参数的放置位置如下:
- 浮点数指针 x 放置在 R0 中,即 a0;
- 整型变量 y 放置在 R1 中,即 a1;
- 整型变量 z 放置在 R2 中,即 a2;
- 长整型指针 w 放置在 R3 中,即 a3;
- 其他的参数按顺序依次放置在堆栈中。
函数 functionE 的返回值是一个结构体 st_b 类型的变量,因此返回值应该是放置在 R4-R7 中,即 a4-a7。
相关问题
tms320c54x汇编语言,TMS320C54x DSP原理及应用
TMS320C54x是德州仪器公司(Texas Instruments,TI)推出的数字信号处理器(DSP)。它采用的是VLIW(Very Long Instruction Word)架构,具有高效的指令并行性和数据并行性,可以实现高速的信号处理。TMS320C54x是一款通用型DSP,被广泛应用于音频、视频、通讯、雷达、医疗等领域。
TMS320C54x的汇编语言是一种低级语言,用于编写直接操作硬件的程序。它具有高度的灵活性和效率,可以实现对DSP资源的最大利用。
TMS320C54x DSP原理及应用是一本介绍TMS320C54x DSP体系结构、指令系统、编程模型和应用的经典教材。本书从基础开始逐步深入,涵盖了TMS320C54x DSP的各个方面,包括内部结构、指令系统、存储器管理、中断和异常处理、I/O接口、DSP应用等。同时,本书还提供了大量的示例程序和实验,帮助读者掌握TMS320C54x DSP的编程技巧和应用方法。
总之,TMS320C54x汇编语言和TMS320C54x DSP原理及应用是学习和应用TMS320C54x DSP的重要工具。
用TMS320C55x汇编语言写一段程序,实现信号自相关功能
答案:.data
A_Buffer: .word 0, 0, 0, 0, 0, 0
.text
main:
mov @A, A_Buffer
loop:
mov @R0, @A+2
mov @R1, @A+4
mov @R2, @A
mpy @R1, @R0
mov @A+2, @R1
add @A+2, @R2
inc @A
cmp @A, @A+5
jne loop
end