基于NASM搭建一个能编译汇编语言的汇编软件工具环境(利用NotePad++)

本文主要是介绍基于NASM搭建一个能编译汇编语言的汇编软件工具环境(利用NotePad++),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、创建汇编语言源程序
  • 二、Notepad++的下载、安装、使用
  • 三、下载和安装编译器NASM
    • 3.1 下载NASM编译器
    • 3.2 安装并配置环境变量
  • 四、编译汇编语言源程序(使用命令)
  • 五、下载和使用配套源码及工具
  • 六、将编译功能集成到Notepad++

一、创建汇编语言源程序

创建txt文件

然后,记事本文件后缀由txt修改为asm

然后用记事本打开编辑

二、Notepad++的下载、安装、使用

下载直接去官网,安装好之后,可以按照下图选择语言高亮

在这里插入图片描述

三、下载和安装编译器NASM

汇编写的程序是一些文本和符号,处理器(机器)看不懂。为此我们需要把汇编程序转换成包含处理器指令的程序。转换过程由汇编语言的编译器进行的。
汇编语言的编译器很多,MASM、NASM

在这里插入图片描述

3.1 下载NASM编译器

这里选择NASM编译器,我的电脑系统是Windows10。
下载链接:https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/
在这里插入图片描述

安装程序安装或者压缩包安装。这里下载exe安装程序安装(双击exe文件后的安装过程中有一个本地化的复选框需要勾选上)。

在这里插入图片描述

3.2 安装并配置环境变量

双击上面下载好的exe文件安装后,需要配置一下环境变量,目的是可以在每个路径下直接使用NASM编译器进行编译汇编程序。

这里安装在了C盘

在这里插入图片描述

需要程序 nasm.exe 的路径 C:\NASM 添加为环境变量。如何添加环境变量的教程多如牛毛,不加以赘述。

四、编译汇编语言源程序(使用命令)

NASM不具有图形界面,相反,只能在命令行使用。

在这里插入图片描述
如果这时按下回车键,将执行编译过程,并生成一个包含处理器指令的文件,

  • nasm是启动程序
  • -f 选项用来指定输出格式
    • bin是说明只包含存二进制,即只有处理器识别的机器代码
  • -o 选项用来指定输出文件名
    • 这里指定exam.bin

命令:nasm exam.asm -f bin -o exam.bin (需配置环境变量才能正常执行)

在这里插入图片描述

以上是编辑源文件到翻译源文件的过程

五、下载和使用配套源码及工具

16进制查看器(工具包中的):不能显示为字符的就显示为原点。

使用16进制查看器,查看汇编源程序:
在这里插入图片描述
上图中的HexViewer程序中显示的是,exam.asm文件内容的16进制形式。左侧是偏移地址,右侧是符号显示,中间的16进制部分是与右侧符号对应的16进制形式,其中在右侧的原点说明对应的一个字节的16进制不能显示为正常字符。

将汇编源程序文件exam.asm文件进行编译,通过命令 nasm exam.asm -f bin -o exam.bin ,生成了一个二进制指令文件exam.bin。使用16进制查看器HexViewer来查看其内容:
在这里插入图片描述
其文件内容都是处理器可以识别和执行的指令。

六、将编译功能集成到Notepad++

在Notepad++的菜单栏中选择“运行(R)”->“运行(R)”

在这里插入图片描述

在弹出的窗口输入如下命令,点击保存,然后定义自己的快捷键。记得替换C:\NASM\nasm.exe为自己的编译器路径。

cmd /k pushd "$(CURRENT_DIRECTORY)" & C:\NASM\nasm.exe -f bin "$(FULL_CURRENT_PATH)" -o "$(NAME_PART).bin" & PAUSE & EXIT

至此,编译功能就集成在文本编辑器当中了。

扩展:
在这里插入图片描述

这篇关于基于NASM搭建一个能编译汇编语言的汇编软件工具环境(利用NotePad++)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558450

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议