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: 13+ 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
-- strict thread matches above, loose matches on Subject: below --
2020-12-30 15:26 sound Christian Labisch
2020-12-30 15:36 ` sound Greg KH
2020-12-30 15:45 ` sound Christian Labisch
2020-12-30 18:10 ` sound Christian Labisch
2020-12-31 8:33 ` sound Greg Kroah-Hartman
2007-02-08 20:24 Sound John Dey
[not found] ` <20070208223023.GA18278@rfa.org>
2007-02-09 1:29 ` Sound John Dey
2007-02-09 2:26 ` Sound Federico Grau
1999-08-02 15:44 Sound Joe Julicher
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.