Win8下用DOSBox编写汇编语言

Win8下用DOSBox编写汇编语言      DOSBox 是一个 DOS模拟程序,可以很方便的移植到其他的平台,因此可以使用它在Win8系统中编写汇编语言。下面提供相关下载链接:     DOSBox下载: http://pan.baidu.com/s/1qWwkss0      汇编工具下载: http://pan.baidu.com/s/1i3taKmT  DOSB

大家好,又见面了,我是你们的朋友全栈君。

Win8下用DOSBox编写汇编语言

      DOSBox 是一个 DOS模拟程序可以很方便的移植到其他的平台因此可以使用它在Win8系统中编写汇编语言下面提供相关下载链接:

     DOSBox下载: http://pan.baidu.com/s/1qWwkss0 

     汇编工具下载: http://pan.baidu.com/s/1i3taKmT 

 DOSBox使用指南:

(1)在你的磁盘上新建一个存放自己代码的目录,如:我在E盘下新建一个目录DOS,那么我的工作目录即为:E:\DOS,以后我写的汇编代码就会存放在这个目录下。

 Win8下用DOSBox编写汇编语言

(2)选中上面汇编工具的链接(按下Ctrl,鼠标左键单击即可),下载汇编工具。将下载后的压缩包文件解压到刚才你自己刚才新建的工作目录下,如下图:

    Win8下用DOSBox编写汇编语言

“确定”之后进入文件目录查看,目录中文件如下图:

 Win8下用DOSBox编写汇编语言

我们实际会用到的有以下程序:“debug.exe”“edit.com”“link.exe”“masm.exe”。

(3)下载并安装DOSBox后打开程序,会出现如图所示的两个界面,

Win8下用DOSBox编写汇编语言

我们只需关心红色框选中的界面即可,另外一个界面无需关注,可以最小化但是不能关闭它

(4)在上面红框选中界面依次输入以下命令(命令行不区分大小写):

第一步:   MOUNT C E:\DOS(回车)

;注意这里E:\DOS是你之前创建的工作目录,根据自己的目录输入

第二步:   C:回车

前两步执行结果如下图,

    Win8下用DOSBox编写汇编语言

这样我们就进入了类似win7下DOS的环境,在这里就可以编写汇编程序了。

 为了避免每一次进入界面都要输入上面的命令(尤其是经常使用的情况下这会是很烦人的事情),我们进行下面的简单配置,使得以后使用时可以直接进入我们想要的命令行

首先,进入DOSBox的安装目录,像我的目录是下图红线标注的路径:

 Win8下用DOSBox编写汇编语言

其次,找到上图红圈中的文件,双击它,会出现一个可编辑文本(如果不能进入,那么你可以右击它 –> 打开方式 –> 记事本)如下图:

 Win8下用DOSBox编写汇编语言

然后,在文本中找到[autoexec]可以直接用快捷键Ctrl+F,输入autoexec后回车即可):

 Win8下用DOSBox编写汇编语言

见上图第二步,找到autoexec之后在下面输入

MOUNT C E:\DOS

C:

最后再次运行DOSBox之时就可以看到直接进入了图1所示界面

 环境准备好了,下面进行正式的代码编写阶段:

(1)在命令行输入edit test.asm(test.asm为文件名,asm是汇编代码的后缀名,test可以自拟),这样在你的工作目录下会新建一个名为test.asm的文件;

(2)进入下图所示界面,这是一个编写代码的Edit环境:

Win8下用DOSBox编写汇编语言

(3)在Edit中可以使用 Alt+F 激活File菜单,然后可以使用上下左右键,选择你要用的功能。

4编写代码时要记得每次写完要保存(最好是边写边保存),方法为先按下Alt+F组合键,再用键盘下键选择Save回车即可。

     如果编辑之后未保存文件,会出现下图提示框:

 Win8下用DOSBox编写汇编语言

