汇编教程1

        本教程主要教大家如何使用vscode+插件编写汇编语言,这样更方便,不用在32位虚拟机中编写汇编语言,后续的汇编实验代码都是使用vscode编写,话不多说,开始教学

安装vscode

如果已经安装过vscode,可以跳过这一步

官网地址:https://code.visualstudio.com/

进入后点击红框中的按钮下载

下载好之后运行安装程序

可以点击浏览按钮更改安装位置

直接下一步

这几个建议全部勾选

下一步之后点击安装

安装成功之后点击完成

vscode安装完成

安装插件

点击下方箭头指向按钮

在搜索框中搜索chinese安装简体中文语言包

安装后vscode要重启一次,点击右下角弹出按钮重启即可

重启之后变成这样,可以选择主题或者添加文件夹为工作区,建议添加工作区,以后每次打开都会显示工作区,编写的汇编文件或其他文件也可以存在工作区目录下

继续在插件搜索框中搜索masm,安装下图中的插件

设置和调试

安装好之后对插件进行设置

按照图中进行设置分别选MASM和dosbox

保存之后在工作区新建后缀.asm的文件

hello.asm

DSEG    SEGMENT ;数据段
STR     DB 'Hello World!$'
DSEG    ENDS
CSEG    SEGMENT ;代码段ASSUME CS:CSEG,DS:DSEG
START:MOV AX,DSEG ;获取段基址MOV DS,AX ;将段基址送入寄存器MOV DX,OFFSET STRMOV AH,9INT 21HMOV AH,4CHINT 21H
CSEG ENDS
END START

空白区域右键选择debug

在弹出的dosbox窗口输入g,回车,显示Hello World!

显示成功,输入q,回车即可退出

        到此为止,所有的准备工作全部结束,后续的汇编实验代码都是使用vscode+插件编写和调试(vscode不仅有丰富的插件还能当做一个文本编辑器,能打开多种格式的文件,真的很方便)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Symfony表单系统详解:构建强大且灵活的表单

在现代Web开发中,表单是用户与服务器交互的主要方式之一。Symfony框架提供了一个强大且灵活的表单系统,使得开发者能够轻松创建和管理表单。本文将详细介绍Symfony表单系统的工作原理,并通过一些示例代码展示其功能。 1. 什么是Symfony表单系…

Python创建Excel表和读取Excel表的基础操作

下载openpyxl第三方库 winr打开命令行输入cmd 这个如果不行可以试试其他方法,在运行Python代码的软件里也有直接下载的地方,可以上网搜索 创建Excel表 示例代码:最后要记得保存,可以加一句提示语句。 import openpyxl lst[100,…

小程序为什么要做分包处理

1:主包大小限制 小程序规定主包的大小不能超过2M, 能够保证小程序能够快速加载, 提高用户的体验。 分包可以将主包 拆分成多个子包。 2:优化加载速度。 分包能够实现小程序按需加载, 也就是用户首次启动和浏览某个页面的时候…

IntelliJ IDEA 和 Eclipse的区别

IntelliJ IDEA 和 Eclipse 是两个非常流行的 Java 集成开发环境(IDE),它们各自具有不同的特点和优势。下面是它们之间的一些主要对比: 性能和资源使用 IntelliJ IDEA 被认为在某些方面更加智能,能够提供更好的代码分…

【Apache Doris】周FAQ集锦:第 16 期

【Apache Doris】周FAQ集锦:第 16 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户…

深入解析`Arrays.asList`的用法与潜在陷阱

引言 在Java编程中,Arrays.asList是一个常用的工具方法,用于将数组转换为List。尽管其使用简单,但在实际应用中存在一些潜在的陷阱和误解。本文将深入探讨Arrays.asList的用法、其底层实现机制以及常见的陷阱,辅之以数据和实际案…

简单工厂、工厂方法与抽象工厂之间的区别

简单工厂、工厂方法与抽象工厂之间的区别 1、简单工厂(Simple Factory)1.1 定义1.2 特点1.3 示例场景 2、工厂方法(Factory Method)2.1 定义2.2 特点2.3 示例场景 3、抽象工厂(Abstract Factory)3.1 定义3.…

【JavaEE-多线程背景-线程等待-线程的六种状态-线程安全问题-详解】

🌈个人主页:SKY-30 ⛅个人推荐:基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 &…

C语言实现冒泡排序

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。 遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元…

odoo17模型之间的关系

many2one 在实践中,many2one 可以看作是表单视图中的下拉列表。 一个属性可以有一种类型,但可以将相同的类型分配给多个属性。many2one概念支持这一点。 many2one 是指向另一个对象的简单链接。例如,为了 res.partner 在我们的测试模型中定…

数据包的跨层封装

首先,我们先简单地分析一下数据包的组成结构: 如图 数据包简略地分为以下几层: 二层:封装MAC地址(数据链路层) 三层:封装IP地址 — 表明源IP和目标IP,主要用于路由器之间的信息转发…

Windows图形界面(GUI)-DLG-C/C++ - 树形视图(TreeView)

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​​​​链接点击跳转博客主页 目录 树形视图(TreeView) 使用场景 消息处理 示例代码 树形视图(TreeView) 使用场景 文件浏览器:显示文件和目录的层次结构。设置菜单:在配置界面中显示嵌套…

【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)

