我想用这个汇编程序制作“音乐”或更好地输出一点“嘟嘟”:

play.s:

datei:
.ascii "/dev/dsp"

.globl play
play:
movl $5, %eax
movl $datei, %ebx
movl $1, %ecx
int $0x80
pushl %eax
movl %eax, %ebx
movl $4, %eax
movl 12(%esp), %ecx
movl 8(%esp), %edx
int $0x80
.

music.s:

.globl _start
#.lcomm buffer, 100
buffer:
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
_start:
pushl $buffer
pushl $100
loop:
call play
jmp loop
movl $1, %eax
movl $0, %ebx
int $128
.

我与:

一起组装

作为music.s -o music.o 作为play.s -o play.o

并链接:

ld play.o music.o -o音乐

但是我注册了我没有“/ dev / dsp”-file。所以pulseaudio中有/ dev / dsp是否有类似的?

有帮助吗?

解决方案

默认情况下,不启用遗留生成的/dev/dsp接口。

要模拟它,请尝试 padsp (包含在pulseaudio),或 osspd

或者,将样本数据输出到STDOUT并将其管制成aplay

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top