如果使用的是masm,参考这个(Nodepad++结合DOSBox配置一键编译运行),如果使用的是vscode参考这个(vscode配置dosbox任务)

下面介绍notepad++下通过运行命令,调用dosbox来运行tasm汇编工具集的方法
用notepad++编辑好一个代码之后,点击菜单栏中的运行->运行,输入一下代码(需根据软件的具体位置适当修改,将所有d:dos\asm\tasm改为汇编工具所在目录,D:\DOS\DOSBox.exe改为dosbox软件所在位置)

cmd /c del d:dos\asm\tasm\t.* & copy  "$(FULL_CURRENT_PATH)" "d:dos\asm\tasm\t.asm" & D:\DOS\DOSBox.exe -noautoexec -c "mount c d:dos\asm\tasm"  -c "c:"  -c "tasm/t/zi t.asm" -c "tlink/v/3 t.obj" -c "t.exe"
D:\DOS\DOSBox.exe -noautoexec -c "mount c d:dos\asm\tasm" -c "mount d \" $(CURRENT_DIRECTORY)\"" -c "c:" -c "del t.*" -c "copy d:\$(NAME_PART).asm c:\t.asm"-c "tasm/t/zi t.asm" -c "tlink/v/3 t.obj" -c "t.exe"

第一个代码先使用windows的cmd命令复制文件到汇编工具所在目录,再调用dosbox来进行汇编;第二个代码是在dosbox中进行的复制,所以对于一些复杂的文件名第二个可能会无法处理1
再点击运行即可运行,点击保存可以为这个命令设置快捷键,以后只要直接按快捷键即可

命令解释

第一个代码段解释( 其中&是命令之间的连接符号)

  • cmd /c启动cmd命令提示符,执行字符串指定的命令然后终止
  • del d:dos\asm\tasm\t.*删除目录里面原来的程序文件
  • & copy "$(FULL_CURRENT_PATH)" "d:dos\asm\tasm\t.asm"将当前工作的文件复制到汇编工具所在目录
  • & D:\DOS\DOSBox.exe -noautoexec -c “mount c d:dos\asm\tasm” -c “c:” -c “tasm/t/zi t.asm” -c “tlink/v/3 t.obj” -c "t.exe"调用dosbox进行程序的汇编链接与运行

第二个代码段解释

  • D:\DOS\DOSBox.exe -noautoexe需根据实际修改,取消配置文件中的自动执行,防止挂载的时候发生冲突,空格前应为dosbox.exe 所在地址
  • -c "mount c d:dos\asm\tasm"需根据实际修改,将dosbox中的c盘设置为实际的汇编工具所在的目录,加入路径中有空格需要用一对\"\"括起来
  • -c "mount d \"$(CURRENT_DIRECTORY)\""利用notepad自身的环境变量将dosbox中的d盘设置为实际电脑中代码文件所在文件夹
  • -c "c:"将目前工作的磁盘改为c盘
  • -c "del t.*" -c "copy d:\$(NAME_PART).asm c:\t.asm"将需要编译的代码复制到汇编工具所在文件夹这里可以根据时间修改t.asm名称,如果修改下面的t.obj t.exe也要修改
  • -c "tasm/t/zi t.asm" -c "tlink/v/3 t.obj" -c "t.exe"分别为汇编链接运行的三条命令,后缀可以省略,如果上一步的t.asm修改了,也要对应修改这里

详细步骤

在微机原理的学习中经常需要编译简单的汇编程序,由于需要使用的程序都是16位的程序所以在64位系统中需要模拟

安装dosbox和notepad++

  • dosbox官网
  • notepad++官网
  • 汇编工具16位
    • 免安装dosbox和汇编工具的一个小集合
      安装完成之后在快捷方式或者开始菜单的图标上面右键点击,并点击打开文件位置(可能要先点击更多)即可查看程序所在位置

打开notepad++编写汇编语言代码

点击notepad++菜单栏运行->运行

输入相应代码

cmd /c del d:dos\asm\tasm\t.* & copy  "$(FULL_CURRENT_PATH)" "d:dos\asm\tasm\t.asm" & D:\DOS\DOSBox.exe -noautoexec -c "mount c d:dos\asm\tasm"  -c "c:"  -c "tasm/t/zi t.asm" -c "tlink/v/3 t.obj" -c "t.exe"

调试与其他

  • 调试程序输入td t即可在dosbox中进行调试
  • 运行代码之后,在弹出的dosbox窗口中输入exit即可退出,还可以通过ctrl+F92强制杀死程序

附一

  • 网上的Notepad++使用心得
  • dosbox手册
  • csdn上的masm 配置方法
  • 调整dosbox窗口大小

dosbox 配置文件也可以通过这种方式查找
打开dosbox,如下窗口的白色背景字部分即为配置文件地址

