收藏 分享(赏)

第二章+寄存器(CPU工作原理)(下).ppt

上传人:hwpkd79526 文档编号:10070302 上传时间:2019-10-05 格式:PPT 页数:35 大小:200KB
下载 相关 举报
第二章+寄存器(CPU工作原理)(下).ppt_第1页
第1页 / 共35页
第二章+寄存器(CPU工作原理)(下).ppt_第2页
第2页 / 共35页
第二章+寄存器(CPU工作原理)(下).ppt_第3页
第3页 / 共35页
第二章+寄存器(CPU工作原理)(下).ppt_第4页
第4页 / 共35页
第二章+寄存器(CPU工作原理)(下).ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、第二章 寄存器 (CPU工作原理),要点:,CPU的组成 寄存器 字在寄存器中的存储 简单的汇编指令 物理地址和8086形成物理地址的机制 段的概念和段寄存器 Debug调试工具,内存单元的物理地址,每一个内存单元在内存空间中都有惟一的地址,这个惟一的地址称为该存储单元的物理地址。 CPU通过地址总线送入存储器的必须是一个内存单元的物理地址。 考虑:CPU如何产生20位的物理地址呢?,16位结构的CPU,8位机:8080,8085 16位机:8086 32位机:80386,80486 N位结构的含义: 运算器一次最多可以处理N位数据; 寄存器的最大宽度为N位 寄存器和运算器之间的通路是N位,8

2、086CPU形成物理地址的方法,8086CPU的地址总线有20位,但8086CPU内部全为16位结构,如何来形成20位的物理地址呢? IBM PC机采用了存储器地址分段的办法,存储器逻辑上的分段情况,段(segment),从0地址开始,每16字节为一小段(paragraph) 小段的首地址的16进制形式最低位为0 段(segment)必须从任一小段的首地址开始,且每段大小可达64K,段地址&偏移地址,取段的首地址的高16位作为段地址 段内相对于段起始地址的偏移值称为偏移地址 CPU内部采用“段地址16偏移地址”来形成物理地址 段地址用16位表示 因段最大可达64K,故偏移地址也用16位表示 注

3、意:段大小是任意的,8086CPU形成物理地址的方法,20位物理地址16位段地址*16+16位偏移地址,8086CPU 逻辑结构图,形成物理地址的本质含义,CPU在访问内存时,用一个基础地址和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。 基础地址的选择是任意的。 例如:物理地址21F60H,我们可以选取不同的段地址和偏移地址来形成 给定一个段地址,通过变化偏移地址来进行寻址,最多可以定位多少内存单元呢?,段寄存器,提供段地址的寄存器称为段寄存器。 8086CPU有4个段寄存器:CS、DS、SS、ES CS:代码段寄存器 DS:数据段寄存器 SS:堆栈段寄存器 ES:附加段寄存器,

4、CS寄存器,IP:指令指针寄存器 CS和IP就指示了CPU当前要读取指令的地址 设8086机中CS中内容为M,IP中内容为N,则8086CPU将从内存M*16+N单元开始,读取一条指令来执行 我们又可以表示成CS:IP,8086CPU的工作过程,初始状态,8086CPU的工作过程(续),CS,IP的内容送入地址加法器,8086CPU的工作过程(续),物理地址送入输入输出控制电路,8086CPU的工作过程(续),物理地址送入地址总线,8086CPU的工作过程(续),机器指令被送入CPU,8086CPU的工作过程(续),机器指令被送入指令缓冲器,8086CPU的工作过程(续),读取指令后IP中的值

5、自动增加,8086CPU的工作过程(续),执行指令,8086CPU的工作过程(续),指令执行结果,8086CPU的工作过程(续),8086CPU的工作过程可以简要描述如下: 从CS:IP指向的内存单元处读取指令,读取的指令进入指令缓冲器; IPIP所读取指令的长度,从而指向下一条指令; 执行指令,转到步骤1,重复这个过程。,修改CS、IP的指令,mov cs,123 注意:mov指令不能用于设置CS、IP的值 能够改变CS、IP的内容的指令被统称为转移指令 一个转移指令:jmp指令,?,jmp指令,jmp 段地址:偏移地址 指令含义:用指令中给出的段地址修改CS,偏移地址修改IP jmp 2A

6、E3:3,执行后:CS=2AE3,IP=0003 jmp 3:0B16,执行后:CS=0003,IP=0B16 jmp 寄存器 指令含义:用指令中的寄存器中的值修改IP 注意:CS的值不变 其中的寄存器只能是通用寄存器,问题2.3,内存中存放的机器码和对应的汇编指令如下所示,设CPU初始状态:CS=2000H,IP=0000H,请写出指令的执行序列。,结果分析,指令执行序列 mov ax,6622 jmp 1000:3 mov ax,0000 mov bx,ax jmp bx mov ax,0123H 转到第3步执行,代码段,存放当前正在运行的程序代码的段(segment) 例如:其段地址为2

7、000H,长度为10字节,一条简单的算术指令sub,格式:sub 目的操作数,源操作数 操作:目的操作数=目的操作数-源操作数 例:sub ax,8sub ax,bx,本章小结,了解CPU的组成; 掌握各种寄存器,尤其是通用寄存器; 理解字在寄存器中的存储; 掌握几条简单的汇编指令; 掌握8086CPU的物理地址的形成; 了解段寄存器,掌握CS和IP的合用; 掌握jmp指令; 熟悉Debug调试工具;,作业,检测点2.2,2.3,Debug命令,D命令Display,使用D命令查看内存中的内容 格式1:d 段地址:偏移地址 功能:列出从指定内存单元开始的128个内存单元的内容 格式2:d 段地址:起始偏址 结尾偏址 使用多种不同的段地址和偏移地址来查看同一个物理地址的内容,E命令Enter,改写内存中的内容 格式:e 起始地址 数据 数据 数据 或者可以用E命令提问的方式来逐个修改从某地址开始的内存单元的内容 E命令可以向内存中写入机器码,U命令,将机器码反汇编成汇编指令 格式:u 段地址:偏移地址,Debug命令小结,A命令:以汇编指令形式在内存中写入机器指令 D命令:以16进制形式显示一块内存区域的内容 E命令:对指定的内存单元的内容进行改写 R命令:以16进制显示寄存器的内容 T命令:执行一条指令 U命令:反汇编机器码到汇编指令 Q命令:退出Debug,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报