最近在了解汇编语言,无奈我们的PC机现在大部分是64位的,所以 DOSBox 无法直接使用,所以需要用“DOSBox+MASM32工具包”来搭建汇编环境。
^ - ^ 呵呵,小老弟,你以为64位就能难到我……盘他就完事了
具体步骤如下:
- 下载并安装DOSBox
- 对DOSBox进行配置
- 放置汇编工具
- 使用DOSBox来编译汇编程序
1.下载并安装DOSBox
小小链接分享你,可得给我好好学习呀(某盘链接,提取码 0227)
安装路径不推荐大家更改,文件不是很大,一路 next 即可
2.对DOSBox进行配置
右键电脑桌面上的BOSBox快捷方式,选择“属性”,在弹出的框中选择“打开文件所在的位置”。
可以看到,在该目录下有个名为“DOSBox 0.74 Options.bat”的批处理文件。
双击该文件,系统会默认用记事本打开dosbox-0.74.conf,找到该文件结尾处的“[autoexec]”处,在其下方添加下面两行代码:
MOUNT C D:\MASM # 将目录D:\MASM挂载为DOSBOX下的Cset
PATH=
;D:\MASM # 将D:\MASM写入系统环境变量PATH中
添加这两行代码的目的是使你不必每次进入DOSBox都要输入
MOUNT C D:\MASM (回车)
3.放置汇编工具
将汇编工具包下的MASM复制到随便一个盘下,我是放在了F盘下(随便哪一个都可以了啦,你开心就好了啦)
4.4. 使用DOSBox来编译汇编程序
配置就完成了,来测试一下子咯
先打开你的记事小本本
这是一个求最大数的代码
Data segment
VAR DW 121,1,231,14,55,23
Data ends
Code segment
assume cs:Code,ds:Data
StARt: MOV AX,Data
mov DS,AX
MOV CX,6
LEA SI,VAR
MOV BX,VAR[SI]
JCXZ LASS
AGIN: INC SI
INC SI
CMP BX,VAR[SI]
JAE NEWW
MOV BX,VAR[SI]
NEWW: LOOP AGIN
LASS: CALL SHI
MOV DL,' '
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
SHI PROC
mov cx,10000
call hh1
mov cx,1000
call hh1
mov cx,100
call hh1
mov cx,10
call hh1
mov cx,1
call hh1
RET
SHI ENDP
hh1 proc
mov dx,0
mov ax,bx
div cx
cmp AX,0
JZ ALH
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ALH: ret
hh1 endp
CODE ENDS
END START
命名为 MAXNUM.ASM [汇编代码的后缀为 .ASM 就和C语言的.c是一个道理]
汇编是不分到小写的,把 MAXNUM.ASM文件保存在刚才的 F:\盘下的 MASM文件夹中
- 双击打开桌面的DOSBox快捷方式, 会弹出两个窗口,我们只关注也只使用最小的那个窗口来输入命令。
这么小的破框框我也很难受,但先凑合用吧
接下来敲重点了,输入命令来编译执行文件(64位的自动忽略32位命令)
文件名为 MAXNUM.ASM
64位命令
C :
MASM MAXNUM;
LINK MAXNUM;
MAXNUM
32位命令
CD
CD MASM
MASM MAXNUM;
LINK MAXNUM;
MAXNUM
- 第一步输入 C: <然后回车>
- 第二部编译:MASM MAXNUM;(MASM 文件名,中间是空格,后面跟上英文的;)
哈哈,没错误;
- 第三部链接: LINK MAXNUM;(文件名跟上)
- 第四部在此输入文件名(电脑方向感差,老是迷路,所以文件名得多输几下下了啦):
MAXNUM (这部没有 ; 切记呀)
不然会出现 lllegal command : MAXUNM;
好了,大功告成。小老弟,把你的赞留下再走……