附二:效果图

点击运行即可运行代码,点击保存可以设置快捷键,以后只要直接按快捷键即可

运行之后,自动打开dosbox进行汇编链接运行


  1. dosbox中的文件名似乎只能是8个字节,并且可以使用但无法显示中文字符 ↩︎

  2. 参见文档https://www.dosbox.com/DOSBoxManual.html
    参考文档 ↩︎

nodepad++简单配置tasm汇编运行命令(配置汇编语言编译环境)相关推荐

  1. Geany配置C语言、Java、Python编译环境

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Geany配置C语言.Java.Python编译环境 前言 1.Geany配置C语言编译环境 1.下载 2.安装 3.配置环境变量 4 ...

  2. blueJ连接mysql_快速建立Servlet和JSP的运行、调试和编译环境_MySQL

    servlet 相信很多刚开始学习Servlet和JSP的朋友都有一个困扰,就是如何快速方便的建立一个Servlet和JSP的运行.调试和编译环境.本人现在正在国外攻读MIT(Master of In ...

  3. blueJ连接mysql_快速建立Servlet和JSP的运行、调试和编译环境

    快速建立Servlet和JSP的运行.调试和编译环境 更新时间:2006年10月13日 00:00:00   作者: 相信很多刚开始学习Servlet和JSP的朋友都有一个困扰,就是如何快速方便的建立 ...

  4. linux使用命令配置网络,使用nmcli命令配置网络

    使用nmcli命令配置网络 NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效. 1 配 ...

  5. MinGW安装与环境变量配置和Sublime Text 3搭建C++编译环境

    一.MinGW在Windows中的安装与配置: MinGW MinGW(Minimalist GNU For Windows)是个精简的Windows平台C/C++.ADA及Fortran编译器,相比 ...

  6. Linux本地yum源配置以及使用yum源安装gcc编译环境

    本文档是图文安装本地yum源的教程,以安装gcc编译环境为例. 适用范围:所有的cetos,红帽,fedroa版本 适用人群:有一点linux基础的小白 范例系统版本:CentOS Linux rel ...

  7. 配置oracle网络连接命令,配置oracle网络环境

    向数据库注册实例的方法有静态注册和动态注册两种.对于静态注册来说,我们可以将一列硬编码在listener.ora文件中.动态注册意味着实例在启动时要定位侦听器并注册到侦听器中. 动态注册是向侦听器注册 ...

  8. VS下如何配置才能使用 cl 命令行方式编译 C/C++ 程序

    在 VS 环境中,我们可以顺利的编译.生成程序.究其原因,是因为 VS 的 IDE 本身已经配置好了编译程序所需的 executable file , include files 和 library ...

  9. 运行linux的配置,Linux系统运行级别配置

    jQuery系列:Ajax 1. load(url, [data], [callback]) 1.1 解析 载入远程 HTML 文件代码并插入至 DOM 中. 语法格式: load(url, [dat ...

最新文章

  1. 57 Node.js异步编程
  2. 宏基因组分析技术研讨会第5期-最后3个名额,下周开课
  3. VC socket api使用引入
  4. Linux 最常用的脚本,值得学习收藏!
  5. css--css选择器,伪类
  6. micropython会商用吗_NSF商用食品设备认证解析
  7. Apple 低延迟HLS分析
  8. ES6对象(1):新增语法与API
  9. mysql bug_MySQL 记一次 Bug发现过程
  10. 3-32,3-33Pytorch与autograd中的几个重要概念
  11. TIA PORTAL西门子PLC的CPU固件版本兼容问题
  12. 国内6大网络信息采集和页面数据抓取工具
  13. 传奇微端需要下载客户端吗?传奇微端架设教程,微端配置教程
  14. 基于内容的垃圾邮件过滤
  15. 促活用户新方式:在app内嵌入小游戏
  16. 互联网技术架构——画龙点睛
  17. python做动画视频教程_Python入门教程:Python创建动画竟然这么简单!
  18. JVM监控及诊断工具-GUI篇
  19. JAVAphpstudy
  20. 一文搞懂Spring,堪称Spring源码终结者

热门文章

  1. VSCode产生的ipch文件夹占用C盘空间过大处理
  2. 力扣杯2021秋季编程大赛第四题 LCP 42. 玩具套圈
  3. ensp 防火墙示例_华为eNSP配置USG防火墙网络联通实验
  4. 基于Trie树的拼音切分算法
  5. 计算机辅助设计案列,计算机辅助设计与制造实验案例..docx
  6. 测试报告编写,测试结果编写
  7. BZOJ1876:[SDOI2009]SuperGCD 高精度+更相减损法
  8. CIFilter 滤镜 ,分别有什么作用
  9. 使用Navicat给Oracle添加数据库和用户
  10. Oracle 给用户增加权限