注册 登录
编程论坛 汇编论坛

[求助]这个控制扬声器发生的程序不能运行啊!

maoguoqing 发布于 2007-08-17 21:15, 1669 次点击
在书上抄的,但是运行时他说MS-DOS遇到无效的指令,怎么回事呢?
我在前面加上 .386之后它就不会这么说,但是也没有声音产生,谁
帮我看看,先谢谢了

codeseg segment
main proc far
assume cs:codeseg,ds,codeseg
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
codeseg ends
end start ; 为什么是end start,不是end main呢?
11 回复
#2
无理取闹2007-08-17 21:57

要想学 就从头学吧
回答一下你的三个问题
1。伪指令 指向入口地址
2。dos中断返回
3。程序是从start开始执行的

#3
maoguoqing2007-08-17 22:12

,是是是,我会从头学的,但是我想知道它为什么不能发出声音?程序有错没有?

#4
无理取闹2007-08-17 22:25
其实我不会dos下的汇编 那些中断干什么用的 我都不知道
#5
maoguoqing2007-08-17 23:01

哦。这样啊,那就不管它了。

#6
zhulei19782007-08-19 19:34
你也学到这里了,我也是学到这里的时候编译这个程序不能正确执行。
#7
maoguoqing2007-08-19 19:57

后来你管它没?

#8
无理取闹2007-08-19 20:28
用MessageBeep来响吧
#9
maoguoqing2007-08-19 23:27

那我还可以放mp3来响呢。。

#10
无理取闹2007-08-19 23:28
你灌水哦
#11
maoguoqing2007-08-19 23:32
本来也可以放mp3响的
#12
zhulei19782007-08-20 19:33
以下是引用maoguoqing在2007-8-19 19:57:16的发言:

后来你管它没?

我也还没解决

[此贴子已经被作者于2007-8-20 19:39:39编辑过]

1