Frage

Ich möchte mit diesem Assembler-Programm "Musik" machen oder besser nur einen kleinen "Piepton" ausgeben:

spielen.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

Musik.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

Ich habe beide zusammengebaut mit:

als Musik.s -o Musik.o als Spiel.s -o spielen.o

und verknüpft beide mit:

ich spiele.o Musik.o -o Musik

Aber dann habe ich registriert, dass ich keine "/ dev / dsp" -Datei habe. Gibt es also Ähnlichkeiten zu / dev / dsp in pulseaudio?

War es hilfreich?

Lösung

Vermächtnis /dev/dsp die Schnittstelle ist standardmäßig nicht aktiviert.

Versuchen Sie es, um es zu emulieren padsp (im Lieferumfang von PulseAudio enthalten) oder osspd.

Alternativ können Sie die Beispieldaten auf stdout ausgeben und in pipe weiterleiten aplay.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top