




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编言语程序设计第2章 IBM PC 计算机组织Assembly Language Programming第2章 IBM PC 计算机组织2.1 80X86微处置器概述2.2 基于微处置器的计算机系统组成 2.3 微处置器 2.3.1 微处置器的构造 2.3.2 80X86存放器组2.4 存储器 2.4.1 存储单元的地址和内容 2.4.2 实方式存储器寻址 2.4.3 维护方式存储器寻址32.180X86微处置器 将运算器和控制器集成在一个芯片上就构成了微处置器 (CPU), 控制整个计算机的运作并进展运算。8086/808880286 80386 80486 Pentium字长161632
2、3232数据总线DB16/816323264地址总线AB2024323232最大寻址1MB16MB4GB4GB4GB时钟范围(MHz) 4.77 616 16403312066166执行速度(MIPS) 0.05 0.40.834207511228080X86微处置器主要特征:2.2 基于微处置器的计算机系统构成计算机系统包括硬件和软件两大部分硬件:指计算机的物理实体(如CPU,显卡等), 它分为微处置器, 存储器, 接口电路, 外部设备 和 系统总线 等。中央处置机 CPU总线控制逻辑接 口接 口存储器大容量存储器I/O子系统系统总线I/O设备45软件:指运用和发扬计算机效能的各种程序的总称
3、,通常我们将它分为两大类: 系统软件:系统软件主要用来对计算机系统实践运转进展控制,管理和效力的。运用软件:指的是用户本人编的各类运用程序 .系统软件软件数据库管理系统工具软件 言语处置程序 操作系统运用软件软件包用户程序2.3 中央微处置器2.3.1中央微处置器的组成及其编程构造义务: 执行存放在存储器里的指令序列。组成:算术逻辑部件 进展算术和逻辑运算。控制逻辑 担任对全机的控制任务。任务存放器存放计算过程中的各种信息。编程构造: CPU对汇编言语程序员来说,编程构造主 要由一组可见存放器组成。6操作数地址、操作数、运算的中间结果782.3.2 8086的存放器组两大类:程序不可见存放器和
4、程序可见存放器。程序不可见存放器 普通运用程序中不运用而由系统 运用的存放器。程序可见存放器 可以由指令运用的存放器。包括三类:通用存放器8个 公用存放器2个 段存放器4个80X86程序可见存放器组EAXALAH 累加器EBXBLBH 基址变址ECXCLCH 计数器EDXDLDH 数据ESPSP 堆栈指针EBPBP 基址指针ESISI 源变址EDIDI 目的变址EIPIP指令指针EFLAGSFLAGS标志CS 代码段DS 数据段ES 附加段SS 堆栈段FSGSAXBXCXDX101.通用存放器 (1) 数据存放器 AX (accumulator): 累加器,在乘除、I/O指令中运用 BX (b
5、ase): 通用,基地址存放器 CX (count): 通用,计数器 DX (data): 通用,双字运算及I/O操作中运用。8个字节存放器: AH、AL、BH、BL、CH、CL、DH、DL (2) 指针或变址存放器 SP (stack pointer) : 堆栈指针存放器,用来指示栈顶的偏移地址 BP (base pointer): 基址存放器,与SS联用 SI (source index): 源变址存放器 DI (destination index): 目的变址存放器。 (3) 32位通用存放器 EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI,在80386及其后继机型中,一
6、切32位通用存放器既可以存放数据,也可以存放地址,每个存放器的公用特性与8086/8088和80286的一一对应2.公用存放器 (1) IP (instruction pointer)/EIP: 指令指针存放器 存放代码段中的偏移地址,在程序的运转中一直指向下一条指令的首 地址,与CS一同确定一条指令的物理地址。 (2) FLAGS(Program Status Word)/EFLAG:标志存放器 存放反映处置器和运转程序执行结果形状的。11123.段存放器 公用于存放段地址(1) CS (Code Segment): 代码段存放器(2) DS (Data Segment): 数据段存放器(3
7、) SS (Stack Segment): 堆栈段存放器(4) ES (Extra Segment): 附加段存放器(5) FS附加段存放器: 附加段存放器(6) GS附加段存放器: 附加段存放器 (5)和(6)无缺省组合,必需加段前缀阐明138086/8088 标志存放器 ( FLAGS / PSW 条件码标志: 控制标志:ZF 零标志 DF 方向标志 SF 符号标志 IF 中断标志CF 进位标志TF 圈套标志OF 溢出标志AF 辅助进位标志PF 奇偶标志 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFPFAF ZFSFTFIFDFOF其它FLAGS标志: (
8、自学)IOPLI/O Privilege LevelI/O特权级NTNested Task嵌套义务标志 ; 286添加RFResume Flag重新启动标志VMVirtual 8086 Mode虚拟8086方式位 ; 386添加ACAlignment Check Mode对准检查方式位 ; 486添加VIFVirtual Interrupt Flag虚拟中断标志VIPVirtual Interrupt Pending Flag虚拟中断未决标志IDIdentification Flag 标识标志 ; Pentium添加15零标志ZFZero Flag假设运算结果为0,那么ZF = 1,否那么ZF
9、 = 0。例如:3AH + 7CHB6H, 结果非零:ZF = 084H + 7CH100H,结果是零:ZF = 1留意:ZF为1表示的结果是016符号标志SFSign Flag运算结果最高位为1,那么SF = 1;否那么SF = 0。例如: 3AH + 7CHB6H, 最高位D71:SF = 1 84H + 7CH100H,最高位D70:SF = 0 有符号数据利用最高有效位表示数据的符号。所以,最高有效位就是符号标志的形状。17进位标志CFCarry Flag当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否那么CF = 0。例如: 3AH + 7CHB
10、6H, 即 58124182 无进位:CF = 0 AAH + 7CH(1)26H,即 170124294 有进位:CF = 118溢出标志OFOverflow Flag假设算术运算的结果有溢出,那么OF=1;否那么 OF0。溢出:有符号数运算结果超出了补码表示范围。处置器内部以补码表示有符号数8位字长 整数范围:-128 + 12716位字长 整数范围:-32768 +32767例如: 3AH + 7CHB6H,即 58124182 有溢出:OF = 1 AAH + 7CH(1)26H,即-8612428 无溢出:OF = 0什么是溢出?19溢出和进位进位标志CF 表示无符号数运算结果能否超
11、出范围, 运算结果依然正确配合进位。溢出标志OF 表示有符号数运算结果能否超出范围, 运算结果曾经不正确。处置器 按照无符号数求得结果,并设置进位标志CF;同时,根据能否超出有符号数的范围设置溢出标志OF。程序员 决议应该利用哪个标志。 以为是无符号数运算,关怀进位标志; 以为是有符号数运算,留意溢出标志。20例: MOV AX, FFFFH MOV BX, 1 ADD AX, BX 指令执行后,(AX)=0, OF=0, CF=1, ZF=1, SF=0例: MOV AX, 1 MOV BX, 2 ADD AX, BX 指令执行后,(AX)=3, OF=0, CF=0, ZF=0, SF=0
12、212.3.3 80 x86 CPU的任务方式 80 x86 CPU的3种任务方式 1. 实方式 与8086兼容的任务方式,只需低20位地址线起 作用,仅能寻址第一个1MB的内存空间。 如:MSDOS运转在实方式下。2. 维护方式32位80 x86 CPU的主要任务方式,提供对程序 和数据进展平安检查的维护机制。 如:Windows 9x/NT/2000运转在维护方式下。3. 虚拟8086方式 在Windows 9x下,假设翻开一个MS DOS 窗口,运转一个DOS运用程序,那么该程序就 运转在虚拟8086方式下。222.4 存储器 2.4.1 存储单元的地址和内容1. 存储信息的根本单位 b
13、it 计算机中信息表示的最小单位, byte(8位数据存取的最小单位 2. 地址:每一字节单元的编号,地址空间的范围与地址 线数目有关。 16位地址: 0000H FFFFH; 20位地址:00000H FFFFFH;3. 内容:存储单元中存放的信息,如(0004)=78H4. 汇编中的数据类型 byte(8位) word(16位) Dword(32位) Fword(48位) 存储器构造.存储器0000H0001H0002H0003H0004H0005H0006HFFFEHFFFFH低字节高字节字单元字节单元低地址字节单元高地址字节单元563412242.4.1 存储单元的地址和内容 5. 存
14、储方式:“低对低、高对高的小端方式。6. 数据的地址对齐 同一个存储器地址可以是字节单元地址、字单元地址、双字单元地址等。 字单元安排在偶地址xxx0B、双字单元安排在模4地址xx00B等被称为“地址对齐Align。 对于不对齐地址的数据,处置器访问时,需求额外的访问存储器时间。1)多字节数据需占延续的多个存储单元,低字节存入低地址,高字节存入高地址 。 2)多字节数据占据的地址空间用它的低地址表示。25 7 6 5 4 3 2 1 01 0 0 1 1 1 1 1 0000H0 0 1 0 0 1 1 0 0001H0 0 0 1 1 1 1 0 0002H1 1 0 1 0 1 1 1 0
15、003H存储器 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0字 高位字节 低位字节1 0 0 1 1 1 1 10 0 1 0 0 1 1 0(0000H)=269FH(0002H)=D71EH(0001H)=1E26H 访问两次存储器(0000H)=9FH(0001H)=26H(0002H)=1EH(0003H)=D7H262.4.2 实方式存储器寻址 8086/8088只能在实方式下。1.存储器地址的分段 问题:16位构造cpu如何处理20位地址的问题?处理:将存储器分段(逻辑上),每段最大不超越64KB, 段内单元地址可用16位表示,称为偏移地址, 每段的起
16、始地址称为段地址或段基址。 规定:1段地址必需取为小段首址。 2) 从0地址单元开场, 每16个单元为一小段。小段首地址为:00000H,00010H,00020H,FFFF0H。在一个1M的存储器里,共有64K个小段。16位构造CPU的特征:1) 16位字长;2) 16位存放器(最大宽度);3) 16位数据线。导致 :cpu只能传送16位的地址 ,寻址才干只需64K8086的内存空间:1) 内存是一维的线性空间。2) 每一个内存单元在这个空 间中都有独一的物理地址; 3) 有20位地址总线,可传送20 位地址,寻址才干为1M。272.4.2 实方式存储器寻址 8086/8088只能在实方式下
17、。2.物理地址的计算方法逻辑地址 由段地址和偏移地址组成。物理地址=16D 段地址+偏移地址 16位段地址015 16位偏移地址015+0 20位物理地址190000显然,一个物理地址可以有多个逻辑地址地址加法器的任务过程8086CPU给出物理地址的方法存储器分段管理的地址概念图示:段内偏移量偏移地址=段起始地址64K段内地址0000H0001H0FFFH.FFFFH64K段内地址0000H0001HFFFFH30000H段内偏移量偏移地址=段起始地址40000H30000H + 0FFFH =30FFFH 物理地址.存储器0FFFH29思索:1) 1MB空间最多能分成多少个段?2) 1MB空
18、间最少能分成多少个段?3) 小段有什么特征?每隔16个存储单元就可以开场一个段,所以1MB最多可以有:2201621664K 个段每隔64K个存储单元开场一个段,所以1MB最少可以有:22021616 个段303.段存放器 8086CPU有4个段存放器:CS、DS、SS、ES,用来存放段地址。普通情况下,各段在存储器中的分配是由操作系统担任的。也可以在编程时指定各段可以独立每个段都占用64K存储区, 也可以重叠每个段按实践大小分配存储区, 不一定占有64K的最大段空间。memory31 4.段存放器的运用规定访问存储器的方式 默许的段存放器 可超越的段存放器 偏移地址取指令 CS 无 IP堆栈操作 SS 无 SP普通数据访问 DS CS、ES、SS 有效地址EA以下除外串操作的源操作数 DS CS、ES、SS SI串操作的目的操作数 ES 无 DIBP基址的寻址方式 SS CS、DS、ES 有效地址EA322.4.3 维护方式存储器寻址 80286起,就引出了维护方式.1目的 扩展寻址空间(超出1M), 段长可从64K扩展到 4GB 或更多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电商平台数据分析在供应链优化中的应用报告
- 烹饪营养与卫生(第3版)-课件 15.项目四任务二.食物中毒及其预防 (一)
- 校长在全校教职工工作会议上的讲话:守好饭碗、护好学生、建好学校
- 幽默安全培训开场白课件
- XXXX社区党支部学习教育总结报告范文
- 2025年求职招聘应用与数字广告洞察分析报告
- 岩石与矿产的课件
- 输煤检修培训课件
- 本章总结提升
- 输液室讲的课件
- 应用技术推广中心 报告1212
- 理财规划大赛优秀作品范例(一)
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 教学第七章-无机材料的介电性能课件
- 应急值班值守管理制度
- 外国文学史-总课件
- 《中小企业划型标准规定》补充说明
- 房屋租赁信息登记表
- 六年级上册数学课件-1.6 长方体和正方体的体积计算丨苏教版 (共15张PPT)
- 小学生汉字听写大赛题库
评论
0/150
提交评论