如何在Linux Assembly上使用定义的频率制作正弦波



我试图在NASM x86_32上使用正弦波形式制作音调,我已经定义了这样的频率:

C: DW 4560
D: DW 4063
E: DW 3619
F: DW 3416
G: DW 3043
A: DW 2711
B: DW 2415
C.: DW 2280

我是Linux组装的新手,我真的很感谢所有的帮助,谢谢:(

公式为:

y(t) = A * sin(2 * PI * f * t + shift)

(A是振幅,f是频率(以Hz为单位(,t是时间,shift是相移(。

数学运算需要什么?

你需要乘法和正弦。

我会给你一些提示:

对于正弦,可以使用FSIN,对于乘法,可以使用FMUL。此外,在x86_32中,所有参数都在堆栈上传递。有了这些信息,你应该能够解决你的任务。

正弦波来源:https://stackoverflow.com/a/50366375/13912132

相关内容

  • 没有找到相关文章

最新更新