当前位置: 首页 > news >正文

Windows环境下C语言汇编语言编辑器及环境安装

安装MinGw:

 1.下载安装文件

MinGW - 适用于 Windows 的极简主义 GNU 下载 |SourceForge.net

点击下载

下载之后就是如下图的安装文件

2.安装

双击安装文件进行安装,点击Install下一步

选择安装位置,默认是安装在C盘,点击Change可以自定义安装路径,

但是要注意安装路径中不能有空格,比如:C:/Program Files/MinGW这样的路径就不行,因为Program Files中有空格,安装界面也会提示警告,点击Choose an Alternative就可以重新选择安装路径。

点击Continue,继续安装

继续安装的界面如下,等待安装完成。

点击Continue继续,

就会打开如下安装窗口,选择如下包安装

点击左上角菜单栏,Update Catalogue 

 

会弹出如下窗口,点击Review Changes

之后会弹出如下窗口,点击Apply

安装完成后,点击Close

3设置环境变量

把MinGW安装路径的bin文件夹目录添加到环境变量中

打开Cmd,输入gcc测试是否添加成功,出现如下信息则表示添加成功!

安装Notepad++/Sublimtext:

1.下载安装文件

从以下网址下载,使用最新版本即可

Notepad++:Downloads | Notepad++ (notepad-plus-plus.org)
Sublimtext:Sublime Text - 文本编辑,正确完成

下载完成后是这样两个文件,可按需安装

执行C程序测试:

新建一个C语言的工作目录,并新建一个c语言文件,如下:

使用Sublimtext打开,写入以下代码:

#include <stdio.h>int main()
{printf("Hello World");
}

使用gcc编译代码,将代码文件夹在Cmd窗口打开,使用命令gcc HelloWorld.c

编译完成后,此文件夹就会出现以下执行程序

在cmd中运行此程序

安装NASM:

1.下载安装

从以下网址中下载NASM

NASMhttps://www.nasm.us/点击版本下载:

 

下载完成后,得到如下文件:

2.安装:

点击下载好的文件,开始安装(可以使用管理员运行,也可以双击运行,在学习使用上没区别),点击Next继续

选择好安装路径,点击Next继续

点击Install继续

3.设置环境变量

将NASM的安装目录添加到环境变量中

在Cmd测试,出现如下信息,代表环境变量设置成功!

安装SASM:

SASM是一个帮助我们轻松构建汇编程序的汇编器,通过使用 SASM,可以暂时不必学习链接的概念,它还可以轻松地打印字符串和数字,否则需要编写自己的例程或下载特殊的例程来打印到屏幕。最重要的是,可以在一个窗口中运行和测试程序。

1.下载安装

下载地址如下:

下载 Dmitriy Manushin 的 SASM (informer.com)

下载完成后,得到如下文件:

 

2.安装:

选择安装语言,点击OK继续

点击Next继续

同意许可,点击Next继续

选择合适安装路径,点击Next继续

点击Next继续

可选是否生成桌面图标,点击Next继续

点击Install下载

在下载完成后,就可以打开SASM窗口如下:

执行汇编程序测试:

1.使用NASM编译测试:

创建一个汇编语言的工程目录,并新建一个汇编文件,如下:

使用Sublimtext打开,并键入如下代码:

section .datamsg db 'Hello, World!', 0   ; 字符串以0结尾section .textglobal _main                ; 入口点声明(MinGW需用_main)extern _printf              ; 引用C标准库函数_main:push msg                    ; 参数压栈(32位)call _printf                ; 调用printfadd esp, 4                  ; 清理栈(32位)ret

 使用NASM编译汇编文件,

注:-f win64:生成64位目标文件(64位MinGW需选此格式)
       -o xxxx.obj:输入为xxxx.obj文件

在当前文件夹就会生成一个.obj文件

使用MinGW链接编辑后的文件为可执行程序文件.exe,gcc自动调用ld链接器,并链接C运行时库。

 

使用MinGW链接成64位的就出现了以上的问题,原因就是我们下载安装的是32位的MinGW,nasm编译的.obj文件与MinGW版本不匹配导致的,所以nasm要把汇编编译成32位的,再使用MinGW链接成32位的程序即可。

2.使用SASM编译测试

新建一个SASM工程,并键入以下代码:

%include "io.inc"section .datamsg db 'Hello,World!!',0section .textglobal CMAIN
CMAIN:mov ebp, esp;for correct debugging;write your code herePRINT_STRING msgxor eax, eaxret

运行工程, 输出Hello World,如下:

参考书籍:
《Developing A Computer Operating System From Scratch》

http://www.lqws.cn/news/565921.html

相关文章:

  • Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数
  • NoSQL与Redis、HBase、分布式系统详解
  • 深入理解 Dubbo 负载均衡:原理、源码与实践
  • C++文件操作
  • 测试第六讲-开发测试阶段划分
  • 学习记录:DAY35
  • 【FreeRTOS-任务通知】
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序源码的运营机制沉淀与规范构建研究
  • Embedding模型微调实战(ms-swift框架)
  • 2025年IOTJ SCI2区TOP,动态协同鲸鱼优化算法DCWOA+多车车联网路径规划,深度解析+性能实测
  • 从RDS MySQL到Aurora:能否实现真正的无缝迁移?
  • OpenCV学习3
  • 设计模式之装饰者模式
  • 企业级路由器技术全解析:从基础原理到实战开发
  • promise深入理解和使用
  • 线性相关和线性无关
  • 【数据挖掘】聚类算法学习—K-Means
  • Windows 4625日志类别解析:未成功的账户登录事件
  • 节点小宝:告别公网IP,重塑你的远程连接体验
  • 数据库 DML 语句详解:语法与注意事项
  • Android大图加载优化:BitmapRegionDecoder深度解析与实战
  • 【分布式 ID】生成唯一 ID 的几种方式
  • 面试150 螺旋矩阵
  • 模拟工作队列 - 华为OD机试真题(JavaScript卷)
  • llama.cpp学习笔记:后端加载
  • Windows系统安装鸿蒙模拟器
  • 接口自动化测试(Python+pytest+PyMySQL+Jenkins)
  • OpenLayers 全屏控件介绍
  • Wpf布局之StackPanel!
  • Mac电脑手动安装原版Stable Diffusion,开启本地API调用生成图片