From: philippe <pvir@freesurf.fr>
To: Linux-assembly@vger.kernel.org
Subject: sound
Date: Mon, 24 Jun 2002 23:51:11 +0200 [thread overview]
Message-ID: <3D17944F.E391DBF4@freesurf.fr> (raw)
hi
I am new on this list and my name is Philippe.
I used to make some programs on windows but wanted to trye on linux.
I have a problem with a small prog i had done for windows witch play
sounds on the fm chip of a sound card.
But when i translate it on linux, it doesn't work any more.
It compile and link correctly(nasm), but on execution it writes:
segmentation fault!
I post you the sources at the end of this message.
I had an other question:
Where can I find bible of all the interruptions and what is the name of
it?
Philippe
;************************************************
;* Ecriture sur SoundBlaster *
;*1-ecrire dans le adresse port0x388 *
;*2-attendre 12 cycles *
;*3-ecrire dans le data port0x389 *
;*4-attendre 84 cycles *
;compiler:
; nasm -f elf SBB.asm
; ld -s -o SBB SBB.o
section .text ;section declaration
;we must export the entry point to the ELF
linker or
global _start ;loader. They conventionally recognize _start as
their
;entry point. Use ld -e foo to override the
default.
_start:
;mettre tous les registres SB a zero
mov edx,0x388 ;port adresse
mov eax,0x20 ;registre sb 20
out dx,al
mov edx,0x389 ;data port
mov al,7
out dx,al
mov edx,0x388 ;port adresse
mov al,0x40 ;registre sb 40
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov al,0x10
out dx,al
;call WaitR
mov edx,0x388 ;port adresse
mov al,0x60 ;registre sb 20
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov eax,0xf0
out dx,al
;call WaitR
mov edx,0x388 ;port adresse
mov al,0x80 ;registre sb 20
out dx,al
mov edx,0x389 ;data port
mov al,70
out dx,al
mov edx,0x388 ;port adresse
mov al,0x23 ;registre sb 20
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov eax,1
out dx,al
;call WaitR
mov edx,0x388 ;port adresse
mov eax,0x43 ;registre sb 20
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov eax,00
out dx,al
;call WaitR
mov edx,0x388 ;port adresse
mov eax,0x63 ;registre sb 20
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov eax,0xf0
out dx,al
;call WaitR
mov edx,0x388 ;port adresse
mov eax,0x83 ;registre sb 20
out dx,al
;call WaitR
mov edx,0x389 ;data port
mov eax,0x7f
out dx,al
dest3:
mov cx,0xff
dest2:
mov edx,0x388 ;port adresse
mov al,0xa0 ;frequency
out dx,al
mov edx,0x389 ;data port
mov al,cl
xor al,dl
out dx,al
;**send the sound now gogogogo go
mov edx,0x388 ;port adresse
mov eax,0xb0 ;registre sb 20
out dx,al
mov edx,0x389 ;data port
mov eax,0x31
out dx,al
call Waitc
call Waitc
call Waitc
call Waitc
loop dest2
;*******************************************************
mov edx,0x388 ;port adresse
mov eax,0xb0 ;registre sb 20
out dx,al
;CHK: ;attend qu'on appuye sur la touche espace*****
;mov ah,8
;mov dl,0xFF
;int 0x21
;cmp al,' ' ;espace
;je SUITE
;jmp CHK
;SUITE:
mov edx,0x389 ;data port
mov eax,0
out dx,al
;mov ax,0x4c
;int 0x21
mov ebx,0 ;first syscall argument: exit code
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kerne
Waitc:
push ecx
mov ecx,0x8fff
W1:
nop
loop W1
pop ecx
ret
Waitb:
push ecx
mov ecx,0x1fff
W2:
nop
loop W2
pop ecx
ret
next reply other threads:[~2002-06-24 21:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-24 21:51 philippe [this message]
2002-06-25 1:02 ` sound xlp
2002-06-25 8:06 ` sound Rudolf Marek
2002-06-25 21:28 ` sound h-peter recktenwald
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D17944F.E391DBF4@freesurf.fr \
--to=pvir@freesurf.fr \
--cc=Linux-assembly@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox