最近需要学8086汇编,课堂教学竟然是PPT看代码,然而不运行程序是没法学编程的。网上的教程有很多坑点,摸索出了正确的步骤。

1.安装sublime3、安装MASM32、64位系统安装DOSBOX(因为64位系统不兼容16位程序)。

  假设DOSBOX安装路径是C:\DOSBox-0.74-3\,MASM32的安装目录是C :\ MASM

2. C:\masm32\bin文件夹下,新建一个文本文件,写入

  1. @echo off
    C:\masm32\bin\ml.exe /c %.asm
  2. C:\masm32\bin\LINK16.exe %.obj %,,,,,
    C:\DOSBox-0.74-3\DOSBOX.exe %1.exe

保存,将文件名改为asm.bat

这里的坑点是link16这个程序在读入1.obj后,不会执行链接,还会出现一些选项,要敲很多回车才会最终执行。必须把后面的选项也用参数一次传入,才会执行链接。

注意要根据你的安装路径来写。

3.在sublime里选择   工具--编译系统--编译新系统,写入

  1. {
  2.  
  3. "cmd": ["C:\\masm32\\bin\\asm.bat", "$file_base_name"],
  4.  
  5. "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  6. "selector": "source.asm",
  7. "encoding":"cp936",
  8.  
  9. "variants":
  10. [
  11. {
  12. "name": "Run_ASM",
  13. "cmd": ["C:\\masm32\\bin\\asm.bat", "$file_base_name"],
  14. "shell":true
  15. }
  16. ]
  17. }

这样就能通过ctrl+B来运行了。

4.进一步:设置一个快捷键替代ctrl+B:

打开sublime首选项->快捷键设置,在方括号里添加一行

  1. {"keys": ["f4"], "command": "build", "args": {"variant": "Run_ASM"}},
  2.  
  3. 如下:
  1. [
  2. {"keys": ["f4"], "command": "build", "args": {"variant": "Run_ASM"}},
  3. ]

这样以后只需要按一下F4,就能运行程序了。

sublime的优点是打开就能写,写完就能运行,后期随便归档,支持多种语言。有了它,能写C++、python、java等,不用再装臃肿的VS、PyCharm等等。

对此教程复现异常的可以留言讨论。

用sublime3编写运行16位汇编程序_详细教程的更多相关文章

  1. Windows + Ubuntu 16.04 双系统安装详细教程

    Windows + Ubuntu 16.04 双系统安装详细教程 2018年01月28日 16:43:19 flyyufenfei 阅读数:165619   发现了一篇好教程,果断转载了,以后用得着时 ...

  2. MASM 16位汇编程序几种典型的格式

    1.有名段 data segment output db 'Hello world!$' data ends code segment start: assume ds:data,cs:code mo ...

  3. Windows + Ubuntu 16.04 双系统安装详细教程(转)

    转载自:http://www.cnblogs.com/Duane/p/6776302.html 前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分 ...

  4. windows10-64位安装OpenSSL详细教程(转载)

    相关软件下载地址: 1.ActivePerl 5.26.1:https://www.activestate.com/activeperl/downloads 2.openssl-1.1.0g:http ...

  5. Ubuntu 16.4 安装anaconda 详细教程

    下载 官方下载地址:https://www.continuum.io/downloads 所有安装包地址:https://repo.continuum.io/archive/ 这里使用 Python ...

  6. 《汇编语言 基于x86处理器》第十章 - 运行一个 16位实地址汇编程序

    ▶ 书上第 10 章,主要讲了宏,引用了一个 16 位实地址的程序,从代码开始到运行 ● 代码 ; main.asm INCLUDE Macros.inc IF IsDefined( RealMode ...

  7. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16

    一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...

  8. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码

    不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 ...

  9. Linux 桌面玩家指南:08. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. mysql 存储过程、视图---创建、调用、删除

    之前一直用的是Sql Server数据库,最近偶然机会接触到mysql.这里总结了关于mysql 存储过程.视图的“创建.调用.删除”示例 ============================== ...

  2. SQL*Plus 与数据库的交互(SQL*Plus时什么)

    Oracle 的 SQL*Plus 是与数据库进行交互的客户端工具,在 SQL*Plus中,可以运行 SQL*Plus 命令与 SQL*Plus 语句.   SQL*Plus 时一个基于 C/S 两层 ...

  3. python(字典函数/操作)

    一.字典操作 1.往字典中添加键值对 dict["key"] = "value" stu = {"} stu["sex"] = & ...

  4. kubernetes-使用Calico配置NetworkPolicy

    安装网络插件Calico 先下载好yml,因为我的虚拟机地址(192.168.17.180)在192.168.0.0/16网段中 所以要修改 wget https://docs.projectcali ...

  5. 关于视频解码总结--JavaCV

    关于视频解码的所收集资料进行总结 前言:内容不全,但有一定参考性! 关于java后台视频解码 进行js将视频每秒或更低裁截传输,后台使用最优方案(自己感觉): JavaCV(点击进入) 缺点:整合工具 ...

  6. Linux命令——lspci

    参考:7 Linux lspci Command Examples to Get PCI Bus Hardware Device Info 简介 lspci可以看成“ls” + “pci”.lspci ...

  7. linux 利用LDAP身份集中认证

    碰巧所在的公司用到了ldap 集中身份认证,所有打算研究下这套架构,但是看遍了网络上的很多教程,要么不完整,要么就是照着根本弄不出来,十月一研究了三天,结合八方资源终于弄出来了,真是不容易,哎,特此记 ...

  8. HTML&CSS基础-常用选择器

    HTML&CSS基础-常用选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  9. c的链表实现

    c的链表实现 复习了 单向链表.双向链表 ,代码中注释不多,但基本从函数名字就可以知道函数的作用. 双向链表中的前后节点中的思路是按照linux内核中思路写的. 环境 GCC 7.4.0 单向链表 # ...

  10. WebAssembly(wasm)是什么?——学习

    WebAssembly 是一种可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案. 参考文章标题:几张图让你看懂WebAssembly 参考地址:https://www. ...