这是一个通过端口发出音的程序.来源于清华的汇编教材(IBM/PC 8086/8088汇编),可是为什么我的机子不能运行它?
如果与硬件有关,那要怎么改它我才能用呢?难道端口还可以因机子的不同而不同吗?我的是赛扬.的,可是也是inter技术啊~
请指教!为了对你表示感谢,先讲一个我昨天调汇编程序(与这个一样,只是加上了定时器,和LOOP,就是每10秒发出一会音)的笑话~~昨天,我刚编好(呵,实际是看书上打的).MASM,LINK,接着.SOUND.EXE.什么也没有.死机了?
怎么回事?按键盘没事.可是不能回到DOS.于是没办法.只好RESTART.这时.只听DI~~~~~DI~~~~~~~DI~~~~~~
不是吧,现在才发声,一想,不对啊,重起了.不可能啊.于是.我重新SOUND.EXE,又死机.我关机.只听,DI~~~~~~~~~~
DI~~~~~~~~.呵,不会吧,没听说过关机还发声,是不是电源问题?于是我拔电源,还是DI~~~~~.呵,怎么回事?难道是CMOS的电让它发的声.呵,是的吧.我不禁有点得意了.为自已这个新的发现.也为我自已的聪明才智~~~.嗯,好了.站起来放松一下.DI~~~的声音还在GO ON.突觉不对.向窗户外看去.呵.  不远处一台电据也正在GO ON~~~~
;sound__Make a sound with the speaker
program segmentmain proc far
  assume cs:program,ds:program
  org 100h
start:
  mov dx,100
  in al,61h
  and al,11111100b
sound:
  xor al,2
  out 61h,al
  mov cx,140h
wait1:
  loop wait1
  dec dx
  jne sound
  int 20h
main endp
program ends
  end start