汇编语言(Assembly Language)
概述
汇编语言(Assembly Language)是一种低级编程语言,它直接对应于计算机的机器代码(machine code),但使用了更易读的文本符号。每台个人计算机都有一个微处理器,用于管理计算机的算术、逻辑和控制活动。每个处理器系列都有其自己的指令集,用于处理各种操作,例如从键盘获取输入、在屏幕上显示信息以及执行各种其他任务。这些指令集称为“机器语言指令”。处理器仅理解机器语言指令,这些指令是由1和0组成的字符串。然而,机器语言过于晦涩难懂,难以在软件开发中直接使用。因此,低级汇编语言应运而生,它为特定的处理器家族设计,以符号代码和更易理解的形式表示各种指令。学习汇编语言虽然困难,但它能提供对计算机系统的深刻理解,提升编程效率和低级编程技能,并在安全、逆向工程、调试、编译器开发等领域提供重要帮助。(◉3◉)
我这里使用的是kali linux,后续的操作可能不同的操作系统会不一样
汇编器(Assembler)
将汇编语言代码转换为机器码的工具。这就类似于python,nodejs,gcc将py,js,c转化为机器码。汇编语言是针对特定计算机体系结构的低级编程语言,而大多数高级编程语言通常可跨多个系统移植。
接下来,你需要选择一个汇编语言编译器(或汇编器)。常用的汇编器包括:
- NASM (Netwide Assembler)
- GAS (GNU Assembler)
- MASM (Microsoft Assembler) - Windows平台上使用
- FASM (Flat Assembler)
这里推荐使用NASM,支持linux和windows,免费并且在网上的教程比较多。
其他操作系统可根据网址自行下载nasm下载
sudo apt-get update
sudo apt-get install nasm
基础语法
1. 段(Section)
汇编程序通常分为三个主要部分,分别是数据段、代码段和栈段。段(Section)是程序的逻辑分区,用于组织代码和数据。每个段通常具有特定的用途,如存储代码、数据或堆栈。
注释
汇编语言注释以分号(;)开头。它可以包含任何可打印字符,包括空格。它可以单独出现在一行上
section .data
hello db 'Hello, World!', 0 ; 已初始化的数据
section .bss
buffer resb 64
3611



被折叠的 条评论
为什么被折叠?



