c++中嵌入asm的问题

jpshaoping 2003-11-20 03:45:26
下面一段小程序,编译时没错,也没有警告

可是一运行的时候就出现程序错误那个警告框

编译工具是vc++ 6.0,系统2000 pro

这个程序是在书上抄的,看不错哪里错了,大虾们请指点一下,先谢了。

void main()
{
_asm
{
mov ah,8
int 21h
cmp al,'0'
jb big
cmp al,'9'
ja big
mov dx,ax
mov ah,2
int 21h
}
big:{;}
}

...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jpshaoping 2003-11-21
  • 打赏
  • 举报
回复
明白,每人5分,请原谅,我没什么分。
紫郢剑侠 2003-11-20
  • 打赏
  • 举报
回复
int 21h在DOS的MZ格式的可执行程序中是可以调用的.

但WINDOWS的PE格式就不行了.
xygod 2003-11-20
  • 打赏
  • 举报
回复
哈哈,我在delphi下突发奇想,在内嵌汇编中用了int 10h,你们猜怎么着,编译通过了,一运行程序,哈哈,严重的蓝屏,系统立时崩溃,好玩!
spbabyba 2003-11-20
  • 打赏
  • 举报
回复
int 21h windows 编程里不能这样用中断了!
csdsjkk 2003-11-20
  • 打赏
  • 举报
回复
vc++生成32位windows程序(pe格式),
这段汇编是16位dos代码,
win2000操作系统不支持在32位windows程序里执行16位dos调用

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