汇编语言 教程
-
简介
汇编语言是特定于特定计算机体系结构的计算机或其他可编程设备的低级编程语言,而大多数高级编程语言通常可跨多个系统移植。汇编语言通过称为NASM,MASM等汇编程序的实用程序转换为可执行的机器代码。每台个人计算机都有一个微处理器,用于管理计算机的算术,逻辑和控制活动。每个处理器系列都有其自己的指令集,用于处理各种操作,例如从键盘获取输入,在屏幕上显示信息以及执行各种其他作业。这些指令集称为“机器语言指令”。处理器仅理解机器语言指令,这些机器指令是1和0的字符串。但是,机器语言太晦涩难懂,无法在软件开发中使用。因此,低级汇编语言是为特定的处理器家族设计的,该处理器以符号代码和更易理解的形式表示各种指令。 -
汇编语言的优势
了解汇编语言会使人意识到-- 程序如何与OS,处理器和BIOS交互;
- 内存和其他外部设备中数据的表示方式;
- 处理器如何访问和执行指令;
- 指令如何访问和处理数据;
- 程序如何访问外部设备。
使用汇编语言的其他优点是-- 它需要更少的内存和执行时间;
- 它可以更轻松地实现特定于硬件的复杂作业。
- 适用于时间紧迫的工作;
- 它最适合编写中断服务程序和其他内存驻留程序。
-
第一个汇编程序
以下汇编语言代码在屏幕上显示字符串“ Hello World”-
尝试一下section .text global _start ;必须为链接器(ld)声明 _start: ;告诉链接器入口点 mov edx,len ;消息长度 mov ecx,msg ;写消息 mov ebx,1 ;文件描述符 (stdout) mov eax,4 ;系统调用号 (sys_write) int 0x80 ;调用内核 mov eax,1 ;系统调用号 (sys_exit) int 0x80 ;调用内核 section .data msg db 'Hello, world!', 0xa ;要打印的字符串 len equ $ - msg ;字符串的长度
编译并执行上述代码后,将产生以下结果-Hello, world!
-
听众
本教程是为那些希望从头开始学习汇编编程基础知识的人而设计的。本教程将使您对汇编编程有足够的了解,从那里您可以进入更高层次的专业知识。先决条件是在继续本教程之前,您应该对计算机编程术语有基本的了解。对任何一种编程语言都有基本的了解将有助于您理解汇编语言概念并在学习过程中快速前进。