前言
- 这是学习汇编的第一个实验作业
- 记录一下DOSBox的使用和配置方法
- 录入书本的Fibonacci.asm
DOSBox配置及使用
先附上一些汇编的工具文件:
百度网盘链接 提取码:rx2v
1、安装DOSBox双击DOSBox0.74-win32-installer.exe
2.解压masm5.zip复制到D盘根目录
-
解压masm5.zip得到masm5文件夹
-
把该文件夹及其下程序复制到D盘根目录
3.打开DOSBox配置环境
方法一:
- 该方法只能临时配置使用
- 打开DOSBox 0.74
- 输入命令
mount d d:\masm5
回车 - 键入
d:
就可以使用masm了
方法二:
- 可使DOSBox打开时自动配置masm环境
- 开始菜单> 打开DOSBox 0.74 Options
- 在打开的文本文件最后面加入语句
mount d d:\masm5 set PATH=%PATH%;d:\;
- 每次打开DOSBox都会自动配置masm
DOSBox的使用
编译一个简单的hello.asm
- masm只能编译同级目录下asm文件
- 可在
D:\masm5
目录下新建一个exam
目录方便文件存放 - 打开DOSBox
- 键入
d:
进入挂载masm的虚拟盘符才能编译 - 文件管理器
d:\masm5
目录下新建hello.asm
文件
STACK1 SEGMENT PARA STACK
DW 128 DUP (?)
STACK1 ENDS
DATA SEGMENT
STRING DB 'Hello World!',13,10,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET STRING
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
-
键入
masm hello.asm
回车 -
可忽略一些输入一路回车
-
得到 hello.obj
-
键入
link hello.obj
-
得到 hello.exe
-
键入
hello.exe
-
得到输出啦
录入Fibonacci.asm
- 提示DOSBox只允许8个字节以下的文件名
- 不然会报
Unable to open input file
错误 - 所以我们就新建一个
Fib.asm
就行了后面再改回来 - 书本Fibonacci.asm代码(貌似编译成exe也是不能运行的)
DATA SEGMENT
RABBITNUN DW 650 ;兔子数
MONTHNUM DB ? ;月数
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
XOR CX,CX ;计数器清零
MOV AX,0 ;斐波那契数初始值
MOV BX,1
NEXT: XCHG AX,BX
ADD AX,BX ;产生新斐波那契数
INC CL ;计数器加一
CMP AX,RABBITNUN ;比较产生的新数与给定数
JAE RESULT ;如果大于等于,结束
JMP NEXT ;小于,继续循环
RESULT: MOV MONTHNUM,CL
MOV AH,4CH
INT 21H
CODE ENDS
END START
结束
附上一篇汇编编译时常见错误解释文章
汇编语言常见的错误