• MS-DOS 系统汇编环境之DOSBOX+vim


    经过虚拟机的体验,我发现还是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>
    

  • 相关阅读:
    Android基础-Android Bitmap高效加载策略
    Android基础-Android进程间通信方式
    Android基础-Android虚拟机及编译过程
    Android基础-View测量、布局及绘制原理
    Android基础-Window、Activity、DecorView以及ViewRoot之间的关系
    Android基础-LruCache原理解析
    Android基础-IntentService详解
    Android基础-AsyncTask详解
    linux 校准时间
    网站自动识别移动端访问并跳转
  • 原文地址:https://www.cnblogs.com/flipped/p/7800494.html
Copyright © 2020-2023  润新知