经过虚拟机的体验,我发现还是dosbox里汇编比较方便。。。。。

一、下载安装 dosbox

DOSBOX

准备好 masm.exe、link.exe、debug.exe,放在~/dos下(文件夹名字随便取)。

打开 dosbox,输入mount c ~/dos,把名为dos的文件夹挂载到dos系统

二、VIM安装

在 dosbox 中

C:
cd vim73
install

三、配置自动挂载、path路径

打开配置文件(位置见后文),在最后的[AUTOEXEC]下加上

mount c: ~/dos
c:
PATH c:\;c:\vim73; #可以直接运行PATH目录下的exe

配置文件路径:

  1. (Windows) "开始"->"所有程序"->DOSBox-0.74->Options
  2. (Linux) ~/.dosbox/dosbox-0.74.conf
  3. (MAC OS X) ~/Library/Preferences/"DOSBox 0.74 Preferences"

四、DOSBOX 快捷键及 MS-DOS 命令

  1. 全屏/退出全屏:alt+enter
  2. 释放鼠标:ctrl+F10
  3. dir 显示目录内容,可选参数:/w 只显示文件名,/P 显示部分内容,*.exe 筛选出可执行文件
  4. cd 进入目录,cd .. 退回上一级目录
  5. . md 新建目录
  6. rd 删除目录
  7. cls 清空屏幕
  8. copy 复制文件
  9. del 删除文件
  10. deltree 删除整个文件夹
  11. ren 重命名
  12. ver显示当前版本号
  13. type 输出文本文件内容
  14. echo 显示消息

五、hello world

新建asm文件:vim hello.asm ,按【i】键,进入插入模式

stack segment stack
db 200 dup(0)
stack ends data segment
buf db 'hello world!$'
data ends code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
lea dx,buf
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start

按【ESC】进入命令行模式,输入:x 保存并退出。

编译:masm hello

链接:link hello

执行:hello

六、配置vimrc

这个vim73 文件夹自带的配置里包含了各种快捷键,比如复制(ctrl+c)粘贴(ctrl+v)保存(ctrl+s),我在原来基础上加上自己的配置以及一键编译运行asm的功能。

首先用vim打开vim配置文件:输入vim _vimrc,加上下面内容,最后保存退出。

filetype indent on
syntax on
set nu ai ci si
set sw=4 ts=4
set autochdir
set backspace=2
set mouse=a map<F4> :w <CR> :!masm %<,,,; <CR> :!link %<,,,; <CR> :!./%< <CR>
imap<F4> <ESC> :w <CR> :!masm %<,,,; <CR> :!link %<,,,; <CR> :!./%< <CR>

MS-DOS 系统汇编环境之DOSBOX+vim的更多相关文章

  1. 【汇编】1.汇编环境的搭建:DOSBox的安装

    前言 DOSBox是一款在windows系统运行DOS程序的环境模拟器.可以解决在64位机中汇编程序编译调试等问题. 本文以 DOSBox 0.74 为例,汇编编译程序采用MASM6. 第一步下载相关 ...

  2. MS-DOS 6.22 +Vim+masm 汇编环境

    安装vim 个人习惯用 vim 编辑,因此稍微折腾了一下.不用这么麻烦直接用 edit 编辑也是可以的. 原来安装的 MS-DOS 7.10 虚拟机安装好vim后无法运行,所以改用了 MS-DOS 6 ...

  3. windows汇编环境配置

    原文地址 软件下载 需要的软件已经打包,包括dosbox和MASM.如果没有这两个软件可以在下面的地址下载. http://hjwblog.com/game/汇编环境.zip 点击下载 安装dosbo ...

  4. [原]Sublime Text3 搭建16位汇编环境(windows)

    最近在学习王爽的<汇编程序>,参考<简单OS开发前奏<一>EDITPLUS+MASM32搭建汇编开发环境(16位+32位)>http://www.cnblogs.c ...

  5. win10汇编环境的搭建

    第一步:下载DOSBox0.74-win32-installer 可以去官网:http://www.dosbox.com/ 或者链接:https://pan.baidu.com/s/1UA77qTLO ...

  6. odoo10源码win系统开发环境安装图文教程

    前言 odoo10的源码安装教程不太完整或对新手不够友好,本新手再次整合出一份友好的新手教程(老鸟慎入) 准备工作 一个干净的window系统(事先没有其他python环境的系统)如果怕系统污染可以先 ...

  7. 基于DRL和TORCS的自动驾驶仿真系统——之环境配置

    基于DRL和TORCS的自动驾驶仿真系统 --之环境配置 玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以 ...

  8. Linux系统Java环境配置

    1.卸载Linux系统自带的JDK java -version rpm -qa | grep -i java 我们要删除掉自带的JDK环境 rpm -e --nodeps java-1.6.0-ope ...

  9. win7 64位环境下配置汇编环境和程序设计

    下载dosbox,并解压安装 下载地址: http://pan.baidu.com/s/1eRJbJAq 默认安装到C:\Program Files (x86)\DOSBox-0.74 安装成功后,双 ...

随机推荐

  1. HTTP协议,Http 常用状态码

    一.HTTP协议-Request   HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文.   1.1 HTTP请求报 ...

  2. Jmeter之发送请求入参必须使用编码格式、Jmeter之发送Delete请求可能入参需要使用编码格式

    这里的其中一个属性值必须要先编码再传参才可以,具体可以通过抓包分析观察:

  3. MapReduce过程<原创>

    一.预处理阶段 二.Map阶段 一个Map任务被JobTracker(管家)分配到多个TaskTracker(弟弟)执行,如下图所示,弟弟的map()只负责拆分,虽然map()输出两个相同的键值对,但 ...

  4. python Drools

    python Drools - 国际版 Binghttps://cn.bing.com/search?q=python+Drools&qs=n&FORM=BESBTB&sp=- ...

  5. 渗透测试平台bwapp简单介绍及安装

    先来介绍一下bwapp bwapp是一款非常好用的漏洞演示平台,包含有100多个漏洞 SQL, HTML, iFrame, SSI, OS Command, XML, XPath, LDAP, PHP ...

  6. 关于JS动画和CSS3动画的性能差异

    本文章为综合其它资料所得. 根据Google Developer,Chromium项目里,渲染线程分为main thread和compositor thread. 如果CSS动画只是改变transfo ...

  7. JS 验证输入框输入 只允许输入正实数(正整数,正小数),其他情况下不能输入 oninput事件

    input标签的oninput事件 要求输入框只输入正实数,包括整数和小数. 具体要求:整数部分不超过7位,可以没有小数,若有位数不超过2位. <input type="text&qu ...

  8. bootstrap模态框关闭后清除模态框的数据

    https://segmentfault.com/q/1010000008789123 bootstrap模态框第二次打开时如何清除之前的数据? 我用了bootstrap模态框的remote功能,在弹 ...

  9. python爬虫之Splash使用初体验

    Splash是什么: Splash是一个Javascript渲染服务.它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT.Twisted(Q ...

  10. Java语言中姐种遍历List的方法总结

    遍历 List 的方法: 1. for 2. advanced for 3. Iterator 4. while 5. ListIterator List<E> list 1. for f ...