我试图在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