汇编语言基础知识
第1章 汇编语言基础知识
任意一个十进制数可以用位权表示。位权就是某 个固定位置上的计数单位。在十进制数中,个位的位 权为100,十位的位权为101,百位的位权为102,千位 的位权为103,而在小数点后第一位上的位权为10−1, 小数点后第二位的位权为10−2等等。因此,如果有十 进制数234.13,则百位上的2表示2个100,十位上的3表 示3个10,个位上的4表示4个1,小数点后第一位上的1 表示1个0.1,小数点后第二位上的3表示3个0.01,用位 权表示成:
第1章 汇编语言基础知识
1) 执行速度快 一个汇编语言程序,要比高级语言程序执行得更 快。程序的执行速度对于某些应用来说是至关重要的。 对于这些应用,单纯使用高级语言往往达不到要求, 单纯使用汇编语言编写程序也并不是最好的方案,许 多成功的大型应用程序往往使用的是混合编程。首先 使用高级语言编写整个程序,然后测试程序的执行时 间,再使用汇编语言重写其中最费时间的部分。这样 做的依据是在实际使用中,通常程序的大部分执行时 间都花费在一小部分代码上。
第1章 汇编语言基础知识
对计算机而言,不论是控制命令还是数据,它们 都要用“0”和“1”两个基本符号即基2码来编码表示, 这是由于以下三个原因:
(1) 基2码在物理上最容易实现。例如,用高、低 两个电位表示“1”和“0”,或用脉冲的有、无表示“1” 和“0”,用脉冲的正、负极性表示“1”础知识
程序员借助机器语言编程时,要用数值表示指令和地 址,不但费时费力,而且容易出错。汇编语言将机器 语言指令和地址符号化,程序员只需要记住符号名并 用其编程,汇编器负责把汇编程序翻译成机器指令和 正确的地址数值。
第1章 汇编语言基础知识
大多数程序应该也可以用高级语言编写,但是在 某些情况下汇编语言也是必不可少的。汇编语言可以 访问计算机的所有指令,可以利用计算机的所有特性, 而高级语言就没有这样的能力,高级语言能做的事情 汇编语言都能做,而汇编语言能做的高级语言不一定 能做到。例如,如果计算机有一个溢出位,汇编程序 可以测试它,而一个JAVA程序就不能直接测试溢出位。 汇编语言可以直接访问寄存器,而高级语言则不一定 能访问。
第1章 汇编语言基础知识
第1章 汇编语言基础知识
1.1 汇编语言概述 1.2 进位计数制及其转换 1.3 计算机中数与字符的表示方法 习题1
第1章 汇编语言基础知识
1.1 汇编语言概述
1.1.1 汇编语言的基本概念 汇编语言是机器语言的符号表示形式。在汇编语
言出现之前,计算机使用机器语言来控制计算机的各 种动作。所谓机器语言,就是用“0”和“1”所组成的 一串二进制数所表示的命令或数据,机器的硬件可以 直接识别和执行,不需要进行翻译。机器语言的特点 是命令代码效率高,但不容易记忆,不利于推广和使 用;
第1章 汇编语言基础知识
3) 可以直接控制硬件 某些应用程序要求能够完全控制计算机硬件,这 也必须使用汇编语言。如操作系统中的低级中断和陷 阱处理程序,以及许多嵌入式实时系统中的设备控制 程序都属于这一类应用。 4) 可以方便地编译 编译器可以产生供编程者使用的汇编程序或者自 己执行汇编过程。因此,为了理解编译器的工作原理, 必须首先理解汇编语言。
第1章 汇编语言基础知识
5) 辅助计算机工作者掌握计算机体系结构 研究汇编语言可以使人们清楚实际计算机结构。 特别是对于学习计算机体系结构的学生,编写汇编语 言是在结构层理解计算机的惟一途径。
第1章 汇编语言基础知识
1.2 进位计数制及其转换
计算机内部的信息分为两大类:控制信息和数据 信息。控制信息是一系列的控制命令,用于指挥计算 机如何操作;数据信息是计算机操作的对象,一般又 可分为数值数据和非数值数据。数值数据用于表示数 量的大小,它有确定的数值;非数值数据没有确定的 数值,它主要包括字符、汉字和逻辑数据等等。
1.2.1 数与数制 进位计数制是一种计数的方法。在日常生活中,
人们使用各种进位计数制,如六十进制(1小时=60分, 1分=60秒),十二进制(1英尺=12英寸,1年=12月)等。 但人们最熟悉和最常用的是十进制计数。
如前所述,在计算机中要用到二进制计数,另外, 为便于人们阅读及书写,常常还用到八进制计数及十 六进制计数。
第1章 汇编语言基础知识
1.1.2 汇编语言的特点 汇编语言相对机器语言而言好记好用,但远不如
高级语言方便、实用,而且编写同样的程序,使用汇 编语言比使用高级语言花费的时间更多,调试和维护 更困难。既然如此,为什么还要使用汇编语言呢?主 要有两个原因:性能和对计算机的完全控制。一般而 言,汇编语言具有如下特点:
第1章 汇编语言基础知识
十进制数的特点是“逢十进一,借一当十”,需 要用到的数字符号为10个,分别是0~9。
二进制数的特点是“逢二进一,借一当二”,需 要用到的数字符号为2个,分别是0~1。
八进制数的特点是“逢八进一,借一当八”,需 要用到的数字符号为8个,分别是0~7。
十六进制数的特点是“逢十六进一,借一当十 六”,需要用到的数字符号为16个,分别是0~9、A~ F。
第1章 汇编语言基础知识
2) 程序短小 一个汇编语言程序,要比高级语言程序更小。在 某些情况下,设备中的嵌入式处理器往往只有很少的 内存,使用汇编语言可能是惟一的方法。如智能卡中 有CPU,但是智能卡中很难有1 MB以上的内存,也不 可能有带分页的硬盘,但智能卡又必须执行复杂的加 密解密计算。个人数字助理(PDA)和其他使用电池 作为能源的无线电子设备,为了节省电池的电力,往 往也只有很少的内存,它们也需要使用短小精悍而且 具有高效率的机器代码。
第1章 汇编语言基础知识
(2) 基2码用来表示二进制数,其编码及加减运算规 则简单。
(3) 基2码的两个符号“1”和“0”正好与逻辑数据 “真”与“假”相对应,为计算机实现逻辑运算带来了 方便。
因此,不论是什么信息,在输入计算机内部时,都 必须用基2码编码表示,以方便存储、传送和处理。
第1章 汇编语言基础知识