首页 > 编程语言 >【vscode】vscode配置汇编环境

【vscode】vscode配置汇编环境

时间:2024-04-06 22:46:26浏览次数:34  
标签:汇编 插件 vscode 配置 博客 DOSBox

【vscode】vscode配置汇编环境

前言

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

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

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


目录

@

目录


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

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

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

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

进入正题。

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

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

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

image

全英文,感到吃力?如果希望轻松一点,可以点击橙色方框中文 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

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


配置过程

所需插件:

所需汇编工具:

DOSBox下载

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

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

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

下载之后打开界面如下:

image

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

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

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

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

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

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

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

image

特殊键的设置。

image

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

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

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

示例:

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

image

配置设置

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

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

image

开始尝试吧,hello,world!

image

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

image

结语

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

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

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

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

很有意思,不是吗。

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

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

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

参考资料

写博客的参考资料

关于DOSBox

关于插件细节的拓展

标签:汇编,插件,vscode,配置,博客,DOSBox
From: https://www.cnblogs.com/riskmoumou/p/18118112/vscode-vscode-configuration-assembly-environ

相关文章

  • 玩转STM32:解密RCC模块,轻松配置时钟!
    前言在嵌入式系统开发中,时钟的配置是至关重要的一环,它直接影响着系统的稳定性和性能。而在STM32微控制器中,时钟的配置又是基于RCC(ResetandClockControl)模块实现的。今天,我们就来揭开STM32中RCC模块的神秘面纱,探讨如何使用HSE(HighSpeedExternal)和HSI(HighSpeedInternal)时......
  • 无人值守安装(Unattended Installation) 是指在没有用户交互的情况下,自动完成操作系统或
    无人值守安装(UnattendedInstallation)是指在没有用户交互的情况下,自动完成操作系统或软件的安装过程。在Windows中,你可以使用XML文件来配置无人值守安装。这些XML文件通常称为无人值守答案文件(UnattendAnswerFiles),其中包含了安装过程中所需的各种配置选项。无人值守安装(Una......
  • OSPF中配置静态路由负载分担实验简述
    OSPF中配置静态路由负载分担实验简述在静态路由负载分担中,多个路由器被配置为共享负载的目标,以实现流量的均衡分配。到达目的地有N条相同度量值的路径,默认值60,N条路由是等价路由,数据报文在N条链路上轮流发送。静态路由负载分担的优点是简单易用,不需要额外的负载均衡设备......
  • nginx同一端口配置代理不同路径下的文件
    需求如下:CMS系统后台通过freemarker模板生成静态html文件,主站点和子站点的html文件保存在不同文件夹下。根据站点ID分别保存到不同文件夹,结构如下:  其中,75为主站点,111为子站点b。通过nginx配置,在同一域名下根据不同路径访问不同站点html。  实现访问www.xxx.com访问......
  • H3C-V7交换机NTP服务器、客户端配置方法(华三)
    1.配置需求1.1SwitchA、B、C均是V7交换机,需要把SwitchA设置为NTP时钟服务器,SwitchB做为SwitchA的客户端,同步时间;1.2由于SwitchC与SwitchA路由不可达,无法直接从SwitchA同步时间。需要将SwitchB做为SwitchC的服务器,让SwitchC同步时间。2.组网图3.配置步骤3.1配置SWA为NTP服务......
  • Python 语法检查、格式化工具 Ruff 的各项配置
    一、配置文件1.1配置文件的位置和优先级Ruff支持pyproject.toml、ruff.toml和.ruff.toml三种文件(同时出现时,右边的优先级高);最近的配置文件生效,父级的将被忽略;可使用extend继承其他配置;命令行指定参数时,会覆盖配置文件中的选项(即命令行优先级更高);可使用target-ver......
  • 怎么知道git 有没有配置好?
    要检查Git是否已经正确配置,可以按照以下步骤进行:确认安装:打开命令行工具(Windows上的CMD、PowerShell,Mac或Linux上的终端)。输入 git--version 并按回车键。如果显示出Git的版本号,说明Git已经成功安装。当你在终端或命令提示符窗口输入上述命令并按回车键后,将会输出......
  • 配置kali镜像源
     一.在VMware中打开kali                                                                1-1  如果不是root权限界面 ,小编有以下解决办法1.提升权限。执行下面代码后,输入设置密码即可sudosu 2......
  • 如何配置Burpsuite
    注:仅用于学习使用。一、下载并安装Burpsuite。 1、点击下列按钮即可。2、进入主页面。(0-1)点击Proxy。显示此界面即可。 二、huo狐中安装bp插件。搜索即可。下载即可。注:此插件端口号要与bp端口号一致。标题颜色可以根据个人喜好。三、安装证书。在地址栏搜索本......
  • Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用
    一、前言记录时间[2024-4-6]前置文章:Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识在上文中,笔者进行了Docker概述,介绍其历史、优势、作用,以及基本组成。通过此,相信大家对Docker有了一个初步的认识。接下来就进入Docker的安装、环境配置,和简......