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

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

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

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

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

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

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

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

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

{

    "cmd": ["C:\\masm32\\bin\\asm.bat", "$file_base_name"],

    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.asm",
"encoding":"cp936", "variants":
[
{
"name": "Run_ASM",
"cmd": ["C:\\masm32\\bin\\asm.bat", "$file_base_name"],
"shell":true
}
]
}

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

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

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

{"keys": ["f4"], "command": "build", "args": {"variant": "Run_ASM"}},

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

这样以后只需要按一下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. HTML—链接

    怎么看都觉得链接太神奇了,尤其是创建电子邮件的链接,于是决定单独写一篇关于HTML链接的内容,同时加深记忆 一.首先,超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,通过点击这些内容来跳转到 ...

  2. session 在PC端正常设置读取,在移动端无法正常读取

    一.背景 最近在做一个面向三端[H5.IOS.安卓]的短信验证码登录接口.发送短信验证码时,服务端通过 session 保存验证码的值.登录时,从 session 获取验证码和用户输入的验证码 相比较 ...

  3. sql 注入风险

    目录 sql 注入风险 什么是sql注入呢? 查看sql注入风险 如何避免 sql 注入风险 pymysql 简单规避注入风险示列 sql 注入风险 什么是sql注入呢? 参考百度 查看sql注入风险 ...

  4. Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unregistered.

    1. Tomcat 错误日志 tail -100f tomcat9/logs/catalina.out 21-Sep-2017 23:05:39.301 INFO [Thread-5] org.apa ...

  5. Android 低功耗蓝牙BLE 开发注意事项

    基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. ...

  6. influxdb系列:一、influxdb概念

    根据influxdb的官方文档介绍,它是一个时间序列数据库,但是仅仅从名字却不知道它跟已有的关系型数据库有什么区别? 当学习一个新的东西的时候,我的习惯往往是想知道它和我已掌握的知识的对比关系,这样子 ...

  7. css设置图片百分比显示,最简洁的代码

    css代码: .img-box { padding-bottom: 100%; } .img-box img { position: absolute; top:; bottom:; left:; r ...

  8. 我与SAP成都研究院吴院长的二三事

    这几天Jerry没怎么看手机,今天才注意到,昨天SAP中国研究院公众号上发布了一篇文章:SAP高管说: 体验经济时代下的SAP客户体验.仔细一看,这不是咱SAP成都研究院的吴院长么. 在今年没有发生部 ...

  9. Android笔记(四十五) Android中的数据存储——XML(一)DOM解析器

    DOM解析XML在j2ee开发中比较常见,在Dom解析的过程中,是先把dom全部文件读入到内存中,然后使用dom的api遍历所有数据,检索想要的数据,这种方式显然是一种比较消耗内存的方式,对于像手机这 ...

  10. c# 日期和时间System.DateTime