回 帖 发 新 帖 刷新版面

主题:IO输入输出的发声小程序,运行时CPU占用100%!

这个小程序还不能发出声音,本准备让它发声的,可是她就是不出声,拿它没办法,而且还占用CPU 100%,高手帮我看一下。
[color=800000][/color][size=1][size=3]请问为什么不发声,还有占CPU 100%到底是怎么回事啊![/size][/size]
code segment
 main proc far
  assume cs:code
 start:
  push ds
  sub ax,ax
  push ax
  mov bx,6000             
  mov cx,1000
  call sound
 sound proc near           ; 发声小程序,(这段程序我在书上抄的。)
  push ax
  push dx
  mov dx,cx
  in al,61h
  and al,11111100b
 trig:
  xor al,2
  out 61h,al
  mov cx,bx
 delay:
  loop delay
  dec dx
  jne trig
  pop dx
  pop ax
  ret
sound endp
 ret
main endp
code ends
 end start

回复列表 (共5个回复)

沙发

我 从书上 弄的  音乐程序也时这个样子 
没声音 
这时怎么回事啊

板凳

好像是由于操作系统的原因,在windows下运行,dos程序总是抢占系统资源,所以能到百分百。

3 楼

[quote]我 从书上 弄的  音乐程序也时这个样子 
没声音 
这时怎么回事啊[/quote]
有声音噢?

4 楼

我的怎么就没声音呢?与我的CPU,主板什么扬声器有关吗?还有我的汇编程序的masm6.0的!是不是版本低了。
这个中断到底与那些因数有关啊!

5 楼

[em1]我发现他能在纯DOS(WINDOWS98下的DOS)下运行,不能在WINDOWS2000和XP下的虚拟DOS(CMD)下运行,是因为2000和XP没有访问权。
自己回答自己的问题有些老恐,嘿嘿。知识共享嘛!
我说的不对,请帮忙给我改正。[em11]

我来回复

您尚未登录,请登录后再回复。点此登录或注册