1.软件下载
- DOSBox安装程序及MASM下载
https://github.com/xDarkLemon/DOSBox_MASM/tree/master
打开后如图所示:
- 双击 DOSBox0.74-win32-installer.exe安装DOSBox,此时桌面便可出现DOSBOX图标。
2.配置环境
- 新建工作目录
如:在D盘下新建dos文件夹,并包含两个子文件夹,分别为asm和masm
- masm即为上图中所下载masm,将其拷贝过来即可
- asm用来存放代码
- 进行挂载
运行DOSBox,输入Z:> mount d d:\dos
- d:指d盘
- d:\dos:本机上工作目录dos的位置
即每次打开DOSBox都会直接进入到D盘的dos目录下。
3.测试
- 在asm文件夹下新建 test.ASM 文件,并粘入以下汉诺塔问题代码:
DATA SEGMENT
MESS DB 'Please input N: ','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
XOR BX,BX
L1:
MOV AH,09H
LEA DX,MESS
INT 21H
MOV AH,01H
INT 21H
CMP AL,'0'
JL EXIT
CMP AL,'9'
JA EXIT
MOV BL,AL
MOV CX,'A'
MOV SI,'B'
MOV DI,'C'
CALL HANOI
EXIT:
MOV AH,4CH
INT 21H
HANOI PROC NEAR
CMP BX,'1'
JE L2
PUSH BX
PUSH CX
PUSH SI
PUSH DI
DEC BX
XCHG SI,DI
CALL HANOI
POP DI
POP SI
POP CX
POP BX
CALL PRINT
DEC BX
XCHG CX,SI
CALL HANOI
RET
L2:
CALL PRINT
RET
HANOI ENDP
PRINT PROC NEAR
MOV AH,02H
MOV DL,0AH
INT 21H
MOV AH,02H
MOV DL,CL
INT 21H
MOV DL,BL
INT 21H
PUSH BX
XOR BX,BX
OR BX,DI
MOV DL,BL
INT 21H
POP BX
RET
PRINT ENDP
CODE ENDS
END START
因为windows自带文本编辑器不显示行号等等,这里推荐文本编辑工具:
Notepad++或者Sublime,大家可以自行到官网下载。
- 打开DOSBox,进入到asm目录
cd ./asm
- 汇编
masm test
test 为 test.ASM 的文件名,不加后缀
生成了 test.OBJ 文件
- 链接
link test
生成了 test.exe 文件
- 执行
test.exe
参考:https://blog.csdn.net/YuzuruHanyu/article/details/80287419?spm=1001.2014.3001.5502