第2章80X86微处理器.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章80X86微处理器精要

【例2.2】 ① 当CS=5A00H,偏移地址=2245H时,求物理地址; ?????? ② 当CS=4C82H,偏移地址=FA25H时,求物理地址。 根据物理地址的计算公式,可得: 题①的物理地址=CS×16+偏移地址=5A00H×16+2245H=5C245H 题②的物理地址=CS×16+偏移地址=4C82H×16+FA25H=5C245H  从例2.2可以看出:在题①和②中给定的段基址和偏移地址各不相同,而计算所得的物理地址却是一样的,均为5C245H。这说明,对于存储器的任意存储单元来说,物理地址是惟一的,而逻辑地址却有无数组。不同的段基址和相应的偏移地址可以形成同一个物理地址。 (3)按信息特征分段存储与分段寻址   8086在存储器中存储的信息包括程序指令、数据及计算机运行的状态等。为了便于寻址和操作,这些信息在存储器中分段存储,因而将存储器划分为程序区、数据区和堆栈区,并通过段寄存器CS, DS, ES和SS进行寻址。 ① 对程序区的访问   专门用于存放程序指令代码的存储区域称为程序区。访问程序区时,段基址由代码段寄存器CS指定,IP的内容表示段内的偏移地址。当前所取指令的物理地址为:   物理地址=CS×16+IP   若要访问不同的程序区时,只需修改代码段寄存器CS的内容即可。 ② 对数据区的访问   用来存放数据信息的区域称为数据区。这些数据信息包括CPU要处理的原始数据、运算的中间结果和最后结果。访问数据区时,DS的内容用来表示数据段的段基址,而偏移地址由指令的寻址方式所求得的有效地址EA(effective address)来确定。其物理地址为:   物理地址=DS×16+EA ③ 对堆栈区的访问   堆栈是特殊的存储区域,用来存放由PUSH指令压入的需要进行保护的数据和状态信息。访问堆栈区时,用堆栈段寄存器SS指示堆栈段的段基址,SP的内容表示栈顶的偏移地址。BP的内容表示栈底的偏移地址。堆栈操作时存储单元的物理地址为:   物理地址=SS×16+SP ④ 字符串操作   在存储器中,字符串操作指的是对两个数据块进行传送或比较,这就需要指定传送的源数据区和目标数据区。通常用DS作为源数据区的段寄存器保存段基址,源变址寄存器SI的内容表示偏移地址,用ES作为目标数据区的段寄存器保存段基址,目标变址寄存器DI表示偏移地址。地址的计算公式为: 源数据区物理地址=DS×16+SI 目标数据区物理地址=ES×16+DI 8086的输入/输出结构   在8086微机系统中,配置了一定数量的输入/输出设备,而这些设备必须通过输入/输出,即I/O接口芯片与CPU相连接。每个I/O接口芯片都有一个或几个I/O端口,像存储器一样,每个I/O端口都有一个唯一的端口地址,以供CPU访问。   由于8086用地址总线的低16位A15~A0来寻址端口地址,所以8086 CPU可以访问的I/O端口地址共有64KB,其地址为0000H~FFFFH。这些端口均为8位端口(即通过该端口一次输入/输出一个字节信息)。对端口的寻址有直接寻址方式和间接寻址方式两种。直接寻址适用于地址在00H~FFH范围内的端口寻址。间接寻址适用于地址在0100H~FFFFH范围内的端口寻址(所有端口均可采用间接寻址方式)。 2.2.3 存储器单元的地址和内容 存储器用来存放数据和程序。在计算机内部,数据和程序都用二进制代码的形式表示,一个存储器可划分为很多存储单元,存储单元中的内容可能为数据或指令。为了能识别不同的单元,我们分别赋于每个单元一个编号,这个编号称之为地址。显然,各存储单元的地址与该地址存放的内容是两个完全不同的概念,切不可混淆。 非规则存放: 对存放的字,其低位字节从奇数地址开始存放,其存放的字称为字不对准存放。 规则存放: 对存放的字,其低位字节从偶数地址开始存放,其存放的字称为字不对准存放。 非规则存放和规则存放 返回本节 * IA-32位常用寄存器 8个32位通用寄存器 6个16位段寄存器 1个32位标志寄存器 1个32位指令指针 * 处理器最常使用的整数通用寄存器 可用于保存整数数据、地址等 8个32位通用寄存器 EAX,EBX,ECX,EDX ESI,EDI,EBP,ESP 8个16位通用寄存器 AX,BX,CX,DX SI,DI,BP,SP 8个8位通用寄存器 AH,BH,CH,DH AL,BL,CL,DL 31 8 7 16 15 AH AL 0 AX EAX 既是一个整体 又可独立使用 Windows?X64的寄存器 32位汇编语言程序设计 * 第1章 汇编语言基础 * 32位汇编语言程序设计 * 第1章 汇编语言基础 * 32位汇编语言程序设计 * 第1章

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档