​​​​​​​ 一、引言 pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理&#x…

【Pytorch笔记】张量

torch.Tensor() 是 PyTorch 库中用于创建张量的一个函数。在 PyTorch 中,张量是多维数组,它们可以存储在 CPU 或 GPU 上,并且支持自动求导,这使得它们非常适合进行深度学习和科学计算。 张量可以在Python list形式下通过 torch.T…

挖矿宝藏之硬盘分区

目录 一、硬盘分区的相关知识 二、主分区、活动分区、扩展分区、逻辑盘和盘符 三、硬盘分区原因 1.减少硬盘空间的浪费 2.便于文件的分类管理 3.有利于病毒的防治 四、硬盘分区的原则 1.方便性 2.实用性 3.安全性 五、利用Diskpart进行分区 1.命令行工具Diskpart …

ARM体系结构和接口技术(五)封装RCC和GPIO库

文章目录 一、RCC(一)思路1. 找到时钟基地址2. 找到总线的地址偏移(1)AHB4总线(2)定义不同GPIO组的使能宏函数(3)APB1总线(4)定义使能宏函数 二、GPIO&#x…

捷配笔记-混合信号PCB布局设计的基本准则是什么?

混合信号PCB设计需要对模拟和数字电路有基本的了解,以最大限度地减少(如果不能防止的话)信号干扰。现代系统由数字域和模拟域均可操作的组件组成,这些组件必须经过精心设计,以确保整个系统的信号完整性。 在混合信号系…

MySQL学习记录 —— 이십이 MySQL服务器文件系统(2)

文章目录 1、日志文件的整体简介2、一般、慢查询日志1、一般查询日志2、慢查询日志FILE格式TABLE格式 3、错误日志4、二进制日志5、日志维护 1、日志文件的整体简介 中继服务器的数据来源于集群中的主服务。每次做一些操作时,把操作保存到重做日志,这样崩…

vscode+wsl2+anaconda环境的配置与使用

目录 下载anaconda Anaconda使用参考 vscodeubuntuanaconda 先用vscode连接本地ubuntu。 如果没有安装wsl2与ubuntu,可点击下面的链接。 问题:wsl install 无法解析服务器 成功记录: 在vscode终端用ubuntu安装anaconda。 创建pytho…

Spring如何管理Mapper

目录 一、背景二、猜测三、源码查看步骤1、创建MapperScannerConfigurer.java2、MapperScan注解3、MapperScannerRegistrar执行registerBeanDefinitions方法4、MapperScannerConfigurer执行postProcessBeanDefinitionRegistry方法5、执行doscan6、设置beanClass7、使用jdk生成代…