DOSBox - 该程序无法在 dos 模式下运行(汇编)

问题描述 投票:0回答:3

几周以来,我一直在学习汇编语言编程,今天我安装了编译汇编程序所需的所有应用程序。

我安装了 DOSBox 0.74、NASM(汇编器)和 AFD(调试器)。我安装了驱动器并正确地看到了我的 .asm 文件。但是当我执行以下命令时:

nasmfirstprogram.asm -ofirstprogram.com

它给了我以下错误:

This program cannot be run in dos mode

但是当我通过命令提示符(cmd)编译文件时,它编译正确,然后我必须进入 DOSBox 运行 AFD 并调试 .com 文件。

知道为什么我在 DOSBox 上收到此错误吗?

assembly nasm
3个回答
8
投票

您收到此错误消息是因为您尝试在虚拟 MS-DOS

 平台上运行 
nasm 二进制文件Windows 版本。不支持此操作。相反,您应该下载并使用 MS-DOS
nasm
二进制文件

说明:当您查看可移植可执行格式(.exe、.dll 和某些 .com 文件的内部格式)的详细信息时,您将遇到 MS-DOS 存根标头。此标头的主要功能是在 16 位实模式操作系统(如 MS-DOS)上执行时显示消息“此程序无法在 DOS 模式下运行”。此消息向用户发出警告,表明他们尝试运行的程序与当前系统不兼容。


1
投票

您下载的是在 Windows 中运行的版本。当您打开特定版本的目录时,其中有各种操作系统的子目录。

例如这里: https://www.nasm.us/pub/nasm/releasebuilds/2.12/

如果您从 /dos 文件夹下载该程序,您将能够在 DOSBox 中运行它,但是如果您从 /win32 文件夹下载该程序,您将只能从 Windows 运行它。


-5
投票

可能你正在做所谓的

console application
。它在控制台上运行,但需要
Windows 95
或从不在幕后,主要是为了
fat32
支持。

© www.soinside.com 2019 - 2024. All rights reserved.