zoukankan      html  css  js  c++  java
  • [汇编语言]-第二章寄存器(CPU工作原理)

    1- 对于汇编程序员来说,CPU中主要的部件是寄存器,这些寄存器是:AX BX CX DX SI DI SP BP IP CS SS DS ES PSW.

    2- 8086CPU所有寄存器都是16位的,可以存放2个字节.

    3- AX BX CX DX 通常存放一般性的数据, 被称为通用寄存器.

    4- 8086CPU寄存器的AX BX CX DX 可以分为两个独立的8位寄存器.如 AX 分为 AH AL 低8位(0-7) 高8位(8-15)

    5- 字节: byte, 一个字节由8个bit组成,可以用8位寄存器

      字:world 一个字由2个字节组成,占16bit 高位字节和低位字节

    6- AX 存放 4E20 AH:4E AL:20

    7- 区分不同的进制 十六进制加H 4E20H 二进制加B 00010B 

    8- 16位结构的CPU

      运算器一次最多可以处理16位的数据

      寄存器的最大宽度为16位

      寄存器和运算器之间的通路为16位

    9- 16位CPU要读写内存时:

      CPU中的相关部件提供两个16位的地址, 一个称为段地址, 另一个称为偏移地址

      段地址和偏移地址通过内部总线送入一个称为地址加法器的部件

      地址加法器将两个16位的地址合成为一个20位的物理地址

      地址加法器通过内部总线将20位物理地址送入输入输出控制电路

      输入输出控制电路将20位物理地址送上地址总线

      20位物理地址被地址总线传送到存储器

    10- 地址加法器采用 物理地址 = 段地址 *16 + 偏移地址

    11- 16进制的数像左移1位等于*16

    12- 给定一个段地址, 仅通过变化偏移地址来寻址, 最多可以定位多少内存单元?

      偏移地址为16位, 变化范围:0 - FFFFH, 仅通过变化偏移地址来寻址,最多可寻64KB内存单元.  

      如给定段地址1000H,用偏移地址范围为: 10000H-1FFFFH

    13- 8086PC存储单元的地址用2个元素描述,即段地址和偏移地址

      "数据在内存单元21F60H内存单元中",一般描述为(1)数据在内存2000:1F60单元中.(2)数据存在内存的2000段中得1F60单元中

    14- 段地址在8086CPU的段内存中存放, 有4个段寄存器CS DS SS ES 

    15- CS(代码段寄存器)和IP(指令指针寄存器)是8086CPU中两个关键的寄存器,它指示了CPU当前要读取指令的地址. 8086CPU将从内存cs*16 + ip 单元开始,读取一条指令并执行.

    16- jmp 2AE3:3 CS= 2AE3H IP= 0003H 将CPU从2AE33处读取指令

    17- 8086CPU,任何时刻,CPU将CS:IP指向的内容当做指令执行

    18- 8086CPU的工作过程:

      从CS:IP指向的内存单元读取内容,读取的指令进入指令缓冲器

      IP指向下一条指令

      执行指令(转到1重复这个过程)

    测试点:

    1- 给定段地址为0001H,仅通过变化偏移地址来寻址,CPU的寻址范围为00010H- 1000FH

      0001H*16 = 00010H 

      寻址范围 0 - FFFFH

      范围 00010H + 0 到 00010H + FFFFH

    2- 有数据放在20000H单元中,给定段地址为SA, 若想用偏移地址寻到此单元, 则SA应满足的条件是: 最小为 1001H,最大为 2000H.

      20000 - FFFF = 10001 >> 1000.1 

      所以考察段地址1000 上下两个地址 FFF 和 1001

      段地址为 FFF : 最小地址: FFF * 16 + 0 = FFF0  最大地址 FFF * 16 + FFFF = 1FFEFH  所以20000H不在此范围

      段地址为1001: 最小地址: 1001 * 16 + 0 = 10010 最大地址 1001 * 16 + FFFF = 2000FH 所以20000H在此范围

      所以最小的段地址为 1001H 最大为 2000 (2000 * 16 + 0 = 20000H)

       

  • 相关阅读:
    cad.net修改视口比例
    cad.net添加和删除图层过滤器
    cad.net创建新图层
    cad.net创建浮动视口
    根据handle转换成ObjectId
    C#类型转换
    过滤选择集
    文字随线移动
    文字打断
    注册表应用示例
  • 原文地址:https://www.cnblogs.com/galoishelley/p/3520208.html
Copyright © 2011-2022 走看看