【vscode】vscode配置汇编环境

前言

因为近来个人的课程涉及到汇编语言,加上个人目前是个vscode的重度使用者,所以,要捣鼓一下汇编的配置。

自然,有很多博客写过如何配置,但是每个人在配置过程中关注的点都会有所不同。

因此,一方面,我会在博客末尾给出参考的博客的链接,另一方面,我会写一下自己是如何配置的。


目录

@


所需环境配置的分析【只需要黑箱,就略过此部分】

首先,个人本着配置需要下的东西越少越好的原则来进行配置,因此,假如要配置一个东西,我一定会弄清楚它的作用是什么。

配环境时,假如有时间的话,拒绝 “黑箱” 式配置,能学到的更多。

我会省略一些赘述和不必要的插图,因此在某些部分,读者可能需要点击相关链接自行阅读一下相关文档,或者偷懒直接用我的结论。

进入正题。

在参考的博客中,提到了安装以下插件:

  • MASM/TASM
  • masm-code
  • vscode DOSBox
  • Code Runner
  • MASM

画线的部分,是个人参考的博客中,都提到要安装的插件,让我们看看这个插件的介绍吧

全英文,感到吃力?如果希望轻松一点,可以点击橙色方框中文 in gitee​。为了方便理解,接下来我们到VSCode下DOS汇编插件(gitee.com)(链接:https://gitee.com/dosasm/masm-tasm/#/dosasm/masm-tasm/blob/main/masm-tasm/README.zh.md)上面去。

简单看下插件的相关介绍,这个插件的本质就是在vscode里面调用DOSBox(或者其他跟其类似的汇编工具)来编写汇编程序代码。因此,我们需要以下的准备:

  • 汇编工具DOSBox的下载

  • 其余插件介绍

    • VSCode DOSBox

    • MASM

      • This extension provides Microsoft Macro Assembler language support for Visual Studio Code.
      • 提供 Language syntaxes support(语法支持)
      • 语法支持,下了。
    • masm-code

      • Integrate Masm syntax highlight and code snippets into VSCode and auto compile in DOSBox.
      • 国内汇编学习者开发的写汇编作业的开箱即用的插件,可以免去繁琐配置?(个人不怕配置繁琐,要的就是自己配置全过程的体验,就不下这个了)
      • 也许自己也可以整个类似的插件?
    • MASM Runner

      • Extension for compiling and running MASM (Microsoft Macro Assembly Language).
      • 是一个全平台的编译插件,使用Irvine Library的库打包。
      • 不是必需的,不下。
      • 可以结合《汇编语言:基于x86处理器(原书第7版)》食用。
    • Code Runner

      • 运行多种语言的片段或者代码文件。
      • 个人以前下过,但没捣鼓过咋用,这不是本篇的重点,因此此处不予讨论。
      • 这不是必需的。


配置过程

所需插件:

  • MASM
  • VSCode DOSBox
  • MASM/TASM

所需汇编工具:

DOSBox下载

尽管我觉得个人参考的这篇博客关于DOSBox下载的部分讲得够清晰了(汇编语言之DOSBox的安装和使用_dosbox edit命令-CSDN博客),但是,每个人的配置经历和需求会有一点小小的差异。

因此,我还是简单地记录一下这个过程。

操作很简单:一直next,然后换下DOSBox下载的路径即可。

下载之后打开界面如下:

关于DOSBox的简单介绍(可略过)

理论上,我们可以找到..\DOSBox-0.74-3\Documentation​下的README.txt​去做进一步了解,但这过于抽象,让我们一步步来。

首先,输入INTRO​看看所有的介绍,然后按下任意按键看下一步介绍。

  • 设置挂载目录:mount [虚拟盘符] [你的盘符]:\your\directory

  • 进入虚拟盘:[虚拟盘符]:

    • 进入之后,可以【跟linux的操作是一致的】

      • dir:查看当前目录文件
      • cd:进入目录

特殊键的设置。

总之,DOSBox就是要虚拟化一个盘,然后挂载到你的操作系统的某个目录下面。(怎么样,跟linux的挂载点的设置很像吧)

那么对于挂载来说,在linux的基础命令的学习中我们了解到,直接设置的是暂时的,重新打开又要重新设置,怎么永久设置?

找到..\DOSBox-0.74-3\DOSBox 0.74-3 Options.bat​的文件,双击后出现配置文件,在末尾加上mount​操作并且进入虚拟的C盘的命令。

示例:

  • MOUNT [虚拟盘符] [磁盘盘符]:\your\path
  • [虚拟盘符]:

配置设置

简要了解了一下DOSBox,但这不是重点,重点是在vscode里面写汇编,回归正题。

首先,修改一下MASM/TASM​的设置,更改汇编工具和DOS环境模拟器。

开始尝试吧,hello,world!

鼠标右键​后点击运行当前程序(汇编+链接+运行)

结语

似乎插件的本质就是调用其他的环境,将它们集中在这一个编辑器上面,很有意思不是吗。

这样我们就不用在不同的语言的不同的环境上疲于奔命,也不需要重新适应新的操作方式。

以及,配置文件的起效,就是把一些常规的基础命令写到文件里面,每次启动的时候读取它,再自动执行它就可以了。

其本质都是基础的命令,但是现代的代码编辑器就可以通过读取配置文件中的命令这种方式,让原本繁琐的命令设置变得很具体可感,很方便修改操作,让重复的命令自动化执行。

很有意思,不是吗。

也许以后也可以开发一个类似插件更好地支持汇编呢?

还有很多细节值得挖掘,譬如,怎么解决多文件编译,vscode插件怎么编写,这个插件的底层运行逻辑是什么等等。

前面的路,以后再来探索吧。

参考资料

写博客的参考资料

关于DOSBox

关于插件细节的拓展

【vscode】vscode配置汇编环境的更多相关文章

  1. Win10安装VSCode并配置Python环境 完整版超详细简单【原创】

    我们分为三个步骤进行: 一.下载VSCode 二.配置Python环境 三.测试Python 一.下载VSCode 1.打开国内镜像vscode下载地址,即可自动下载:https://vscode.c ...

  2. VScode中配置Java环境

    vscode 中配置Java环境 转载说明:本篇文档原作者[@火星动力猿],文档出处来自哔哩哔哩-[教程]VScode中配置Java运行环境 转载请在开头或显眼位置标注转载信息. 1.下载VScode ...

  3. 在vscode成功配置Python环境

    注意:如果您希望在Visual Studio Code中开始使用Python,请参阅教程.本文仅关注设置Python解释器/环境的各个方面. Python中的“环境”是Python程序运行的上下文.环 ...

  4. win7 64位环境下配置汇编环境和程序设计

    下载dosbox,并解压安装 下载地址: http://pan.baidu.com/s/1eRJbJAq 默认安装到C:\Program Files (x86)\DOSBox-0.74 安装成功后,双 ...

  5. atom / vscode (配置c++环境流程)

    最初主要是被这个炫酷的插件吸引了,这么打代码太特么有激情了 还有跳舞的初音姐姐哦!! 现附上一篇文章,这篇文章步骤讲得很详细了 http://blog.csdn.net/qq_36731677/art ...

  6. 在vscode中配置python环境

    1.安装vscode和python3.7(安装路径在:E:\Python\Python37): 2.打开vscode,在左下角点击设置图标选择setting,搜索python path,在该路径下选择 ...

  7. vscode中配置C#环境

    安装.Net Core SDK 如果已经安装了SDK的话则可以跳过这一步,不然需要安装SDK在进行环境配置:下载链接.NET CORE SDK下载: SDK安装完之后,软件执行界面如下所示 在vsco ...

  8. windows安装vscode,配置golang环境

    出现的问题: 进行如下命令进行目录切换:cd %GOPATH%\src\github.com\golang我这里的GOPATH是在D:\GoPath,大家这里一定要注意些如果src目录下面没有gith ...

  9. Win10下 VSCode配置LaTex环境

    ------------恢复内容开始------------ 环境:win10 软件:Tex Live, VSCode ,Sumatra Tex Live官网下载速度很慢,所以推荐使用清华镜像下载链接 ...

  10. [原]Sublime Text3 搭建16位汇编环境(windows)

    最近在学习王爽的<汇编程序>,参考<简单OS开发前奏<一>EDITPLUS+MASM32搭建汇编开发环境(16位+32位)>http://www.cnblogs.c ...

随机推荐

  1. 智谱开源CogAgent的最新模型CogAgent-9B-20241220,全面领先所有开闭源GUI Agent模型

    在现代数字世界中,图形用户界面(GUI)是人机交互的核心.然而,尽管大型语言模型(LLM)如ChatGPT在处理文本任务上表现出色,但在理解和操作GUI方面仍面临挑战,因此最近一年来,在学界和大模型社 ...

  2. UML之图框架标题类型之谬

    在UML中,我们可以用一个被称为"框架"的边界框围绕着UML图形,当然在很多情况下,框架可以省略,也就是不将它描画出来.但是对于某些图形类型而言,框架具有语义意义,在这些图形类型中 ...

  3. [转]Bundle Adjustment简述

    原文链接:https://optsolution.github.io/archives/58892.html或https://blog.csdn.net/optsolution/article/det ...

  4. 从异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }说开去

    从异常{ 无法将 匿名方法 转换为类型"System.Delegate",因为它不是委托类型 }说开去. 查看如下代码: this.Invoke(delegate { Messag ...

  5. 携程技术分享:亿级流量的办公IM及开放平台技术实践

    本文由携程技术Jim分享,原题"日访问过亿,办公IM及开放式平台在携程的实践",下文进行了排版和内容优化. 1.引言 携程内部的办公IM项目最早在2016年立项,经历了初期简单办公 ...

  6. golang两个协程交替打印出1-100

    基于channel实现的,两个协程交替打印出1-100 package main import ( "fmt" "sync" ) var ( toOdd = m ...

  7. (四).NET6.0程序部署到Docker上

    1.确保安装Docker 2.把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux 然后会自动生成Docke ...

  8. Mybatis插入数据后返回主键

    添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前端调用中需要插入多个表的场景. 除了添加单条记录时获取主键值,有时候可能需要获取批量添加记录时各记录的主键值,MyBatis从3.3.1版本 ...

  9. MySQL 开发规范

    建表规约 1.[强制]每张表必须设置一个主键ID,并且这个主键ID要自增(在满足需要的情况下尽量短),除非是分库分表 理解:由于InnoDB存储引擎决定了需要有一个主键,而且这个主键ID是自增的话可以 ...

  10. golang学习链接

    GitHub入门: https://github.com/rubyhan1314/Golang-100-Days Golang中国: https://www.qfgolang.com/