基于NASM搭建一个能编译汇编语言的汇编软件工具环境(利用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为自己的编译器路径。

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

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

扩展:

相关推荐
李宥小哥4 分钟前
微信小程序07-开发进阶
微信小程序·小程序·notepad++
晴友读钟2 小时前
速通汇编(七)BX、SI、DI寄存器,BP寄存器,直接寻址和间接寻址
汇编
流殇2583 小时前
ARM中要使用的汇编基础
汇编·arm开发
2401_858286119 小时前
汇编实现从1加到1000(《X86汇编语言 从实模式到保护模式(第2版》) 第135页第2题解答)
汇编·nasm·汇编语言·x86·virtualbox·8086·virtual box
xiaozhiwise16 小时前
ARM32 base instruction -- blx
汇编
Freestyle Coding21 小时前
使用rust自制操作系统内核
c语言·汇编·microsoft·rust·操作系统
双普拉斯1 天前
微信小程序点赞动画特效实现
nginx·微信小程序·notepad++
向你扔鸡爪2 天前
29912分页
汇编·windows
金灰2 天前
wx小程序渗透思路
网络·windows·安全·小程序·notepad++
2401_858286112 天前
51.【C语言】字符函数和字符串函数(strcpy函数)
c语言·开发语言·汇编