选择“Yes”即可。

 当然这里也可以新建完文件之后直接退出,在工作目录下用记事本打开文件在记事本中编辑完毕,然后到命令行直接编译运行。(自我感觉这样更方便一点)

 下面是代码的编译调试过程:

(1)输入示例代码,如下图:

code segment
        assume cs:code
    start:
        mov ax,5h
        mov bx,6h
        add ax,bx
 
        mov ah,4ch
        int 21h
code ends
    end start

 Win8下用DOSBox编写汇编语言 

记住在Edit中输入的话,编写完毕要先Save再Exit

(2)回到命令行,输入masm test.asm,显示结果见下图部分一:

 Win8下用DOSBox编写汇编语言 

图中masm命令生成的是Obj文件,图中test.obj之后可以输入以更改文件名,默认文件名与原文件名相同。一般情况直接回车即可

(3)输入link test.obj (如果改了文件名就要使用更改后的文件名),显示结果如图部分二。link命令生成的是Exe文件

同样,这里也可以更改文件名,但是一般情况直接回车即可,不用更改文件名。

(4)输入debug test.exe(debug命令调试的是可执行程序,也就是exe文件),会出现‘-’提示符,在这里就要输入debug命令了。

 Win8下用DOSBox编写汇编语言

在上图可以看到,单步执行之后,首先是AX值为05h,然后是BX值为06h,最后AX的值变为0Bh,为05h和06h的和。

(5)大功告成之后,输入exit退出DOS界面。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126452.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot之SpringApplication初始化

    SpringBoot之SpringApplication初始化SpringApplication的初始化之前已经分析了引导类上的@SpringBootApplication注解,接下来继续分析main方法,只调用了一句SpringApplication.run(SpringbootApplication.class,args),就启动了web容器,我们看看run方法里面做了什么publicstaticConfigurableApplicationContextrun(Class<?>[]primarySources,String[]ar

    2025年8月26日
    7
  • Linux 下如何进入 MySQL 命令行

    Linux 下如何进入 MySQL 命令行格式:mysql-h主机地址-u用户名-p用户密码1、例1:连接到本机上的MYSQL一般可以直接键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、连接到远程主机上的MySQL假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命

    2022年6月3日
    57
  • CMS相关技术实现

    CMS相关技术实现最近要实现单位的CMS(内容管理系统)遇到一个富文本编辑的问题,前台框架是jsp+spring;后台框架打算用flex+spring,不知道这样的框架是否可行?1.不知道这样的框架是否可行?2.由于flex还不能很好的支持富文本编辑(要求的是能够对word,excel进行可视化操作的富文本),打算用IFRAME框架集成ewebeditor,不知道这种方案是否可行…

    2022年6月1日
    32
  • html静态页面代码_静态网页设计代码

    html静态页面代码_静态网页设计代码这个例子我们做一个游戏静态页面,自动跳转到我们想要玩的游戏或者视频等网站大家也可以根绝我的代码,适当修改一些信息,但是套用我的这个模板请注释下来自我这,我也是初学者,辛辛苦苦写了几个小时,尊重下劳动成果先看效果图:我以张杰为背景图,里面是各种网站跳转,比如我点击:冰火人,他就会跳转到4399的冰火人游戏界面。ok,上代码,我觉得比较简单,就没注释,希望能看懂:<!DOCTYPEhtml><html><headlang=”en”><metacha

    2022年9月23日
    3
  • C++11新特性之右值引用(&&)、移动语义(move)、完美转换(forward)

    1.右值引用个人认为右值引用的目的主要是为了是减少内存拷贝,优化性能。比如下面的代码:str为临时对象,然后调用Stringd的拷贝构造函数,将临时对象的值赋值给String,这种拷贝是完全没

    2021年12月28日
    61
  • SpringMVC执行流程和原理「建议收藏」

    SpringMVC执行流程和原理「建议收藏」SpringMVC流程:01、用户发送出请求到前端控制器DispatcherServlet。02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。03、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。04、Dispatche…

    2022年6月28日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号