制作一个网站的基本步骤园林景观设计公司管理制度及流程
news/
2025/9/26 21:55:52/
文章来源:
制作一个网站的基本步骤,园林景观设计公司管理制度及流程,线上运营培训,idc网站模板文章目录 寄存器(CPU工作原理)1. 通用寄存器2. 字在寄存器中的存储3. 几条汇编指令4. 物理地址5. 16位结构的CPU6. 8086CPU给出物理地址的方法7. 段的概念8. 段寄存器9 . CS和IP10. 修改CS、IP的指令11. 代码段 寄存器(CPU工作原理) 一个典型的CPU由运算器、控制器、寄存器等器… 文章目录 寄存器(CPU工作原理)1. 通用寄存器2. 字在寄存器中的存储3. 几条汇编指令4. 物理地址5. 16位结构的CPU6. 8086CPU给出物理地址的方法7. 段的概念8. 段寄存器9 . CS和IP10. 修改CS、IP的指令11. 代码段 寄存器(CPU工作原理) 一个典型的CPU由运算器、控制器、寄存器等器件组成这些器件靠内部总线相连。 1. 通用寄存器 8086CPU所有的寄存器都是16位的可以存放两个字节。 AX、BX、CX、DX 通常用来存放一般性数据被称为通用寄存器。 8086上一代CPU中的寄存器都是8位的
为保证兼容性这四个寄存器都可以分为两个独立的8位寄存器使用。
AX可以分为AH和ALBX可以分为BH和BLCX可以分为CH和CLDX可以分为DH和DL。 AX的低8位0位~7位构成了AL寄存器高8位8位~15位构成了AH寄存器。
AH和AL寄存器是可以独立使用的8位寄存器。 2. 字在寄存器中的存储 一个字可以存在一个16位寄存器中这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。 3. 几条汇编指令 注汇编指令不分大小写
4. 物理地址 CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。 我们将这个唯一的地址称为物理地址。 5. 16位结构的CPU
概括的讲16位结构描述了一个CPU具有以下几个方面特征
运算器一次最多可以处理16位的数据。寄存器的最大宽度为16位。寄存器和运算器之间的通路是16位的。
6. 8086CPU给出物理地址的方法
8086有20位地址总线可传送20位地址寻址能力为1M。
但8086内部为16位结构它只能传送16位的地址表现出的寻址能力却只有64K。
因此8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。 当8086CPU要读写内存时
1CPU中的相关部件提供两个16 位的地址一个称为段地址另一个称为偏移地址;
2段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
3地址加法器将两个16位地址合成为一个20位的物理地址
4地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
5输入输出控制电路将20位物理地址送上地址总线
620位物理地址被地址总线传送到存储器。
地址加法器采用物理地址段地址x16偏移地址的方法用段地址和偏移地址合成物理地址。例如8086CPU要访问地址为123C8H的内存单元此时地址加法器的工作过程如图所示图中数据皆为十六进制表示。 7. 段的概念 在编程时可以根据需要将若干地址连续的内存单元看作一个段用段地址×16定位段的起始地址基础地址用偏移地址定位段中的内存单元。 注意
1段地址×16 必然是 16的倍数所以一个段的起始地址也一定是16的倍数
2偏移地址为16位16 位地址的寻址能力为 64K所以一个段的长度最大为64K。
8. 段寄存器 段寄存器就是提供段地址的。8086CPU有4个段寄存器CS、DS、SS、ES 当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。 9 . CS和IP CS和IP是8086CPU中最关键的寄存器它们指示了CPU当前要读取指令的地址。 CS为代码段寄存器IP为指令指针寄存器。 在任何时候CPU将CS、IP中的内容当作指令的段地址和偏移地址用它们合成指令的物理地址到内存中读取指令码执行。 工作流程
1从CS:IP指向内存单元读取指令读取的指令进入指令缓冲器
2IP IP 所读取指令的长度从而指向下一条指令
3执行指令。 转到步骤 1重复这个过程。
在 8086CPU 加电启动或复位后 即 CPU刚开始工作时CS和IP被设置为CSFFFFHIP0000H。
即在8086PC机刚启动时CPU从内存FFFF0H单元中读取指令执行。
FFFF0H单元中的指令是8086PC机开机后执行的第一条指令。
10. 修改CS、IP的指令 在CPU中程序员能够用指令读写的部件只有寄存器程序员可以通过改变寄存器中的内容实现对CPU的控制。 CPU从何处执行指令是由CS、IP中的内容决定的程序员可以通过改变CS、IP中的内容来控制CPU执行目标指令。 同时修改CS、IP的内容
jmp 段地址偏移地址
jmp 2AE3:3
jmp 3:0B16
功能用指令中给出的段地址修改CS偏移地址修改IP。
仅修改IP的内容
jmp 某一合法寄存器
jmp ax 类似于 mov IP,ax
jmp bx
功能用寄存器中的值修改IP。
案例分析
内存中存放的机器码和对应汇编指令情况 初始CS2000HIP0000H 1mov ax,6622
2jmp 1000:3
3mov ax,0000
4mov bx,ax
5jmp bx
6mov ax,0123H
7转到第3步执行
11. 代码段 对于8086PC机在编程时可以根据需要将一组内存单元定义为一个段。 可以将长度为 N N≤64KB 的一组代码存在一组地址连续、起始地址为 16的倍数的内存单元中这段内存是用来存放代码的从而定义了一个代码段。 当我们要执行该代码段时只需将CS:IP指向所定义的代码段中的第一条指令的首地址。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918813.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!