汇编语言PPT教学课件-第1章 基础知识.ppt_第1页
汇编语言PPT教学课件-第1章 基础知识.ppt_第2页
汇编语言PPT教学课件-第1章 基础知识.ppt_第3页
汇编语言PPT教学课件-第1章 基础知识.ppt_第4页
汇编语言PPT教学课件-第1章 基础知识.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章基础知识,主讲:,1.1汇编语言程序设计中的进位记数制,1.1.1二进制数1.1.2十六进制数1.1.3十进制数1.1.4数制间的转换1.1.5二进制和十六进制的运算,1.1.1二进制数二进制数(Binary)的基数为2,只有0、1这两位数码。计数时遵循逢2进1的规则,每位的位权以2k表示。因此,二进制数:anan-1a1a0B等于十进制数:an2n+an-12n-1+a121+a020,使用二进制计数的优点二进制数便于物理上电路量的实现,如用高、低电平分别表示数码1、0。因此,在计算机的具体存放数据的硬件电路中,如寄存器,存储单元,端口中,所有数据的惟一真正的存在形式都是二进制。二进制数的另外优点是便于纠错,如已知某一位二进制数据出错,则只要对该位二进制数据取反,即可实现该位数据的纠错。二进制计数的缺点尽管计算机采用的二进制数的表示方法及运算规则很简单,但书写冗长、不直观且易出错,因此计算机的输入输出仍然采用人们习惯的十进制数。十进制数在计算机中也需要用二进制编码表示。,8421BCD码十进制数在计算机中也需要用二进制编码表示。这种编码有多种形式,BCD(Binary-CodedDecimal)码比较常用。4位二进制有16种组合态,当用来表示十进制数诗,要舍去6种组合态。常用的8421BCD码,它的编码规则入下表所示,通常BCD码有两种形式,即压缩BCD码非压缩BCD码。(1)压缩BCD码压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如,10010110B表示十进制数96D。(2)非压缩BCD码非压缩BCD码用1个字节表示1位十进制数,高四位总是0000,低四位的00001001表示09。例如,00001000B表示十进制数8。,1.1.2十六进制数十六进制数(Hexadecimal)的基数为16,有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(其中数码AF也可小写)共16位数码,计数时遵循逢16进1的规则,每位的位权以16k表示。因此,十六进制数:anan-1a1a0H等于十进制数:an16n+an116n-1+a1161+a0160,使用十六进制的原因在汇编语言程序的书写及显示中常常使用十六进制数,主要因为每一位十六进制数码和四位二进制存在一一对应的关系,使得十六进制和二进制之间的转换非常方便,且直观。以至于在汇编语言程序中,十六进制的使用频率远远高于二进制,如在Debug调试程序(汇编语言程序设计中最常用的工具软件,详情可参见本书第2章的相关内容)中,所有显示及输入的数据都默认为十六进制。一般我们在书写十六进制数据时,末尾跟一个H(h),当十六进制数以AF开头时,一般在前面添加0,如十六进制数1A5BH,0ffffh等都是四位的十六进制的数。,1.1.3十进制数十进制数(Decimal)的基数为10,有0、1、2、3、4、5、6、7、8、9十位数码。计数时遵循逢10进1的规则,权值为10。十进制是最常用的计数进制,在汇编语言程序设计也常常使用十进制数,书写时可以以D结尾,也可以不写,如1234,9236D都是十进制数数据。,1.1.4数制之间的转换除基取余法十进制转换为二进制或十六进制整数部分采用“除基取余法”,即:将十进制整数及此期间产生的商逐次除以2或16。直到商为零为止,并记下每一次相除所得到的余数。按从后往前的次序将各余数记作LnLn-1Ln-1L0,从而构成转换后对应的二进制或十六进制整数第一次得到的余数为二进制或十六进制数的最低位,最后一次得到的余数为二进制或十六进制数的最高位。,【例11】将十进制整数126分别转换为二进制及十六进制数。解:首先把十进制整数126转换为二进制数,采用“除2取余法”126/2=63(L0=0)63/2=31(L1=1)31/2=15(L2=1)15/2=7(L3=1)7/2=3(L4=1)3/2=1(L5=1)1/2=0(L6=1)故1261111110B然后把十进制整数126转换为十六进制数,采用“除16取余法”126/16=7(L0=E)7/16=0(L1=7)故1267EH,【例12】将二进制数1111010B转换为十六进制数。解:将二进制数1111010B从低位到高位4位一组,不足部分补0,01111010B7AH故1111010B=7AH。在汇编语言中,还常常进行十六进制和K(千),M(兆),G(吉)这些内存容量单位之间的转换,1K210400H,1M=220100000H,1G=23040000000H,所以2K800H,64K10000H,128M8000000H。,1.1.5二进制和十六进制的运算1.二进制数的运算在汇编语言程序设计中常常需要对二进制数进行各种算术及逻辑运算,其运算规则如下:,其中除法溢出表示除法运算的商太大,超过了机器能够表达的范围,除法溢出的后续的处理与具体的应用环境不同而不同。,2.十六进制数的运算十六进制的算术运算规律和十进制类似,可以直接进行十六进制的算术运算,只是要按照逢16进1,借1当16的运算规则而已。但十六进制数的除法运算和二进制一样,有可能出现除法溢出。【例13】计算2A6BH+0B9D7H。解:,【例14】计算9FA3H73DCH。解:,【例15】计算2A6DH0081H。解:,【例16】计算2A8EH1BH。解:,1.2汇编语言程序设计中数据的表示,1.2.1整数数值数据的表示1.2.2字符的编码,1.2.1整数数值数据的表示汇编语言中使用的主要是整数形式的数值数据,整数数值在机器中的表示有两种形式:无符号整数和有符号整数,1.无符号整数无符号整数中,所有位都是数值位,数值本身只可能是正数,故没有必要保留符号位,如内存单元的物理地址,接口中的端口号等。n位无符号整数M的表数范围为0M2n-1,如8位无符号整数的表数范围是0M255,16位无符号整数的表数范围是0M65535。,2.有符号整数有符号整数有正负之分,其值称为真值,如12,13ADH等,当有符号整数在机器中表示时,一般用最高有效位来表示数的符号,正数用0表示,负数用1表示,有符号整数在机器中的表示形式称为机器值,具体的形式可以是原码、反码、补码、移码等,由于在计算机中,用补码表示有符号整数时,进行算术运算时在电路上更易于实现,故全世界几乎所有的计算机的有符号整数表示都采用补码。,(1)补码表示法正数X的补码采用符号绝对值法。即补码的最高位(符号位)为0,后紧跟该正数的绝对值,总位数为机器的字长n,即X补0XB。(2)补码的符号扩展所谓补码的符号扩展,是指补码表示的有符号数从n1位变为n2位时,(n1n2)为了保证数值本身不变,必须在其前面添加n2n1位符号位,(3)补码的表数范围n位补码的表数范围是2n-1X2n11。(4)补码的加法和减法在介绍补码的加法和减法时,先介绍求补运算。对一个二进制数进行按位取反,末位加1的运算叫求补运算。可以证明,对一个补码表示的数进行求补运算,结果是其相反数的补码。即(X补)求补X补。,补码的加法和减法补码的加法规则:X+Y补=X补+Y补补码的减法规则是:X-Y补=X补+-Y补=X补+(Y补)求补,1.2.2字符的编码计算机处理的信息不一定都是数值数据,有时是字符或字符串,在Intel80 x86机器中,采用ASCII码(AmericanStandardCodeforInformationInterchange),即美国标准信息交换码。ASCII码的每个字符用8位二进制码表示,其排列次序为b7b6b5b4b3b2b1b0,b7为校验位,b6b5b4b3b2b1b0为字符的ASCII码值。,1.3机器语言、汇编语言、汇编编译器,1.3.1机器语言1.3.2汇编语言1.3.3汇编编译器1.3.4汇编语言的特点及用途,1.3.1机器语言机器语言是计算机第一代语言,它全部由0、1代码组成,是能够直接在机器上执行的语言,是最底层的计算机语言。机器语言不容易记忆,程序编写难度大,调试修改繁琐,且不易移植,现程序员很少用。但任何高级语言最终都要被编译成机器语言,才能在机器上执行,就速度而言,机器语言执行速度最快,它是一种面向机器的程序设计语言。,1.3.2汇编语言汇编语言是汇编指令集、伪指令集和使用它们规则的统称。汇编语言比机器语言直观,容易记忆和理解,用汇编语言编写的程序称为汇编语言程序或汇编语言源程序,它比机器语言程序易读、易检查、易修改。对于不同的计算机,针对同一问题所编写的汇编语言源程序是互不通用的。用汇编语言编写的程序执行效率比较高,但通用性与可移植性比较差。计算机不能直接识别用汇编语言编写的程序,必须由一种专门翻译程序即汇编程序将汇编语言程序翻译成机器语言程序,计算机才能执行。,1.3.3汇编编译器计算机的CPU无法直接执行汇编语言编写的程序,所以必须有一个翻译程序,它能把汇编语言源程序翻译成CPU能识别的机器语言指令序列。这个翻译程序就是汇编程序,如Microsoft的MASM汇编程序,Borland的TASM汇编程序等。,1.3.4汇编语言的特点及用途1.汇编语言的特点区别于机器语言和高级语言,汇编语言大致有以下几个主要特性。(1)通用性和可移植性较差汇编语言与机器的硬件,特别是与CPU密切相关,因此微型机中不同系列的CPU的汇编语言一般是不能通用和移植的,而大型机、小型机、微型机之间的汇编语言更是不能通用和移植。(2)执行速度快,占用资源少由于完成同样任务,汇编语言使用的指令最少,故被CPU执行起来最快,而且占用的内存空间最小。(3)程序编写复杂,调试麻烦,对程序员的要求较高程序员必须熟悉所有指令、伪指令、编程结构、编程方法,才能编写出象样的汇编语言程序,而且,对其中各种资源如寄存器、内存单元、转移地址的使用情况必须非常熟记、了解,不然极容易出现资源冲突,因此,对程序员的要求极高。,2.学习汇编语言的用途(1)可以更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论