第1章.ppt

大学汇编语言程序设计-相伟-课件PPT

收藏

资源目录
跳过导航链接。
大学汇编语言程序设计-相伟-课件PPT.zip
压缩包内文档预览:(预览前20页/共87页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836146    类型:共享资源    大小:11.91MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 汇编 语言程序设计 相伟 课件 ppt
资源描述:
大学汇编语言程序设计-相伟-课件PPT,大学,汇编,语言程序设计,相伟,课件,ppt
内容简介:
21世纪高等院校规划教材,汇编语言程序设计,相 伟 主编 徐小平 李珍香 副主编,中国水利水电出版社,第1章 微型计算机概述,本章学习目标,通过本章学习,读者应该掌握以下内容: 微型计算机的发展过程 微型计算机的组成结构 数据编码方法及运算 8086/8088CPU的内部结构 8086/8088CPU的存储器分段管理技术,1.1 微型计算机的发展过程与组成结构,1.1.1微型计算机的发展过程 1电子计算机概述 1946年,世界上第一台电子数字计算机ENIAC(Electronic Numerical Integrator And Calculator )在美国宾夕法尼亚大学研制成功,标志着计算机时代的到来,随着计算机技术和集成电路技术的发展,计算机的制造成本逐渐降低,而性能、可靠性越来越高。特别是在1970年以后,随着大规模集成电路(LSI)研制成功,出现了微型计算机。,在微型计算机出现之前,电子计算机一般是根据体积、性能、价格划分为巨型机、大型机、中型机、小型机。 但从计算机的硬件发展水平而言,计算机的发展经历了电子管时代、晶体管时代、中小规模集成电路时代、大规模和超大规模集成电路时代,目前已进入巨大规模的集成电路时代。,尽管计算机发展很快,但微型计算机与巨型机、大型机、中型机、小型机在系统结构和工作原理上并没有本质上的区别,都是依据著名的美籍匈牙利数学家冯诺依曼(Johaan Von Neumann,19031957)提出的存储程序(Stored Program)原理工作的,即将由指令组成的程序和指令操作的数据以二进制形式存储在存储器里,通过使计算机自动从存储器中取出程序执行,完成程序赋予的功能。,根据程序存储原理,计算机硬件应由五个基本部分组成,即:运算器、控制器、存储器、输入设备和输出设备。运算器是计算机执行各种算术运算和逻辑运算的功能部件。控制器用于控制组成计算机的各个功能部件协调一致的工作。存储器用于存储计算机运行的程序、程序处理的数据、程序运算结果。输入设备用于将程序和数据输入计算机,存储在存储器中。输出设备用于输出存储器中的程序、原始数据和运算结果。,2微型计算机的发展过程,(1)4位微处理器 1971年,Intel公司推出了第一片4位微处理器Intel4004,它在4.2mm*3.2mm的硅片上,集成了2250个晶体管,工作频率为108KHz,寻址空间640字节,以其为核心组成了一台高级袖珍计算器。随后Intel公司在Intel4004的基础上,经过改进,推出了Intel4040,它是第一片通用的4位微处理器。4位微处理器指令系统简单,运算功能较弱。,(2)8位微处理器 1972年,Intel公司推出8位微处理器Intel8008,集成度约2000个晶体管,时钟频率为1MHz。Intel8008的运算能力是4004的2倍。 1974年,Intel公司又推出8位微处理器Intel8080,集成度约6000个晶体管,时钟频率为2MHz。 1976年,Intel公司推出功能最强的8位微处理器Intel8085,集成度约1万个晶体管,时钟频率达到4MHz。,(3)16位微处理器 1978年,Intel公司推出16位处理器Intel8086,集成度约2.9万个晶体管,时钟频率为5MHz、8MHz、10MHz。Intel8086的内部和外部数据线都是16位,地址线为20位,可直接访问1MB内存单元。Intel8086首次采用了流水线技术,并在CPU内部设置了6个字节的指令队列,存放预取的指令,减少了CPU取指令的时间。,(4)32位处理器 1985年,Intel公司推出了32位处理器Intel80386,集成度约27万个晶体管,时钟频率为2040MHz,该芯片的数据线及地址线都是32位,可直接访问4GB内存,并支持分页机制。Intel80386与Intel8086向上兼容,具有三种工作方式:实地址模式、保护虚地址模式和虚拟Intel8086模式。所谓虚拟Intel8086模式是指可以在操作系统控制下模拟多个Intel8086同时工作。,(5)64位微处理器 2003年,AMD公司率先推出了64位微处理器Athlon 64,该微处理器的推出使AMD公司在个人计算机处理器的竞争中首次领先于Intel公司。Athlon 64 处理器既可确保当前的32位应用程序能够发挥出卓越的性能,也可支持下一代的64位应用程序。 64位微处理器的诞生,标志着计算技术迈进了一个新的时代。,1.1.2微型计算机的组成结构,1微型计算机的组成 微型计算机的典型组成结构如图1-1所示。,从图1-1中可以看出,微型计算机由微处理器CPU、内存ROM和RAM、I/O接口电路以及系统总线组成,其中CPU是整个微型计算机的核心部件。,CPU是微型计算机的核心部件,它是采用超大规模集成电路技术制作的芯片,芯片内集成了运算器和控制器的功能,并集成了少量的被称为寄存器的高速存储单元。,(2)内存 微型计算机的工作就是执行程序,即不断地取指令并执行指令,而不论指令还是指令处理的数据都是存放在存储器中。存储器由内存和外存两部分组成 。,(3)I/O接口 I/O(InputOutput)接口电路是外设与微型计算机之间的连接电路。外设是外部设备的简称,用来实现程序和数据的输入/输出。由于外设多数是机电设备,传输数据的速度远低于计算机,而且接收数据的信息格式、信号电平也不一定符合微型计算机的要求,故外设需要接口电路与计算机相连接。I/O接口的作用是在CPU和外设之间进行信息交换时,起缓冲、信息格式转换及时序匹配等作用。,(4)系统总线 系统总线是CPU与其它各功能部件之间进行信息传输的通道,它是一组并行的导线。按照系统总线上所传送信息的不同类型,系统总线可以分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。,2微型计算机系统的组成,3. 微型计算机的性能指标,(1)主频 (2)运算速度 (3)字长 (4)存储容量,各个存储容量的单位之间的关系如下: 1KB=1024B 1MB=1024KB 1GB =1024MB 1TB =1024GB,4. 微型计算机的主要应用,(1)科学计算 (2)数据处理 (3)计算机辅助应用系统 (4)过程控制和仪器仪表智能化,1.2数据编码与运算,在日常生活中我们常用十进制数,但在计算机系统中,数据的存储及处理均采用二进制数,所有计算机处理的数据,包括字母、符号等都要用二进制编码来表示。,1.2.1数据编码与运算,1各种进位计数制 2数制的转换 3. 数据运算,1各种进位计数制,(1)十进制计数 在十进制计数中,采用数字0、1、2、3、4、5、6、7、8、9共10个数码来计数。通过这10个数码来表示任意大小的数值,同一个数码在数值的不同位置上有不同权。在个位的位置上,数码的权是100;在十位的位置上,数码的权是101;在百位的位置上,数码的权是102;在千位的位置上,数码的权是103,依次类推。,例如,(5178)10 = 5103110271018100 (795.412)10 = 710291015100410-1110-2210-3,(2)二进制数,(10110011)2 = 127026125124023022121120 (11.1001)2 = 12112012-102-202-312-4,(3)十六进制数,(9A7C)16 = 9163A1627161C160 (B56.D7)16 = B16251616160D16-1716-2,2数制的转换,在汇编语言程序设计中,既可以使用二进制表示的数,也可以使用十进制表示的数或使用十六进制表示的数。因此,应该熟练掌握各种计数值及各种计数值之间的相互转换。,(1) 十进制数与二进制数之间的相互转换,例1-1 将十进制数 76.425转换成二进制数。 转换方法:将数分成整数部分和小数部分分别进行转换。,转换结果为:76.425 = 1001100.011011B,商 余数 762=38 0 382=19 0 192=9 1 92=4 1 42=2 0 22=1 0 12=0 1,乘积 整数 0.4252=0.850 0 0.852=1.70 1 0.72=1.4 1 0.42=0.8 0 0.82=1.6 1 0.62=1.2 1,例1-2 将二进制数11.1001B转换成十进制数。,11.1001B = 12112012-102-202-312-4 = 210.5000.0625 = 3.5625,(2)将十进制数与十六进制数之间的相互转换,例1-3 将十进制数 76.125转换成十六进制数。 商 余数 7616=4 C 416=0 4 乘积 整数部分 0.12516=2.0 2 转换结果为:76.125 = 4C.2H,例1-4 将十六进制数B56.D7H转换成十进制数。 B56.D7H = B16251616160D16-1716-2 = 28168060.81250.027344 = 2902.839844,(3)二进制数与十六进制数的相互转换,例1-5 将二进制数101111010 . 0111001B转换成十六进制数。 101111010 . 0111001B = 0001 0111 1010 . 0111 0010B = 17A.72H,例1-6 将十六进制数B56.D7H转换成二进制数。 B56.D7H = 1011 0101 0110 . 1101 0111B,3. 数据运算 (1)二进制加法运算,二进制加法运算规则:逢2进1。 即 :000 011 101 110 产生进位1,例1-7 计算两个数据9759,具体计算过程如下: 0 1 1 0 0 0 0 1 B 0 0 1 1 1 0 1 1 B 1 0 0 1 1 1 0 0 B,(2)二进制减法运算,二进制减法运算规则:借1作2。 即 :000 011产生借位1 101 110,例1-8 计算两个数据9759,具体计算过程如下: 0 1 1 0 0 0 0 1 B 0 0 1 1 1 0 1 1 B 0 0 1 0 0 1 1 0 B,(3) 二进制乘法运算,二进制乘法运算与十进制乘法运算类似 即 :000 010 100 111,例1-10 计算1 0 1 1 B 1 0 0 1 B。,1 0 1 1 B 1 0 0 1 B 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1,(4) 二进制除法运算,例1-11 计算1 0 1 1 0 0 11 B 1 0 0 1 B。 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0,1.2.2 带符号数的编码及运算,对于用一个字节来表示的带符号数,D7位表示符号位,其余位表示数据位。 对于用一个字来表示的带符号数,D15位表示符号位,其余位表示数据位。,1原码编码法,原码编码的规则是:最高位代表符号位,正数的符号位用0表示,负数的符号位用1表示,数值部分按照“除2取余”的方法直接转换成二进制数。,例如: 75的原码用字节表示为:0 0 1 0 0 1 0 1 1 B 75的原码用字节表示为:1 0 1 0 0 1 0 1 1 B 31785的原码用字表示为: 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 B 31785的原码用字表示为: 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 B 0的原码用字节表示为:0 0 0 0 0 0 0 0 B 0的原码用字节表示为:1 0 0 0 0 0 0 0 B,8位原码所能表示的数据范围是: (271)M(271) 或127M127 或7FHM7FH 16位原码所能表示的数据范围是: (2151)M(2151) 或32767M32767 或7FFFHM7FFFH,2补码编码法及其运算,补码编码的规则是:正数的补码等于原码,负数的补码可先求对应正数的原码,再对原码进行取反加1(包括符号位)。,例如 75的补码用字节表示为:0 0 1 0 0 1 0 1 1 B 75的补码用字节表示为:1 1 0 1 1 0 1 0 1 B 31785的补码用字表示为: 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 B 31785的补码用字表示为: 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 B 0的补码用字节表示为:0 0 0 0 0 0 0 0 B 0的补码用字节表示为:0 0 0 0 0 0 0 0 B,例1-12 对两个带符号数75和43进行加法运算。,0 1 0 0 1 0 1 1 B 1 1 0 1 0 1 0 1 B 1 0 0 1 0 0 0 0 0 B 运算结果: (75)(43)0 0 1 0 0 0 0 0 B,例1-13 对两个带符号数75和43进行减法运算。,0 1 0 0 1 0 1 1 B 1 1 0 1 0 1 0 1 B 0 1 1 1 0 1 1 0 B 运算结果: (75)(43)0 1 1 1 0 1 1 0 B,8位补码所能表示的数据范围是: 27M(271) 或128M127 或80HM7FH 16位补码所能表示的数据范围是: 215M(2151) 或32768M32767 或8000HM7FFFH,1.2.3 数的定点表示法和浮点表示法,在计算机中,不仅可以存储和处理整数,也可以存储和处理实数,即带小数点的数据。根据小数点的位置是否固定,实数在计算机中的表示分为定点表示法和浮点表示法。,1定点表示法,纯小数形式的定点表示法如下:,整数形式的定点表示法如下:,2. 浮点表示法,浮点数的编码格式如下:,1.2.4 BCD码和ASCII码,1BCD码 BCD码的编码方法是将一位十进制数字用4位二进制数表示。其中,最常使用的BCD码是8421码。在8421码中,数字09分别用4位二进制数00001001表示,其中8、4、2、1表示4位二进制数中每一位的权分别是108、104、102、101。,例如: 十进制数9386 用压缩的BCD码表示为: 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 1 用非压缩的BCD码表示为: 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1,1.4 8086/8088CPU的存储器管理,8086/8088CPU有20位地址信号线,可直接寻址1MB的内存空间,但8086/8008CPU内部的所有通用寄存器都是16位的,16位的寄存器只能寻址64KB的内存空间,所以为了寻址1MB的内存空间,8086/8088CPU采用了存储器分段管理技术。,1.4.1存储器的分段管理,8086/8088CPU在BIU单元中设置了4个段寄存器,即数据段寄存器CS、附加数据段寄存器ES、代码段寄存器CS、堆栈段寄存器SS。,2. ASCII码,ASCII码(American Standard Code for Information Interchange:美国标准信息交换码),ASCII码使用7位二进制编码表示一个字符,在计算机中用一个字节存储,最高位一般取0。在有些情况下,最高位用做奇偶校验位,用来校验字符代码在传输过程中是否发生错误。,常用字符的ASCII码如下: 10个数字字符的ASCII码为:30H39H。 26个大写字母的ASCII码为:41H5AH。 26个小写字母的ASCII码为:61H7AH。 空格字符(SP)的ASCII码为:20H。 回车字符(CR)的ASCII码为:0DH。 换行字符(LF)的ASCII码为:0AH。,1.3 8086/8088CPU,8086CPU是Intel公司于1978年推出的16位微处理器,时钟频率为5MHz,有16位数据信号线,20位地址信号线,可寻址的内存地址空间为1MB。 8088CPU是Intel公司于1979年推出的准16位微处理器,时钟频率为4.77MHz,有8位数据信号线,20位地址信号线,可寻址的地址空间为1MB。,1.3.1 8086/8088CPU的内部结构,1总线接口部件BIU,BIU由20位地址加法器、4个16位段寄存器(CS、DS、 ES、SS)、一个16位的指令指针IP和一个指令队列所组成的。其中,8088CPU的指令队列有4字节,8086CPU的指令队列有6字节。,CS:Code Segment,存放当前代码段的段地址。 DS: Data Segment,存放当前数据段的段地址。 ES:Extra Segment,存放当前附加数据段的地址。 SS:Stack Segment,存放当前堆栈段的段地址。 IP:Instruction Pointer,存放下一条要执行的指令的偏移地址。,2执行部件EU,8个16位的通用寄存器 一个16位的算术逻辑单元ALU(Arithmetic Logical Unit) 一个16位标志寄存器Flags EU控制电路组成。,AX:Accumulator,累加器 BX:Base,基址寄存器 CX:Count,计数器 DX:Data,数据寄存器 SP:Stack Pointer,堆栈指针寄存器, BP:Base Pointer,基址指针寄存器 SI:Source Index,源变址寄存器, DI:Destination Index,目的变址寄存器,1.3.2 CPU的内部寄存器,1通用寄存器 2标志寄存器Flags 8086/8088CPU的各个标志位,根据功能可以分为两类:状态标志和控制标志。,(1) 状态标志, 符号标志SF(Sign Flag) 零标志ZF(Zero Flag) 奇/偶标志PF(Parity Flag) 进位标志CF(Carry Flag) 辅助进位标志AF(Auxiliary carry Flag) 溢出标志OF(Overflow Flag),例1-14 判断两个数相加之后,各个状态标志位的设置。,MOV AX,0A365H ADD AX,7259H 1010 0011 0110 0101 0111 0010 0101 1001 10001 0101 1011 1110 各个状态标志位的设置如下: SF=0、ZF=0、PF=1、CF=1、AF=0、OF =0,例1-15 判断上例中的两个数相减之后,各个状态标志位的设置。,MOV AX,0A365H SUB AX,7259H 1010 0011 0110 0101 0111 0010 0101 1001 0011 0001 0000 1100 各个状态标志位的设置如下: SF=0、ZF=0、PF=1、CF=0、AF=1、OF =1,1.4 8086/8088CPU的存储器管理,8086/8088CPU有20位地址信号线,可直接寻址1MB的内存空间,但8086/8008CPU内部的所有通用寄存器都是16位的,16位的寄存器只能寻址64KB的内存空间,所以为了寻址1MB的内存空间,8086/8088CPU采用了存储器分段管理技术。,1.4.1存储器的分段管理,逻辑地址,一个存储单元的段地址和偏移地址称为该存储单元的逻辑地址,逻辑地址又称为有效地址EA(Effective Address)。 逻辑地址的形式为: 段地址:偏移地址,物理地址,8086/8088CPU对存储器中某一个存储单元的访问,需要根据逻辑地址计算出该存储单元的20位地址,这个20位地址称为该存储单元的物理地址,物理地址记做PA。 物理地址=段寄存器的值16+偏移地址。,1.4.2 CPU对存储器的寻址,1取指令,指令存放在代码区,取指令时使用的段地址只能由CS提供,偏移地址由IP提供,IP指示CPU要执行的下一条指令的偏移地址。,2堆栈操作,堆栈是按先进后出的的原则在内存中组织的一个存储区域,该区域一端固定,称为堆栈的栈底,另一端活动,称为堆栈的栈顶。堆栈指针SP始终指向栈顶,初始时栈顶和栈底是一个位置,而堆栈段寄存器SS则指明了堆栈段的起始位置。,堆栈操作指令:PUSH和POP。 入栈指令PUSH 格式:PUSH src ;
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学汇编语言程序设计-相伟-课件PPT
链接地址:https://www.renrendoc.com/p-21836146.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!