beeping internal speaker - asm in/out

Michele Liberi mliberi@hotmail.com
Tue Apr 4 02:32:00 GMT 2000


Windows has a system function that Beeps the internal speaker...

... but it simply doesn't work!

The two parameters, Pitch and Duration, are ignored and the same sound is 
always produced.

I found a little assembler code for beeping the speaker, but I don't succeed 
to get it compiled with gcc 2.95.2.

the code is:
(turn internal speaker OFF)
in   al,61
and  al,252
out  61,al

(turn internal speaker ON)
in   al,61
or   al,3
out  61,al

I coded it as follows:

asm("in       %al,61");
asm("and      %al,252");
asm("out      61,%al");

asm(
"in     %al,61\n"
"or     %al,3\n"
"out    61,%al\n"
);

but I obtain the following error:
...: Assembler messages:
...: Error: suffix or operands invalid for `in'
...: Error: suffix or operands invalid for `out'
...: Error: suffix or operands invalid for `in'
...: Error: suffix or operands invalid for `out'

and NOW the questions:
1) What's wrong with the code I wrote? Why gcc complains?
2) Is it possible to do the same work with C without using asm?
3) Is there any way to link objects produced with other C compilers?
  for example Borland C has embedded inp and outp functions

Any link to information available on the internet is welcome.

any help will be appreciated.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list