为什么同一个程序有不同的执行结果?

mingzi520 2009-06-10 02:48:34
标题很迷惑人,其实问题是这样子的,我做了一个exe,用来打印字符串到屏幕,如果直接在cmd窗口执行它,不显示任何东西,如果在command窗口中运行,可以正常显示,如果在Masm for Windows 集成实验环境 2009.3中运行,显示一部分


太奇怪了

麻烦解释一下这种现象,谢谢!
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一般程序用cmd.exe或command.com没有差别的。
差别主要在于TSR程序,cmd.exe默认DOS TSR程序无效的(似乎也有方法启用,我忘记了)。

小赌移情 2009-06-10
  • 打赏
  • 举报
回复
同一個程序在不同瓌境結果不一樣很正常.
看你這個程序本來是為哪個瓌境寫的,
windows中的command是個16位的dos程序 在ntvdm中運行. 而cmd根本不是dos程序.

可以把代碼帖出來看看.
BAYNPU 2009-06-10
  • 打赏
  • 举报
回复
如果是16位DOS程序建议在实地址方式下运行最准确了.
killbug2004 2009-06-10
  • 打赏
  • 举报
回复

建议16位的汇编在command下运行

windows平台都是运行在ms的虚拟86环境下,而cmd与command又不同,command还为32位console控制台程序提供执行环境,实现标准I/O,而控制台stdin/stdout/stderr都有自己的缓冲区,显示控制和int中断不一样

21,500

社区成员

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

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