- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编第一章第二章研讨
实模式寻址约定规则 程序执行时,其当前段的段基址放在相应的段寄存器中,偏移量视访问内存的操作类型决定,其规律如下页表所示。 * * 操作类型 约定段 寄存器 允许指定的段寄存器 偏移量 1. 指令 CS 无 IP 2. 堆栈操作 SS 无 SP 3. 普通变量 DS ES、SS、CS EA 4. 字符串指令 的源串地址 DS ES、SS、CS SI 5. 字符串指令 的目标串地址 ES 无 DI 6.BP用作基址 寄存器 SS DS、ES、CS EA 保护模式寻址 在保护模式下,其内存管理既可以使用分段机制访问多达4 GB(386/486)或64 GB(Pentium)的内存空间,也可以使用分页机制访问多达16 TB的虚拟存储器。总之,保护模式打破了实模式只允许访问装在内存第一个1 MB之内的程序和数据的限制。 * 段寄存器中存放一个段选择符(不是实模式下段基址的高16位值),通过段选择符从段描述符中得到32位的段基址,再与偏移量相加,得到32位的线性地址。 若允许分页功能,则CPU的分页部件将线性地址转换为物理地址,否则线性地址直接作为物理地址使用。 物理地址的形成过程比实模式复杂,但是自动形成,编程者不必关心。 * 虚拟地址到线性地址的转换 * 虚拟地址到物理地址的转换 * 保护模式存储器管理 段描述符 段选择符 分页机制 * 2.6 外部设备 外部设备包括输入设备、输出设备、外存储器。 I /O地址空间:外设与主机的信息交换是通过外设接口进行的,每个接口中都有一组寄存器,用来存放要交换的数据、状态和命令信息。为了能区分这些寄存器并且便于主机访问,系统给每个接口中的寄存器赋予一个端口地址(或称端口号),由这些端口地址组成了I/O地址空间。 * 外部设备 IBM PC系列机所提供的I/O地址总线宽度总是16位的,所以允许最大的I/O寻址空间为64K。在IBM PC系列机中,由于I/O地址空间是独立编址的,因此系统需要提供独立的访问外设指令。 * 作业 习题2 2.3 2.4 2.5 2.6 2.16 2.3 12F8:0100 1A2F:0103 1A3F:0003 1A3F:A1FF 2.5 12FA:0000 03 06 11 A3 13 01 12FA:0002的字节型、字型、双字 * 张华平 Email: kevinzhang@ 微博:@ICTCLAS张华平博士 微信:drkevinzhang 微信公众号:大数据千人会 欢迎大家访问大数据搜索与挖掘实验室官网: 谢谢大家! 通用寄存器---变址寄存器 变址寄存器SI、DI、ESI、EDI: 功能:存放地址的偏移量部分或数据。若存放偏移量时,缺省情况与DS配合。 说明:实模式使用SI、DI; 保护模式使用ESI、EDI。 * 通用寄存器说明 注意: 除SP、ESP堆栈指针不能随意修改、需要慎用外,其它通用寄存器都可以直接在指令中使用,用以存放操作数,这是它们的通用之处,其它专用用途在具体指令中介绍。 * 2.段寄存器 简介:IBM PC机的存储器采用分段管理方法组织,因此一个物理地址用段基址和偏移量表示。一个程序可以由多个段组成。 段寄存器功能:段寄存器存放段基址。在实模式下存放段基地址,在保护模式下存放段选择子。 * 段寄存器[1] 代码段寄存器CS:指定当前代码段,代码段中存放当前正在运行的程序段。 堆栈段寄存器SS:指定当前堆栈段。 说明:堆栈段是在内存开辟的一块特殊区域,其中的数据访问原则是后进先出(LIFO),允许插入和删除的一端叫做栈顶。IBM PC机中SP(或ESP)指向栈顶,SS指向堆栈段基地址。 * 段寄存器[2] 数据段寄存器DS:指定当前运行程序所使用的数据段。 附加数据段寄存器ES:指定当前运行程序所使用的附加数据段。 段寄存器FS和GS:指定当前运行程序的另外两个存放数据的存储段(只对80386以上机器有效)。 * 段寄存器说明 说明: 虽然DS、ES、FS、GS(甚至于CS、SS)所指定的段中都可以存放数据,但DS是主要的数据段寄存器,在默认情况下使用DS所指向段的数据。若要引用其它段中的数据,通常需要显式说明。 * 3.控制寄存器 控制寄存器包括指令指针寄存器和标志寄存器。 注意:在程序中不能直接引用控制寄存器名。 * 控制寄存器---指令指针寄存器 指令指针寄存器IP、EIP 功能:总是与CS段寄存器配合指出下一条要执行指令的地址,其中存放偏移量部分。实模式使用IP,保护模式使用E
文档评论(0)