2 bobnupt BobNUPT 于 2017.03.15 21:16 提问

DOS系统下.exe文件转.com文件

在DOS系统下编写了helloworld程序,使用masm进行编译,link进行链接得到了exe文件,想通过exe2bin进行转换,结果显示不成功。原因因该是源程序中使用了DATA数据段和CODE代码段,不止一个SEGMENT了。想知道有什么办法可以解决这个问题吗?
代码:

 .386
DATA    SEGMENT USE16
MSG DB 'HelloWorld!$'
DATA    ENDS

CODE    SEGMENT USE16
    ASSUME CS:CODE,DS:DATA
BEG:    MOV AX,DATA
    MOV DS,AX
    MOV DX,OFFSET MSG
    MOV AH,9
    INT 21H
CODE    ENDS
    END BEG

2个回答

justin_bkdrong
justin_bkdrong   2017.03.16 09:07
已采纳

把 msg 移到 code 段中,
jmp xxx
msg db 'hello$'
xxx:
这样就不用 data段了。

devmiao
devmiao   Ds   Rxr 2017.03.15 23:55
Csdn user default icon
上传中...
上传图片
插入图片