经过虚拟机的体验,我发现还是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. poj3468 线段树的懒惰标记

    题目链接:poj3468 题意:给定一段数组,有两种操作,一种是给某段区间加c,另一种是查询一段区间的和 思路:暴力的方法是每次都给这段区间的点加c,查询也遍历一遍区间,复杂度是n*n,肯定过不去,另 ...

  2. Imbalanced Array CodeForces - 817D (思维+单调栈)

    You are given an array a consisting of n elements. The imbalance value of some subsegment of this ar ...

  3. Python之列表

    一.列表的特点 列表也是一种数据类型 列表元素是有序的,有编号的 列表元素的下标从0开始 列表中的每一个值叫一个元素,编号叫下标(索引/角标): stu_name=['崔海龙','杨帆','lrx', ...

  4. JEECG SSO kisso

    kisso: java 基于 Cookie 的 SSO 中间件 kisso https://gitee.com/baomidou/kisso kisso首页.文档和下载 - 基于 Cookie 的 S ...

  5. WCF使用相关

    1.不显示WCF服务主机 在WCF项目属性中的WCF选项卡总关闭下图的选项 2.在其他项目中承载WCF服务 其他加载的操作一致,需要把WCF的endpoint和behavior节点复制到 启动服务的那 ...

  6. PHP的优化建议(仅借鉴)

    转载: https://www.awaimai.com/1050.html 1 字符串 1.1 少用正则表达式 能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则 ...

  7. Jmeter之Constant Timer与constant throughput timer的区别(转)

    当放置Constant Timer于两个http请求之间,那么它代表的含义是:在上一个请求发出至完成后, 开始Contant Timer指定的时间,最后再发出第二个请求.它并不是代表两个请求之间的发送 ...

  8. cpp11_thread线程

    一.进程与线程 cpu一般有m核n线程的说法,那么该cpu只能同时运行n个线程(线程中没有sleep). #include <thread> #include <mutex> ...

  9. MyBatis映射文件3(参数处理Map)

    参数命名 POJO 如果多个参数,正好是业务逻辑的数据模型,那么我们就可以直接传入POJO,这样#{}中就可以直接使用属性名 Map 如果多个参数不是业务逻辑的数据模型,没有对应的POJO,为了方便, ...

  10. DTW动态时间规整

    参考: https://blog.csdn.net/raym0ndkwan/article/details/45614813