x86汇编语言简介

汇编语言是最古老的编程语言,它是所有语言中最接近原生机器语言的。它拥有直接访问计算机硬件的特权。

汇编器和链接器

汇编器是一种工具程序,用于将汇编语言符号转换成机器语言的“0101”二进制。链接器同样也是工具程序,通过链接器把汇编器生成的单个文件组成一个可执行程序。

汇编语言与高级语言的区别

首先我们要知道机器语言是一种数字语言,处理器被设计成可以专门计算这些数字语言的结构。但是要我们人去识别这些数字是很难的,所以需要一些好记的符号代表这些数字语言的含义。机器语言和汇编语言是一一对应的:每条汇编指令对应一条机器语言指令。

高级语言和汇编语言是一对多的关系,比如我们常见的一条赋值语句就需要要多条汇编语言来组成实现。

汇编语言是不可移植的

一种语言可以在不同的的计算机操作系统中编译运行,我们就称为这种语言是可移植的。我们最常见的C++和Java等高级语言就是可移植的,只要满足一定的条件它们几乎可以在任何计算机下运行。

汇编语言却是不可移植的,因为这种语言是专门为一种处理器架构所设计的。目前广为人知的不同种类的汇编语言,每一种都是基于一种处理器系列。汇编语言指令会直接与该计算机体系结构进行匹配,或者在执行使用一种被称为伪代码解释器的处理器内置程序来进行转换。

学习汇编语言可以干什么

1)编写嵌入式程序。嵌入式程序是指一些存放在专用设备中小容量存储器内的端程序,例如:电话、汽车燃油和点火系统、空调控制系统、安全系统、数据采集一起、显卡、声卡、硬盘驱动器、调制解调器和打印机。

2)处理仿真和硬件监控的实施应用程序要求精确定时和响应。高级语言不会让程序员对编译器生成的机器代码进行精确控制。汇编语言则允许程序员精确指定程序的可执行代码。

3)电脑游戏要求软件在减少代码大小和加快执行速度方面进行高度优化。因为汇编语言允许直接访问计算机硬件。所以可以为了提高游戏速度进行手工优化。

4)有助于形成对计算机硬件、操作系统和应用程序之间交互的全面理解。使用汇编语言可以很方便的检验从计算机体系结构和操作系统资料中获得的理论知识。

5)一些高级语言对其数据表示进行了抽象,使得它们在执行底层任务时不是很方便。这种情况下,程序员可以调用汇编语言编写的子程序完成它们的任务。

6)硬件制造商为销售的设备创建设备驱动程序。设备驱动程序是一种把用户操作系统指令转换为对硬件细节的具体引用的程序。谁让驱动需要与硬件打交道,而汇编又有直接访问硬件的权力呢?

你可能感兴趣的:(x86汇编)