8086汇编语言程序设计第1章+基础知识.ppt_第1页
8086汇编语言程序设计第1章+基础知识.ppt_第2页
8086汇编语言程序设计第1章+基础知识.ppt_第3页
8086汇编语言程序设计第1章+基础知识.ppt_第4页
8086汇编语言程序设计第1章+基础知识.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言程序设计,艰苦奋斗、严谨治学、求实创新、为人师表,程序设计语言面向机器的低级语言面向过程的高级语言面向对象的高级语言机器语言BASICC+汇编语言PascalSmalltalkCVCFORTRANJAVACOBOL,第一章基础知识,什么是汇编语言进位计数制及转换方法计算机中的数据组织二进制的算术运算和逻辑运算,1,2,3,4,1.1什么是汇编语言,机器语言与汇编语言高级语言汇编语言的特点汇编语言与高级语言的比较汇编语言的应用领域,机器语言二进制编码的计算机语言机器语言是计算机唯一能够识别并接受的语言,机器语言描述的程序称为目标程序,是CPU唯一能够直接执行的程序。,例如:计算z=x+y其中x=5,y=6;机器语言指令为:A00000H;将变量x中的内容5送到寄存器al02060100H;将al中的内容5加变量y中的内容6,结果送寄存器al中。A20200H;将最终结果送变量z中。,缺点:难于记忆和理解,编程序麻烦易出错,不便于学习。,汇编语言采用助记符表示的程序语言例如上例:计算z=x+y其中x=5,y=6;机器语言汇编语言A00000Hmoval,x02060100Haddal,yA20200Hmovz,al汇编语言的执行语句与机器语言的指令是一一对应的。,汇编语言源程序与汇编程序,图1-1编辑、汇编与连接过程,汇编语言源程序,目标程序,可运行程序,汇编程序,连接程序,.asm,.obj,.exe,高级语言包括:面向过程的语言和和面向对象语言。面向过程语言:采用的是人们所熟悉的、便于记忆的和容易理解的结构化的语言。面向对象的语言:是从面向过程语言发展而来的,它改变了编程者的思维方式,使编程者从结构化程序设计到面向对象的程序设计。,汇编语言的特点:汇编语言与机器关系密切汇编语言与机器语言是一一对应的,因此,再程序设计过程中,可以充分利用计算机硬件的全部功能,更直接和更有效地操纵计算机的硬件系统。,汇编语言程序效率高用汇编语言编写的源程序经汇编后所得的目标程序效率高:时间执行速度快,空间目标代码短。编写汇编语言源程序繁琐,程序的调试、维护、移植能力差。,汇编语言与高级语言的比较,1程序高级语言:面向问题。汇编语言:面向机器。2软件开发高级语言:节省软件开发时间,但不允许程序员直接使用微处理器的集成电路芯片的许多特性。汇编语言:程序编写比高级语言困难,要首先了解微机的内部结构,才能充分地发挥汇编语言的作用。,3代码生成高级语言:高级语言编译后产生的目标代码程序比较长。汇编语言:汇编语言编译后产生的目标代码程序短,因而,汇编语言程序执行速度快,所占内存少。,汇编语言的应用领域,了解计算机硬件资源嵌入式系统的底层设计操作系统的核心部分的设计是实时控制系统的软件设计接口电路的初始化程序外部设备的底层驱动程序复杂的算法优化,1.2进位计数制及转换方法,常用的进位计数制数制之间的转换,常用的进位计数制,十进制记数法二进制记数法八进制十六进制,数制之间的转换,1二进制数转换成十进制数二进制数转换成十进制数采用的方法是按权展开法,即按权展开后再相加。【例1-5】(111.101)2=(122+121+120+121+123)10=(4+2+1+0.5+0.125)10=(7.625)10,2.十进制数转换成二进制数【例1-6】用除2取余法计算215D=(?)B,215D=(B7B6B5B4B3B2B1B0)B=11010111B,3八进制与二进制之间的转换因为:23=8所以:一位八进制的权相当于3位二进制数八进制二进制00001001201030114100510161107111,例如:(563)8=(101110011)2(0.734)8=(0.111011100)2(11101110011)2=(3563)8(0101011011)2=(0)8,4.十六进制与二进制之间的转换因为:24=16所以:1位十六进制的权相当于4位二进制数,1)十六进制转换成二进制【例1-17】(3AB)16=(001110101011)2【例1-18】(0.7A53)16=(00111101001010011)2【例1-19】(3AB.7A53)16=(001110101011.0111101001010011)22)二进制转换成十六进制【例1-20】(1101111100011)2=(1BE3)16【例1-21】(0.100101111)2=(0.978)16【例1-22】(1101111100011.100101111)2=(1BE3.978)16,5.八进制与十六进制之间的转换以二进制为桥梁进行转换82161628(765)8=(111110101)2=(1F5)16(0AB)16=(10101011)2=(253)8注意:十六进制数以A,B,C,D,E,F打头要在数的前面补0。,1.3计算机中的数据组织,数据组织方式数的表示方法字符的表示方法,数据组织方式,位(Bit)位是计算机中表示信息的最小单位,是一个二进制位,每一位用二进制的“0”或“1”表示。字节(Byte)8位二进制数为1个字节,每个字节为8位二进制数。图1-2字节的表示形式,最高位,最低位,字(Word)字是在操作中作为一个单元处理的一组数据,一般1个字包含2个字节,1个字可以表示216个不同的值,即065535(用十六进制表示为:0000HFFFFH).,图1-3字的表示形式,双字(DoubleWord)2个字节为1个字,4个字节为2个字,也称为双字,如图1-4为双字的表示形式。,低字,高字,图1-4双字的表示形式,字长机器字的长度为字长,是计算机中每个字所包含的位数。8088/8086CPU为16位数据总线数,因此,8088/8086CPU的机器字长为16位,也称为16位机。如:80386DX/80486CPU的数据总线数为32位,机器字长就为32位。Pentium机的数据总线数为64位,机器字长就为64位。,数据字与指令字在存储单元中是存放的都是二进制数,2字节的二进制数,所表示的如果是数据,为数据字。所表示的如果是指令,为指令字。例如:计算z=x+y其中x=5,y=6;为了书写方便用十六进制来表示机器指令:A00000(3字节)02060100(4字节)A20200(3字节),数制计算机内部是采用二进制数(Binary)进行操作和运算的。在编写汇编语言源程序时,为了书写方便,可以使用:十进制数(D)八进制数(O)十六进制数(H),需要注意的问题:通过汇编程序把汇编语言源程序转换为目标程序时,程序中的十进制数、八进制数、十六进制数均由汇编程序自动转换成二进制数。,数的表示方法,带符号数和不带符号数每个字节或字的最高位设置为符号位。当符号位为0时,该数为正数。当符号位为1时,该数为负数。若用8位二进制来表示1个十进制数,则D7位为符号位,D6D0位为数字位。+10501101001B10511101001B(机器数)为了便于计算机运算,通常采用补码来表示带符号数。,补码的特点a、对于正数,补码与实际值一致,符号位为0。b、对于负数,补码与实际值互补。(补码是实际值每位取反码,末尾加1)c、+0补=0补=00000000d、8位字长的表示范围:+127128,01111111B10000000Be、用补码运算后,运算结果符号位如果为“0”,数值部分就是此运算的最终结果,符号位如果为“1”,数值部分不是运算结果,而是要把数值部分再取补,得到的才是最终运算结果。,举例【例1-25】机器字长为8位,计算6510=?26510=65+(10)6510=010000012=010000012补1010=100010102=111101102补,8位和16位二进制补码数的表示范围带符号数对于8位二进制的带符号数:可表示的最大正数为01111111B(或7FH、+127)。可表示的最小负数为10000000B(或80H、一128)。不带符号数8位无符号数的表示范围:00000000B11111111B(00H0FFH、0255)。,BCD码与8421码BCD码就是1位十进制数用4位二进制表示,而这4位二进制是用8421码表示,其中四位二进制数00001001表示十进制数09,其余的四位二进制数1010111l不用。,表1.1BCD码与8421码,ASCII编码用一个字节来表示,其中的低7位为字符编码位,最高位为奇偶效验位。,字符的表示方法,标准的ASCII码共有128个字符,可分为二类:非打印ASCII和打印ASCII。如表1.2所示。(1)非打印ASCII(控制性

温馨提示

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

评论

0/150

提交评论