天天看点

CAD1 搭建汇编语言环境 win10+dosbox+masm一、dosbox+masm二、编辑和调试程序参考

文章目录

  • 一、dosbox+masm
  • 二、编辑和调试程序
    • 编辑
    • 汇编
    • 链接
    • 调试
    • Hello World实例
  • 参考

一、dosbox+masm

  1. 下载dosbox安装程序并根据提示安装
  2. 下载masm文件,文件夹中要包含这四个文件:DEBUG.COM, EDIT.COM, LINK.EXE, MASM.EXE

    (以上内容由课程提供压缩包,直接解压即可)

  3. 创建工作目录:这里是直接在E盘下建立dos文件夹,里面有两个子文件夹:masm(放置上述masm文件)和asm(保存汇编程序)
  4. 配置DOSBOX。创建一个用于保存汇编工具和汇编文件的目录dos

    打开DOSBOX安装根目录,打开dosbox.conf文件(用记事本打开即可),找到autoexec节点如图:

    CAD1 搭建汇编语言环境 win10+dosbox+masm一、dosbox+masm二、编辑和调试程序参考
    添加以下内容,这样以后就不用每次打开DOSBOX都重新配置一遍了。
MOUNT C E:\dos		# 将目录 E:\dos 挂载为DOSBOX下的C
set PATH=$PATH$; C:\masm 	# 将映射后的C:\masm写入环境变量PATH,从而可以调用E:\dos\masm32的编译工具
C:	#进入DOSBOX系统的C盘
           
  1. 打开dosbox,输入dir,查看有没有DEBUG, MASM等文件。如果有,就已经完成Win10系统下的汇编环境配置了。(图中有一处错误忘了改,set PATH对应的是C:\masm)
    CAD1 搭建汇编语言环境 win10+dosbox+masm一、dosbox+masm二、编辑和调试程序参考
  2. 修改dosbox窗口大小。

    可以通过alt+Enter进入全屏模式。

    修改分配率:配置文件dosbox.conf

    把原始代码:

windowresolution=original
output=surface
           

修改为:

windowsresolution=1280x800
output=opengl
           

呃,好像不行呢。前后没有变化。

暂且这么用着,之后如果有需要再去改它。

二、编辑和调试程序

编辑

三种方法:

  1. 在本机E:\dos\asm中直接用文本文件建立新文件,修改文件扩展名为.asm并保存即可。
  2. 运行DOSBOX,在命令符C:\asm>下输入命令: EDIT test.asm,启动EDIT.EXE进入代码编辑状态。EDIT状态下光标会消失,调用任务管理器alt+ctrl+del即可释放光标。
  3. 在VS Code中编辑。安装汇编语言插件MASM/TASM,打开E:\dos\asm文件夹,创建文件时直接创建后缀为asm的文件即可。

    文件名都需使用英文。

汇编

命令行:masm a.asm

目标:生成目标文件(.obj文件)

检查产生的ERROR并修改

产生的a.obj文件是中间结果

链接

命令行:link *.obj

目标:生成可执行文件(.exe文件)

检查产生的错误,并重新汇编和链接

调试

命令行:debug a.exe

调试命令:

-u: 反汇编

-g: 设置断点

-t: 跟踪执行

-r: 显示寄存器内容

-q: 退出

每次执行显示寄存器内容和下次要执行的指令

Hello World实例

编辑

hello.asm

DSEG SEGMENT
MESS DB 'HELLO WORLD!', 0DH, 0AH, 24H
DSEG ENDS

SSEG SEGMENT PARA STACK
    DW 256 DUP(?)
SSEG ENDS

CSEG SEGMENT
    ASSUME CS:CSEG, DS:DSEG
BEGIN:
    MOV AX, DSEG
    MOV DS, AX
    MOV DX, OFFSET MESS
    MOV AH, 9

    INT 21H
    MOV AH, 4CH
    INT 21H
CSEG ENDS

END BEGIN
           
masm hello	# 编译
link hello	# 链接
hello		# 执行
           

参考

dosbox+masm

继续阅读