Windows10下搭建汇编语言开发环境

Windows10下搭建汇编语言开发环境

前言

本学期学校安排有汇编语言这门课,需要自己搭建汇编语言开发环境,特此写下本文记录搭建过程.

关于搭建汇编语言开发环境的教程,我也找了许多,可看下来却依旧一头雾水,经过本人摸索,同时结合网上教程,欲写下这篇易懂的文章.欢迎大家到我的博客网站进行学习.

准备工作

1.下载DOSBox

工具介绍:DOSBox是一个DOS模拟程序,由于它采用的是SDL库,所以可以很方便的移植到其他的平台.目前,DOSBox已经支持在Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系统中运行.不少DOS下的游戏都可以直接在该平台上运行.

工具官网:http://www.dosbox.com/

项目主页:http://sourceforge.net/projects/dosbox/

下载链接1:http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download (32位)

下载链接2(这个是我下载好的,可能会快一点): https://idefun.lanzous.com/i91Xpm4qzyb

2.下载汇编工具包

下载链接:https://idefun.lanzous.com/i4TQgm4zjkf

汇编工具截图

安装教程

1.安装DOSBox

双击运行DOSBox安装程序

点击next

点击next

选择安装位置(我选择都是D:\DOSBox)然后点击install即可

安装位置要记得,后面要用

2.创建工作目录

安装完毕创建一个工作目录(目录位置及目录名可自定义)

我的是在D:/DOSBox/Debug

之后再在Debug下创建两个文件夹ASM(放自己写的汇编程序)和MASM(放汇编工具)

将汇编工具放入MASM文件夹

3.挂载工作目录

打开DOSBox安装目录(我的在D:\DOSBox)

打开后找到DOSBox 0.74 Options.bat这个批处理文件

直接双击运行会出现一个记事本

使用快捷键Ctrl+F查找其中的[autoexec]部分(一般在文件末尾)

在文件中添加下列内容并保存

MOUNT F D:\DOSBox\Debug
set PATH=%PATH%;F:\MASM;
F:
cd F:\ASM

命令解释:

#挂载工作目录挂载到虚拟盘符F(虚拟盘符可自定义,命令不区分大小写)
MOUNT F D:\DOSBox\Debug
#添加系统临时变量(此时的F代表的是D:\DOSBox\Debug)
set PATH=%PATH%;F:\MASM; 
#转到F盘符
F:
#切换到F:\ASM目录
cd F:\ASM

之后重启DOSBox,可见自动执行上述命令

]

注意:不进行此种配置的话,每次打开DOSBox是需要手动输入上述命令,非常麻烦

使用说明

调整窗口大小

初始的界面很小,且不能直接拉伸界面,所以有需要的可以按照下面的方法调整一下
双击打开DOSBox 0.74 Options.bat

使用快捷键Ctrl+F查找windowresolution字段

windowresolution=original
output=surface

改为

windowresolution=800x500  #800x500为自定义大小,可修改
output=opengl 

注意:不用删除原来的语句,在前面加上#注释掉即可

保存后,重启DOSBox生效

创建并编辑文件

关于创建并编辑文件,如果你的工作目录(挂载的目录)有EDIT.COM文件(我提供的汇编工具包中有),那么你就可以在DOSBox中创建并编辑文件,如果没有请使用我提供的工具包或者耐心往下看.

使用DOSBox创建并编辑文件(不推荐)

打开DOSBox使用下面命令创建并编辑test.asm文件

edit test.asm

回车后进入下面界面即可进行编辑(注意:鼠标箭头只能在编辑器里活动,想将鼠标退出来的话可以用Ctrl+F10组合键退出)

使用记事本创建并编辑文件(其他编辑器也可以)

下面以此种方式创建test.asm文件

新建文本文档,将下面代码复制到里面并保存

datas segment
buf db'Hello, World!$'
datas ends

stacks segment stack
db 200 dup(0)
stacks ends

codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax

mov dx,seg buf
lea dx,buf
mov ah,09h
int 21h

mov ah,4ch
int 21h
codes ends
end start

之后重命名为test.asm

编译调试

打开DOSBox输入下面命令

masm test.asm

回车后会询问文件名,建议直接回车

可以像上图一样分别输入文件名,打开ASM查看如下

本文全部默认即不分别输入文件名直接回车

打开ASM文件夹查看如下

继续输入命令

link test.obj

运行完毕,查看ASM文件夹


继续执行下列命令

debug test.exe

debug的简单使用

命令作用
R命令查看、改变CPU寄存器的内容
D命令查看内存中的内容(机器指令形式)
E命令改写内存中的内容,即提供指令(使用机器指令),用得比较少,多为A命令
U命令查看内存中的内容(将机器指令形式转换为汇编指令的形式)
T命令执行一条汇编(机器)指令(就是执行当前指令缓冲器中的指令)
A命令相比较E,使用汇编指令进行内存修改——向内存提供机器指令
P命令在遇到汇编指令为int xx 时,使用p指令结束(否则CPU会指向一个
未知的地址段)
R命令
查看CPU寄存器的内容

改变CPU寄存器的内容


备注:关于其他命令我也是正在学习中,以后会补上的

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mongshangssd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值