0

我正在创建我的第一个 x86 汇编程序。我使用 VS Code 作为我的编辑器,并使用 Insight 作为我的调试器,并使用 DOSBox 作为我的模拟器。

首先,我创建了一个.asm程序来更改屏幕的颜色:

   global _start

    section .text

_start:
    call set_colour
    ret 16

set_colour:
    mov ah, 06h         ; scroll up function
    xor al, al          ; clear entire screen
    xor cx, cx          ; upper left corner
    mov dx, 184fh       ; lower right corner
    mov bh, 1eh         ; yellow on blue
    int 10h
    ret 

当我尝试将此.asm文件转换为.o文件时,DOSBox 返回一个错误,指出它无法加载该文件。我究竟做错了什么?

4

1 回答 1

1

虽然 DOSBox 模拟 32 位 CPU,但 DOS 本身在 16 位实模式下运行,没有 DOS4gw 之类的工具,在某些 DOS 游戏中使用,例如 Doom。

我认为-f win32命令行选项是这个错误的罪魁祸首。

于 2021-06-14T05:29:37.813 回答