1

刚开始在学校学习Assembler,想问下这段代码怎么编译:

stek Segment Stack
DB 256 DUP(?)
stek ENDS

CR EQU 13
EF EQU 10

Duom SEGMENT
pranesimas DB 'Hello Word', CR,EF
           DB 'Made By Edgar' $
Duom ENDS


prog SEGMENT

ASSUME CS:programa,ds:Duomenis,ss:stekas

START:
        MOV ax,duomenis
        MOV ds,ax

        MOV ah,09
        LEA dx,Pranesimas
        INT 21h


        MOV ah,4ch
Prog ENDS

END START

在 Windows 7 x64 上

因为在学校我们有 Xp x32,所以我们在学校编译的方式在 x64 窗口上不起作用。

4

1 回答 1

1

较新版本的 Windows 已经放弃了 XP 中曾经存在的 16 位支持,因此要编译程序(一个 16 位 DOS 程序),您需要安装DOSBoxBochs或类似的模拟器。

它们将模拟 16 位环境,因此您应该能够在 64 位 Windows(或 Mac/Linux 机器)上使用汇编程序和生成的代码运行 DOS

于 2012-09-23T15:41:15.683 回答