汇编语言基础知识大全(精品).pptVIP

  • 27
  • 0
  • 约1.24万字
  • 约 69页
  • 2018-06-09 发布于浙江
  • 举报
汇编语言基础知识大全(精品)

第1章 汇编语言基础知识 1.1 汇编语言概述 1.2 进位计数制及其转换 1.3 计算机中数与字符的表示方法 习题1 1.1 汇编语言概述 1.1.1 汇编语言的基本概念 汇编语言是机器语言的符号表示形式。在汇编语言出现之前,计算机使用机器语言来控制计算机的各种动作。所谓机器语言,就是用“0”和“1”所组成的一串二进制数所表示的命令或数据,机器的硬件可以直接识别和执行,不需要进行翻译。机器语言的特点是命令代码效率高,但不容易记忆,不利于推广和使用; 程序员借助机器语言编程时,要用数值表示指令和地址,不但费时费力,而且容易出错。汇编语言将机器语言指令和地址符号化,程序员只需要记住符号名并用其编程,汇编器负责把汇编程序翻译成机器指令和正确的地址数值。 大多数程序应该也可以用高级语言编写,但是在某些情况下汇编语言也是必不可少的。汇编语言可以访问计算机的所有指令,可以利用计算机的所有特性,而高级语言就没有这样的能力,高级语言能做的事情汇编语言都能做,而汇编语言能做的高级语言不一定能做到。例如,如果计算机有一个溢出位,汇编程序可以测试它,而一个JAVA程序就不能直接测试溢出位。汇编语言可以直接访问寄存器,而高级语言则不一定能访问。 1.1.2 汇编语言的特点 汇编语言相对机器语言而言好记好用,但远不如高级语言方便、实用,而且编写同样的程序,使用汇编语言比使用高级语言花费的时间更多,调试和维护更困难。既然如此,为什么还要使用汇编语言呢?主要有两个原因:性能和对计算机的完全控制。一般而言,汇编语言具有如下特点: 1) 执行速度快 一个汇编语言程序,要比高级语言程序执行得更快。程序的执行速度对于某些应用来说是至关重要的。对于这些应用,单纯使用高级语言往往达不到要求,单纯使用汇编语言编写程序也并不是最好的方案,许多成功的大型应用程序往往使用的是混合编程。首先使用高级语言编写整个程序,然后测试程序的执行时间,再使用汇编语言重写其中最费时间的部分。这样做的依据是在实际使用中,通常程序的大部分执行时间都花费在一小部分代码上。 2) 程序短小 一个汇编语言程序,要比高级语言程序更小。在某些情况下,设备中的嵌入式处理器往往只有很少的内存,使用汇编语言可能是惟一的方法。如智能卡中有CPU,但是智能卡中很难有1?MB以上的内存,也不可能有带分页的硬盘,但智能卡又必须执行复杂的加密解密计算。个人数字助理(PDA)和其他使用电池作为能源的无线电子设备,为了节省电池的电力,往往也只有很少的内存,它们也需要使用短小精悍而且具有高效率的机器代码。 3) 可以直接控制硬件 某些应用程序要求能够完全控制计算机硬件,这也必须使用汇编语言。如操作系统中的低级中断和陷阱处理程序,以及许多嵌入式实时系统中的设备控制程序都属于这一类应用。 4) 可以方便地编译 编译器可以产生供编程者使用的汇编程序或者自己执行汇编过程。因此,为了理解编译器的工作原理,必须首先理解汇编语言。 5) 辅助计算机工作者掌握计算机体系结构 研究汇编语言可以使人们清楚实际计算机结构。特别是对于学习计算机体系结构的学生,编写汇编语言是在结构层理解计算机的惟一途径。 1.1.2计算机的程序设计语言 1.机器语言 低级语言 2.汇编语言 程序设计语言 3.高级语言 C/C++、JAVA、 DELPHI…… 1.1 机器语言 机器语言是机器指令的集合。 机器指令展开来讲就是一台机器可以正确执行的命令。 1.1 机器语言 指令(PUSH AX) 电平脉冲: 1.1 机器语言 程序员们将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。 示例 应用8086CPU完成运算: S = 768 + 12288 – 1280 1.1 机器语言 S = 768 + 12288 - 1280

文档评论(0)

1亿VIP精品文档

相关文档