Ensamblador - Necesito la interrupcion del speker

 
Vista:

Necesito la interrupcion del speker

Publicado por Rolando (2 intervenciones) el 09/10/2003 02:31:33
Necesito la interrupcion para activar el sonido del speaker
y si pueden enviarme melodiashechas en enasamblador tambien se vale
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito la interrupcion del speker

Publicado por Ge-ergon (6 intervenciones) el 14/11/2003 20:04:25
Hola!
Puedes utilizar las rutinas del altavoz interno
de freelib30.(ver anexo)

Para apoyarte puedes buscar información sobre:
-Timer 8253
-PIO 8255

(*Anexo:rutinas de freelib30*)

---------------------------------
Ideal
Public sound,nosound

Model Tiny
P186
CodeSeg

;****************** sound() -- Turn on speaker at specific frequency
;void sound(int freq);

freq equ bp+4

Proc sound

push bp ;Set up stack frame
mov bp,sp
pusha ;Save registers

mov dx,12h ;BX = 1193180 / freq.
mov ax,34DCh
mov bx,[freq]
div bx
xchg bx,ax

mov al,0B6h ;Set frequency
out 43h,al
mov al,bl
out 42h,al
mov al,bh
out 42h,al

in al,61h ;Turn on speaker
or al,3
out 61h,al

popa ;Restore registers
pop bp ;Delete stack frame
ret 2 ;Return

EndP sound

;****************** nosound() -- Turn off speaker
;void nosound(void);

Proc nosound

push ax ;Save AX

in al,61h ;Turn off speaker
and al,0FCh
out 61h,al

pop ax ;Res
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito la interrupcion del speker

Publicado por ge-ergon (18 intervenciones) el 02/08/2004 06:15:00
Puedes obtener la libreria freelibs desde aqui
http://www.faqs.org/faqs/assembly-language/x86/borland/section-6.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar