zoukankan      html  css  js  c++  java
  • 2.寄存器

    1. 一个典型的CPU使用运算器、控制器、寄存器等组成的。
    2. 8086CPU有14个寄存器,AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW,其中有8个是通用寄存器。
    3. 8086CPU所有寄存器都是16位的,可以存放两个字节。
    4. AX、BX、CX、DX通常用来存放一般性数据被成为通用寄存器。
    5. 8086CPU为了兼容上一代的8位CPU,AX、BX、CX、DX这四个可以分为两个独立的8位寄存器。比如AH(高位)和AL(低位)。
    6. 1字=2字节=16位(1Word=2Byte=16bit)。
    7. CPU访问内存时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在一个空间中都有唯一的地址,我们称为物理地址
    8. 8086是16为结构的CPU,就是说,在8086内部,能过一次性处理、传输、暂时存储的信息的最大长度是16位。
    9. 8086CPU有20位的数据总线,有1MB寻址能力(2的20次方),8086CPU是16位结构,只能送出16位的地址,也就是64K的寻址能力,那怎么内部和外部怎么协同工作呢?
    10. 8086CPU采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址
    11. 地址加法器采用物理地址=段地址x16+偏移地址的方法用段地址和偏移地址合成物理地址。比如段地址1230H,偏移地址00C8,经过地址加法器时,将1230HX16(如同1230X10)变成的12300H(向左偏移了一位,相对二进制,向左偏移了4位),然后12300H+00C8=1230C8。
    12. “物理地址=段地址x16+偏移地址”的本质含义:CPU访问内存时,用一个基础地址(段地址X16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。
    13. 段寄存器就是提供段地址的。8086CPU有4个段寄存器:CS(代码),DS(数据),SS(堆栈),ES(不够的时候放这里)。
    14. CS和IP是8086CPU中两个最关键的寄存器,它们只是了CPU当前要读取指令的物理地址。CS为代码段寄存器,IP为指令指针寄存器(偏移地址)。
    15. 在8086CPU中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。也可以这样表达:8086机中,任意时刻,CPU将CS:IP指向的内容当作指令来执行
    16. 8086CPU加电启动或复位后CS和IP被设置为CS=FFFFH,IP=0000H,即8086CPU刚开始工作时,CPU从内存FFFF0H单元中读取指令并执行。
    17. CPU将CS:IP指向的内存单元中的内容看作指令,如果说,内存中的一段形象曾被CPU执行过,那么他一定被CS:IP指向过。
    18. 程序员可以通过改变寄存器中的内容实现对CPU的控制。
    19. 8086CPU大部分寄存器的值,都可以用mov指令来改变,mov指令被称作传送指令。
    20. mov指令不能用于设置CS、IP的值,我们可以用最简单的jmp指令,若想同时修改CS、IP的内容,可用“jmp 段地址:偏移地址”指令完成,如jmp 2AE3:3,执行后:CS=2AE3H,IP=0003H,CPU将从2AE33H读取指令。
    21. “jmp 段地址:偏移地址”指令功能为:用指令中给出的段地址修改CS,偏移地址修改IP。
    22. 若只想修改IP内容,可用“jmp 某一合法寄存器”的指令完成,
      如:jmp ax,指令执行前:ax=1000H,CS=2000H,IP=0003H,
      指令执行后:ax=1000H,CS=2000H,IP=1000H,
      jmp ax
    23. CS存放指令的段地址,IP存放指令的偏移地址
  • 相关阅读:
    ILMerge将源DLL合并到目标EXE
    Nginx+redis的Asp.net
    JwtBearer认证
    Token认证登录以及权限控制
    ES索引
    Linux文本编辑器vim
    集群 安装 配置FastDFS
    When to use next() and return next() in Node.js
    spring-boot-starter-druid
    nodejs express
  • 原文地址:https://www.cnblogs.com/zxj159/p/2811379.html
Copyright © 2011-2022 走看看