《汇编语言程序设计》-相伟-电子教案第1章.ppt_第1页
《汇编语言程序设计》-相伟-电子教案第1章.ppt_第2页
《汇编语言程序设计》-相伟-电子教案第1章.ppt_第3页
《汇编语言程序设计》-相伟-电子教案第1章.ppt_第4页
《汇编语言程序设计》-相伟-电子教案第1章.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

21世纪高等院校规划教材 汇编语言程序设计 相伟主编徐小平李珍香副主编 中国水利水电出版社 第1章微型计算机概述 本章学习目标 通过本章学习 读者应该掌握以下内容 微型计算机的发展过程微型计算机的组成结构数据编码方法及运算8086 8088CPU的内部结构8086 8088CPU的存储器分段管理技术 1 1微型计算机的发展过程与组成结构 1 1 1微型计算机的发展过程1 电子计算机概述1946年 世界上第一台电子数字计算机ENIAC ElectronicNumericalIntegratorAndCalculator 在美国宾夕法尼亚大学研制成功 标志着计算机时代的到来 随着计算机技术和集成电路技术的发展 计算机的制造成本逐渐降低 而性能 可靠性越来越高 特别是在1970年以后 随着大规模集成电路 LSI 研制成功 出现了微型计算机 在微型计算机出现之前 电子计算机一般是根据体积 性能 价格划分为巨型机 大型机 中型机 小型机 但从计算机的硬件发展水平而言 计算机的发展经历了电子管时代 晶体管时代 中小规模集成电路时代 大规模和超大规模集成电路时代 目前已进入巨大规模的集成电路时代 尽管计算机发展很快 但微型计算机与巨型机 大型机 中型机 小型机在系统结构和工作原理上并没有本质上的区别 都是依据著名的美籍匈牙利数学家冯 诺依曼 JohaanVonNeumann 1903 1957 提出的存储程序 StoredProgram 原理工作的 即将由指令组成的程序和指令操作的数据以二进制形式存储在存储器里 通过使计算机自动从存储器中取出程序执行 完成程序赋予的功能 根据程序存储原理 计算机硬件应由五个基本部分组成 即 运算器 控制器 存储器 输入设备和输出设备 运算器是计算机执行各种算术运算和逻辑运算的功能部件 控制器用于控制组成计算机的各个功能部件协调一致的工作 存储器用于存储计算机运行的程序 程序处理的数据 程序运算结果 输入设备用于将程序和数据输入计算机 存储在存储器中 输出设备用于输出存储器中的程序 原始数据和运算结果 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万个晶体管 时钟频率为20 40MHz 该芯片的数据线及地址线都是32位 可直接访问4GB内存 并支持分页机制 Intel80386与Intel8086向上兼容 具有三种工作方式 实地址模式 保护虚地址模式和虚拟Intel8086模式 所谓虚拟Intel8086模式是指可以在操作系统控制下模拟多个Intel8086同时工作 5 64位微处理器2003年 AMD公司率先推出了64位微处理器Athlon64 该微处理器的推出使AMD公司在个人计算机处理器的竞争中首次领先于Intel公司 Athlon64处理器既可确保当前的32位应用程序能够发挥出卓越的性能 也可支持下一代的64位应用程序 64位微处理器的诞生 标志着计算技术迈进了一个新的时代 1 1 2微型计算机的组成结构 1 微型计算机的组成微型计算机的典型组成结构如图1 1所示 从图1 1中可以看出 微型计算机由微处理器CPU 内存ROM和RAM I O接口电路以及系统总线组成 其中CPU是整个微型计算机的核心部件 CPU是微型计算机的核心部件 它是采用超大规模集成电路技术制作的芯片 芯片内集成了运算器和控制器的功能 并集成了少量的被称为寄存器的高速存储单元 2 内存微型计算机的工作就是执行程序 即不断地取指令并执行指令 而不论指令还是指令处理的数据都是存放在存储器中 存储器由内存和外存两部分组成 3 I O接口I O Input Output 接口电路是外设与微型计算机之间的连接电路 外设是外部设备的简称 用来实现程序和数据的输入 输出 由于外设多数是机电设备 传输数据的速度远低于计算机 而且接收数据的信息格式 信号电平也不一定符合微型计算机的要求 故外设需要接口电路与计算机相连接 I O接口的作用是在CPU和外设之间进行信息交换时 起缓冲 信息格式转换及时序匹配等作用 4 系统总线系统总线是CPU与其它各功能部件之间进行信息传输的通道 它是一组并行的导线 按照系统总线上所传送信息的不同类型 系统总线可以分为数据总线DB DataBus 地址总线AB AddressBus 和控制总线CB ControlBus 2 微型计算机系统的组成 3 微型计算机的性能指标 1 主频 2 运算速度 3 字长 4 存储容量 各个存储容量的单位之间的关系如下 1KB 1024B1MB 1024KB1GB 1024MB1TB 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 5 103 1 102 7 101 8 100 795 412 10 7 102 9 101 5 100 4 10 1 1 10 2 2 10 3 2 二进制数 10110011 2 1 27 0 26 1 25 1 24 0 23 0 22 1 21 1 20 11 1001 2 1 21 1 20 1 2 1 0 2 2 0 2 3 1 2 4 3 十六进制数 9A7C 16 9 163 A 162 7 161 C 160 B56 D7 16 B 162 5 161 6 160 D 16 1 7 16 2 2 数制的转换 在汇编语言程序设计中 既可以使用二进制表示的数 也可以使用十进制表示的数或使用十六进制表示的数 因此 应该熟练掌握各种计数值及各种计数值之间的相互转换 1 十进制数与二进制数之间的相互转换 例1 1将十进制数76 425转换成二进制数 转换方法 将数分成整数部分和小数部分分别进行转换 转换结果为 76 425 1001100 011011B 商余数76 2 38038 2 19019 2 919 2 414 2 202 2 101 2 01 乘积整数0 425 2 0 85000 85 2 1 7010 7 2 1 410 4 2 0 800 8 2 1 610 6 2 1 21 例1 2将二进制数11 1001B转换成十进制数 11 1001B 1 21 1 20 1 2 1 0 2 2 0 2 3 1 2 4 2 1 0 5 0 0 0 0625 3 5625 2 将十进制数与十六进制数之间的相互转换 例1 3将十进制数76 125转换成十六进制数 商余数76 16 4C4 16 04乘积整数部分0 125 16 2 02转换结果为 76 125 4C 2H 例1 4将十六进制数B56 D7H转换成十进制数 B56 D7H B 162 5 161 6 160 D 16 1 7 16 2 2816 80 6 0 8125 0 027344 2902 839844 3 二进制数与十六进制数的相互转换 例1 5将二进制数101111010 0111001B转换成十六进制数 101111010 0111001B 000101111010 01110010B 17A 72H 例1 6将十六进制数B56 D7H转换成二进制数 B56 D7H 101101010110 11010111B 3 数据运算 1 二进制加法运算 二进制加法运算规则 逢2进1 即 0 0 00 1 11 0 11 1 0产生进位1 例1 7计算两个数据97 59 具体计算过程如下 01100001B 00111011B10011100B 2 二进制减法运算 二进制减法运算规则 借1作2 即 0 0 00 1 1产生借位11 0 11 1 0 例1 8计算两个数据97 59 具体计算过程如下 01100001B 00111011B00100110B 3 二进制乘法运算 二进制乘法运算与十进制乘法运算类似即 0 0 00 1 01 0 01 1 1 例1 10计算1011B 1001B 1011B 1001B10110000000010111100011 4 二进制除法运算 例1 11计算10110011B 1001B 100111001101100111001001000110011000110011000 1 2 2带符号数的编码及运算 对于用一个字节来表示的带符号数 D7位表示符号位 其余位表示数据位 对于用一个字来表示的带符号数 D15位表示符号位 其余位表示数据位 1 原码编码法 原码编码的规则是 最高位代表符号位 正数的符号位用0表示 负数的符号位用1表示 数值部分按照 除2取余 的方法直接转换成二进制数 例如 75的原码用字节表示为 001001011B 75的原码用字节表示为 101001011B 31785的原码用字表示为 0111110000101001B 31785的原码用字表示为 1111110000101001B 0的原码用字节表示为 00000000B 0的原码用字节表示为 10000000B 8位原码所能表示的数据范围是 27 1 M 27 1 或 127 M 127或 7FH M 7FH16位原码所能表示的数据范围是 215 1 M 215 1 或 32767 M 32767或 7FFFH M 7FFFH 2 补码编码法及其运算 补码编码的规则是 正数的补码等于原码 负数的补码可先求对应正数的原码 再对原码进行取反加1 包括符号位 例如 75的补码用字节表示为 001001011B 75的补码用字节表示为 110110101B 31785的补码用字表示为 0111110000101001B 31785的补码用字表示为 1000001111010111B 0的补码用字节表示为 00000000B 0的补码用字节表示为 00000000B 例1 12对两个带符号数 75和 43进行加法运算 01001011B 11010101B100100000B运算结果 75 43 00100000B 例1 13对两个带符号数 75和 43进行减法运算 01001011B 11010101B01110110B运算结果 75 43 01110110B 8位补码所能表示的数据范围是 27 M 27 1 或 128 M 127或 80H M 7FH16位补码所能表示的数据范围是 215 M 215 1 或 32768 M 32767或 8000H M 7FFFH 1 2 3数的定点表示法和浮点表示法 在计算机中 不仅可以存储和处理整数 也可以存储和处理实数 即带小数点的数据 根据小数点的位置是否固定 实数在计算机中的表示分为定点表示法和浮点表示法 1 定点表示法 纯小数形式的定点表示法如下 整数形式的定点表示法如下 2 浮点表示法 浮点数的编码格式如下 1 2 4BCD码和ASCII码 1 BCD码BCD码的编码方法是将一位十进制数字用4位二进制数表示 其中 最常使用的BCD码是8421码 在8421码中 数字0 9分别用4位二进制数0000 1001表示 其中8 4 2 1表示4位二进制数中每一位的权分别是108 104 102 101 例如 十进制数9386用压缩的BCD码表示为 1000011010010011用非压缩的BCD码表示为 00000110000010000000001100001001 1 48086 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码 AmericanStandardCodeforInformationInterchange 美国标准信息交换码 ASCII码使用7位二进制编码表示一个字符 在计算机中用一个字节存储 最高位一般取0 在有些情况下 最高位用做奇偶校验位 用来校验字符代码在传输过程中是否发生错误 常用字符的ASCII码如下 10个数字字符的ASCII码为 30H 39H 26个大写字母的ASCII码为 41H 5AH 26个小写字母的ASCII码为 61H 7AH 空格字符 SP 的ASCII码为 20H 回车字符 CR 的ASCII码为 0DH 换行字符 LF 的ASCII码为 0AH 1 38086 8088CPU 8086CPU是Intel公司于1978年推出的16位微处理器 时钟频率为5MHz 有16位数据信号线 20位地址信号线 可寻址的内存地址空间为1MB 8088CPU是Intel公司于1979年推出的准16位微处理器 时钟频率为4 77MHz 有8位数据信号线 20位地址信号线 可寻址的地址空间为1MB 1 3 18086 8088CPU的内部结构 1 总线接口部件BIU BIU由20位地址加法器 4个16位段寄存器 CS DS ES SS 一个16位的指令指针IP和一个指令队列所组成的 其中 8088CPU的指令队列有4字节 8086CPU的指令队列有6字节 CS CodeSegment 存放当前代码段的段地址 DS DataSegment 存放当前数据段的段地址 ES ExtraSegment 存放当前附加数据段的地址 SS StackSegment 存放当前堆栈段的段地址 IP InstructionPointer 存放下一条要执行的指令的偏移地址 2 执行部件EU 8个16位的通用寄存器一个16位的算术逻辑单元ALU ArithmeticLogicalUnit 一个16位标志寄存器FlagsEU控制电路组成 AX Accumulator 累加器BX Base 基址寄存器CX Count 计数器DX Data 数据寄存器SP StackPointer 堆栈指针寄存器 BP BasePointer 基址指针寄存器SI SourceIndex 源变址寄存器 DI DestinationIndex 目的变址寄存器 1 3 2CPU的内部寄存器 1 通用寄存器2 标志寄存器Flags8086 8088CPU的各个标志位 根据功能可以分为两类 状态标志和控制标志 1 状态标志 符号标志SF SignFlag 零标志ZF ZeroFlag 奇 偶标志PF ParityFlag 进位标志CF CarryFlag 辅助进位标志AF AuxiliarycarryFlag 溢出标志OF OverflowFlag 例1 14判断两个数相加之后 各个状态标志位的设置 MOVAX 0A365HADDAX 7259H1010001101100101 011100100101100110001010110111110各个状态标志位的设置如下 SF 0 ZF 0 PF 1 CF 1 AF 0 OF 0 例1 15判断上例中的两个数相减之后 各个状态标志位的设置 MOVAX 0A365HSUBAX 7259H1010001101100101 01110010010110010011000100001100各个状态标志位的设置如下 SF 0 ZF 0 PF 1 CF 0 AF 1 OF 1 1 48086 8088CPU的存储器管理 8086 8088CPU有20位地址信号线 可直接寻址1MB的内存空间 但8086 8008CPU内部的所有通用寄存器都是16位的 16位的寄存器只能寻址64KB的内存空间 所以为了寻址1MB的内存空间 8086 8088CPU采用了存储器分段管理技术 1 4 1存储器的分段管理 逻辑地址 一个存储单元的段地址和偏移地址称为该存储单元的逻辑地址 逻辑地址又称为有效地址EA EffectiveAddress 逻辑地址的形式为 段地址 偏移地址 物理地址 8086 8088CPU对存储器中某一个存储单元的访问 需要根据逻辑地址计算出该存储单元的20位地址 这个20位地址称为该存储单元的物理地址 物理地址记做PA 物理地址 段寄存器的值 16 偏移地址 1 4 2CPU对存储器的寻址 1 取指令 指令存放在代码区 取指令时使用的段地址只能由CS提供 偏移地址由IP提供 IP指示CPU要执行的下一条指令的偏移地址 2 堆栈操作 堆栈是按先进后出的的原则在内存中组织的一个存储区域 该区域一端固定 称为堆栈的栈底 另一端活动 称为堆栈的栈顶 堆栈指针SP始终指向栈顶 初始时栈顶和栈底是一个位置 而堆栈段寄存器SS则指明了堆栈段的起始位置 堆栈操作指令 PUSH和POP 入栈指令PUSH格式 PUSHsrc src表示源操作数功能 将通用寄存器 段寄存器和字存储单元的内容压入堆栈 出栈指令P

温馨提示

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

评论

0/150

提交评论