鱼C论坛

 找回密码
 立即注册
查看: 108|回复: 6

[已解决]MASM32无法编译和链接小甲鱼视频教学中格式的asm文件

[复制链接]
发表于 2025-2-13 14:40:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 laocaiye 于 2025-2-13 16:11 编辑

我是64位win10系统,前一个求助贴中已说明,可以用masm编译视频教学中演示的第一个程序,但是使用Link命令链接程序时提示64位系统不支持16位程序链接。因此本人下载了MASM32,但是MASM32无法直接编译视频中编写的asm文件格式。怎么解决这个问题,因为刚学习汇编,有没有可以和视频教学挂钩的其他解决问题方式。烦请大神详解!!
最佳答案
2025-2-13 16:11:28
laocaiye 发表于 2025-02-13 16:11
我用dosbox暂时解决了,但是在dosbox中ml不能使用,只 ...


很高兴您已经使用DOSBox解决了一部分问题。如果您在DOSBox中无法直接使用 `ml`,可以尝试分步进行编译和链接。这是一个详细的步骤说明:

步骤一:编写汇编代码
1. 创建一个.asm文件,例如 `hello.asm`。
2. 编写您的汇编代码,例如:
.data
    msg db 'Hello, MASM32!', 0

.code
main:
    mov eax, 4C00h
    int 21h
end main

步骤二:进入DOSBox环境
1. 打开DOSBox。
2. 将您的工作目录挂载到DOSBox,例如:
mount c c:\path\to\your\asm\file
c:

步骤三:编译和链接代码
1. 使用MASM编译您的.asm文件为.obj文件:
masm hello.asm;

2. 使用LINK链接器将.obj文件链接为可执行文件:
link hello.obj;

步骤四:运行生成的可执行文件
1. 运行生成的 `hello.exe` 文件:
hello.exe

这样,您应该能够在DOSBox中顺利编译、链接并运行您的汇编代码。

如果仍有问题或需要进一步帮助,请继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2025-2-13 14:41:08 | 显示全部楼层
由于您使用的是64位的Windows系统,可能会遇到一些兼容性问题。为了能够顺利编译和链接小甲鱼视频教学中的asm文件,可以尝试使用MASM32提供的工具。以下是一个解决方案步骤:

步骤一:配置MASM32环境
1. 下载并安装MASM32 SDK,网址:http://www.masm32.com/
2. 安装完成后,打开命令提示符(cmd)。

步骤二:编写汇编代码
1. 创建一个.asm文件,例如:hello.asm
2. 编写您的汇编代码。例如:
.386
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib

.data
    msg db 'Hello, MASM32!', 0

.code
main:
    invoke MessageBox, NULL, addr msg, addr msg, MB_OK
    invoke ExitProcess, 0
end main

步骤三:编译和链接代码
在命令提示符中运行以下命令:

1. 进入.asm文件所在目录:
   cd C:\path\to\your\asm\file
   

2. 使用MASM32提供的编译器和链接器:
   ml /c /coff hello.asm
   link /subsystem:windows hello.obj
   

这样将生成一个可执行文件hello.exe

步骤四:运行生成的可执行文件
双击hello.exe,您应该会看到一个消息框显示“Hello, MASM32!”。

通过以上步骤,您可以在64位Windows系统中使用MASM32编译和链接汇编代码,并与小甲鱼的视频教学内容配合进行学习。如果有任何问题,欢迎继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-2-13 15:00:45 | 显示全部楼层
哎,小鱼老板的回答内容就是AI回答内容,和没回答没啥两样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-2-13 15:00:56 | 显示全部楼层
laocaiye 发表于 2025-02-13 15:00
哎,小鱼老板的回答内容就是AI回答内容,和没回答没啥 ...


抱歉给您带来了困扰。让我再详细解释一下如何在64位Windows系统上使用MASM32编译和链接小甲鱼视频教学中的汇编代码。

步骤一:配置MASM32环境
1. **下载并安装MASM32 SDK**:
   您可以从以下网址下载MASM32 SDK:http://www.masm32.com/

2. **设置环境变量(可选)**:
   安装完成后,您可以将MASM32的路径添加到系统环境变量,以便在任意目录下使用MASM32的工具。

步骤二:编写汇编代码
1. **创建一个.asm文件**(例如:hello.asm)。
2. **编写汇编代码**:
.data
    msg db 'Hello, MASM32!', 0

.code
main:
    mov eax, 4C00h
    int 21h
end main

请注意,这里的代码是一个简单的示例,确保小甲鱼视频中的代码与您的代码一致。

步骤三:编译和链接代码
使用MASM32提供的工具进行编译和链接,可以避免链接器的兼容性问题。

1. **打开命令提示符(cmd)**:
Win + R,输入 cmd 并按下回车。

2. **进入.asm文件所在目录**:
cd C:\path\to\your\asm\file

3. **使用MASM32提供的编译器和链接器**:
ml /c /coff hello.asm
link /subsystem:console hello.obj
这里使用的是 mllink 工具。

步骤四:运行生成的可执行文件
双击生成的 hello.exe 文件,您应该会看到对应的输出。

其他解决方案
如果仍然遇到问题,可以尝试使用MASM32 SDK自带的批处理文件进行编译和链接:

1. **打开命令提示符**。
2. **进入.asm文件所在目录**:
cd C:\masm32\bin

3. **使用批处理文件**:
build hello.asm

希望这些信息能帮助您解决编译和链接的问题。如果有其他疑问,请继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-2-13 16:11:18 | 显示全部楼层
我用dosbox暂时解决了,但是在dosbox中ml不能使用,只能分步编译和链接。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-2-13 16:11:28 | 显示全部楼层    本楼为最佳答案   
laocaiye 发表于 2025-02-13 16:11
我用dosbox暂时解决了,但是在dosbox中ml不能使用,只 ...


很高兴您已经使用DOSBox解决了一部分问题。如果您在DOSBox中无法直接使用 `ml`,可以尝试分步进行编译和链接。这是一个详细的步骤说明:

步骤一:编写汇编代码
1. 创建一个.asm文件,例如 `hello.asm`。
2. 编写您的汇编代码,例如:
.data
    msg db 'Hello, MASM32!', 0

.code
main:
    mov eax, 4C00h
    int 21h
end main

步骤二:进入DOSBox环境
1. 打开DOSBox。
2. 将您的工作目录挂载到DOSBox,例如:
mount c c:\path\to\your\asm\file
c:

步骤三:编译和链接代码
1. 使用MASM编译您的.asm文件为.obj文件:
masm hello.asm;

2. 使用LINK链接器将.obj文件链接为可执行文件:
link hello.obj;

步骤四:运行生成的可执行文件
1. 运行生成的 `hello.exe` 文件:
hello.exe

这样,您应该能够在DOSBox中顺利编译、链接并运行您的汇编代码。

如果仍有问题或需要进一步帮助,请继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-2-14 05:29:41 | 显示全部楼层

主题:约会技巧.

laocaiye ·±нУЪ 2025-2-13 15:00
°РУгАП°еДШрДЪИЭНКЗAIШрДЪИЭНГШрГЙБСщ

主题:约会技巧.

Best realistic sex game
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-3-1 00:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表