📄 cdefab.c
字号:
void Sound(int freq)
{
asm{
mov al, 0B6h
out 43h, al
mov dx, 12h
mov ax, 34DEh
div freq
out 42h, al
mov al, ah
out 42h, al
in al, 61h
or al, 3
out 61h, al
}
}
void Nosound(void)
{
asm{
in al, 61h
xor al, 3
out 61h, al
}
}
void Delay(int clicks)
{
unsigned int far *clock=(unsigned int far *)0x0000046CL;
unsigned int now;
now=*clock;
while(abs(*clock-now)<clicks){}
}
void Sound_All(int freq,int clicks)
{
Sound(freq);
Delay(clicks);
Nosound();
}
void main(void)
{
int i,j;
static unsigned n[][12]={{65,69,73,78,82,87,92,98,103,110,116,123},
{131,139,147,156,165,175,185,196,208,220,233,247},
{262,277,294,311,330,349,370,392,415,440,466,494},
{523,554,587,622,659,698,740,784,831,880,932,988},
{1046,1109,1175,1244,1318,1397,1480,1568,1661,1760,1865,1976},
{2039,2160,2288,2422,2565,2716,2877,3047,3226,3417,3618,3832},
{4058,4297,4551,4819,5104,5405,5724,6061,6419,6798,7166,7625}};
for(i=0;i<6;i++)
{
for(j=0;j<13;j=j+2)
{
Sound_All(n[i][j],10);
}
getch();
}
for(i=0;i<6;i++)
{
for(j=0;j<13;j++)
{
Sound_All(n[i][j],10);
}
getch();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -