DoxBox下编译问题

idiot_fox 2016-01-31 01:51:01
代码在MASM32的Quick Editor上运行没问题,而且生成的exe在系统(win7 64位)上可以执行。但是我通过在dosbox里用masm.exe来编译就出现6个severe errors(error A2105 expected instruction or directive)。代码如下

.386

.model flat

includelib C:\lib\kernel32.lib
includelib C:\lib\msvcrt.lib


ExitProcess proto stdcall, dwExitCode:DWORD
printf proto c, arg1:ptr byte, printlist:vararg


.stack 4096


.data
str1 byte "Hello,ASM",0
str2 byte "%s",0Ah,0


.code
_start:
invoke printf,addr str2, addr str1
invoke ExitProcess,0
public _start
end _start

(dosbox中设置了F:\MASM为C盘,lib在MASM中,在Qucik Editor中仅仅改了lib路径而已)
...全文
339 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-03-25
  • 打赏
  • 举报
回复
DosBox里面和外面的masm.exe不是同一个东西。
idiot_fox 2016-02-05
  • 打赏
  • 举报
回复
引用 5 楼 DelphiGuy 的回复:
引用 3 楼 idiot_fox 的回复:
[quote=引用 1 楼 DelphiGuy 的回复:] 应该是masm版本的问题,早期版本的masm不能支持win32汇编,6.x是支持的,但是要调用ml.exe,而ml.exe是win32控制台程序,不能在dos下运行。
masm615我用了,编译出来的exe不能执行
6.15里面的ml.exe是不能在dos下运行的,你怎么编译成exe的。 [/quote]不知道,我输入命令的时候只输入了masm.exe的
zara 2016-02-01
  • 打赏
  • 举报
回复
DOSBox 是纯 dos 的吧,当然是不能运行 Win32 类的程序的了。
如果还是想在虚拟机上测试 Win32 类的程序,可以用 Virtual PC 或 VMWare 之类的虚拟机软件。不过,由于 Win32 的比较完善的保护机制,自己的软件调试一般是无须进虚拟机的。
  • 打赏
  • 举报
回复
引用 3 楼 idiot_fox 的回复:
引用 1 楼 DelphiGuy 的回复:
应该是masm版本的问题,早期版本的masm不能支持win32汇编,6.x是支持的,但是要调用ml.exe,而ml.exe是win32控制台程序,不能在dos下运行。
masm615我用了,编译出来的exe不能执行
6.15里面的ml.exe是不能在dos下运行的,你怎么编译成exe的。
idiot_fox 2016-01-31
  • 打赏
  • 举报
回复
引用 1 楼 DelphiGuy 的回复:
应该是masm版本的问题,早期版本的masm不能支持win32汇编,6.x是支持的,但是要调用ml.exe,而ml.exe是win32控制台程序,不能在dos下运行。
masm615我用了,编译出来的exe不能执行
大熊猫侯佩 2016-01-31
  • 打赏
  • 举报
回复
xxx32的库不可以在纯dos下运行
  • 打赏
  • 举报
回复
应该是masm版本的问题,早期版本的masm不能支持win32汇编,6.x是支持的,但是要调用ml.exe,而ml.exe是win32控制台程序,不能在dos下运行。

21,458

社区成员

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

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