【汇编】新_Windows和MacOS配置8086汇编语言环境

1. 获取工具

Windows和Mac都下载这个,仅Dos环境有区别,汇编时用到的文件是通用的

链接: https://pan.baidu.com/s/1KWMNPnrbNGPytZ9FZNM8GA 密码: 0mp7

2. 安装Dos环境

下载完成后,Windows根据dosbox安装及dosbox下masm的使用.doc安装

Mac直接点击Boxer.app即可运行Dos环境(后文将Boxer和dosbox统称为dosbox),不推荐用mac版的dosbox,版本过于久,且不能粘贴(不可忍)

注意,其他文件后面需要用到(特别留意MASM文件夹,里面有MASM.EXE和LINK.EXE汇编时用),妥善保存

3. 尝试

3.1 编写代码

用任意编辑器写完代码,将后缀名改为.asm

把源代码文件放到MASM文件夹中,使得源代码文件与MASM.EXE、LINK.EXE两程序在同一层

3.2 挂载目录

挂载

Dosbox是虚拟机环境,想要在其中访问本机的文件,需要将本机的文件夹挂载到dosbox中

mounnt c d:\MASM5\MASM是将本机D盘中的\MASM5\MASM挂载到dosbox的C盘

切换虚拟磁盘

Dosbox双击打开默认是在Z盘中,执行完上面的挂载操作后,键入命令c:切换到doxbox的C盘中,此时操作C盘中的文件,(例)即是操作本机中d:\MASM5\MASM中的文件

简单指令

更多命令请查DOS命令

切换磁盘:盘符:。例,c:切换到C盘

挂载:mount 盘符 本机文件夹。例,mount c d:\MASM5\将本机中d:\MASM5\挂载到dosbox的C盘中

卸载:unmount 盘符。例,先离开想要卸载的磁盘(切换到其他磁盘),再执行unmount c卸载挂载在C盘上的文件夹

切换目录:cd 目标路径.是当前文件夹,..是上一文件夹。例,cd ./MASM切换到当前你文件夹中的MASM文件夹

列出所有文件:dir。例,当前在C:\MASM5\中年,输入dir将列出当前文件夹中的所有文件和文件夹

3.3 开始汇编

确保环境

确保编写的汇编源代码文件在MASM文件夹中,即与DEBUG.EXE、MASM.EXE、LINK.EXE在同一文件夹内。若没有,快把源文件拿过来放一起

汇编和链接

作为初学者,先不关系具体发生了什么

两条命令

masm 文件名;
link 文件名;

这就是要求把源代码文件和这些工具放在同一个文件夹内的原因,可以不用写全路径,直接输名字即可使用

第一行,运行结果得到中间文件XXX.OBJ。注意1.不加扩展名,2.加分号(为了快速处理)。不加分号需要手动配置一些参数

第二行,运行结果得到可执行文件XXX.EXE。注意1.不加扩展名,2.加分号(为了快速处理)。不加分号需要手动配置一些参数

3.4 使用DEBUG工具

使用DEBUG,可以查看程序运行时的内存和寄存器的数据

启动

命令:debug XXX.EXE,注意加上.exe扩展名

常用命令

更多命令请点击

查看内存:d,在后面加十六进制偏移地址值,可以查看相应地址的内存

查看寄存器:r

单步执行:t,输入一次执行一步,并显示寄存器值

快速执行:g,不打断执行之后的代码

退出:q,到达程序最后后,需手动退出。继续单步调试会执行后面的代码

4. 示例

代码

code segment
    assume cs:code
start:
    ; 给ax寄存器传值,十六进制数b
    mov ax, 0bh

    mov ax, 4c00h ; 4c00h表示程序退出,并返回00,传递退出信息
    int 21h
code ends
end start

截图

  1. 挂载成功后,切换到c盘,并列出当前文件夹内容
    挂载成功后,切换到c盘,并列出当前文件夹内容

  2. 汇编,两步

链接时有无栈段警告,可忽略

汇编

  1. 使用DEBUG示例

执行到第5行时,AX值被修改为BH,紧接着又被修改成4C00H

使用DEBUG示例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章