汇编语言第二章(寄存器)

通用寄存器

        运算器进行信息处理;寄存器进行信息存储;控制器控制各种器件进行工作;内部总线连接内部各种器件,在它们之间进行信息传输。

        不同的CPU,寄存器的个数、结构是不相同的。8086CPU有14个寄存器,每个寄存器有一个名称。这些寄存器是:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、 DS、 ES、 PSW。8086 CPU 的所有寄存器都是16位,即两个字(一个字为两个字节),通用寄存器有AX、BX、CX、DX

        每一种通用寄存器都分为高位和地位,是为了兼容老式8位寄存器,AX的高位(AH), 低位(AL)。

几条汇编指令

mov ax, 18
mov ah, 78
add ax, 8
mov ax, bx
add ax, bx
mov ax, 4E20
add ax, 1406

mov 是赋值运算, add 是加法运算, 二者都是从后往前计算。

ah, al 是两个不相干的存储器,当 al 产生进位时,进位不会更新到 ah。、

物理地址

        我们知道,CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址。

16位结构的 CPU 的特点

运算器一次最多处理16位的数据、寄存器的最大宽度为16位、寄存器运算器之间的通路为16位。

8086CPU 物理地址的描述

        8086CPU 有20位地址总线, 可以传送20位地址,达到1MB寻址能力。所以8086CPU 采用一种在内部用两个6位地址合成的方法来形成一个20位地址。

地址加法器采用物理地址 = 段地址 * 16 + 偏移地址的方法来描述物理地址。

段地址 * 16 又称为起始地址。

段寄存器

        8086CPU 有四个段寄存器,CS,SS, ES 和 DS, 它们负责向CPU提供内存单元的段地址,同偏移地址一起汇入地址加法器,形成内存单元的物理地址。 

CS 和 IP

        CS 是段寄存器, IP 是指令指针寄存器, 负责提供偏移地址, 这两个寄存器是8086CPU中最关键的两个寄存器。在8086CPU中, 任何时刻, 设 CS 为 M, IP 为 N, 8086CPU 将从内存地址M*16 + N开始读取一条条指令并且执行。

相关推荐

  1. 汇编语言-----开始到寄存器

    2023-12-25 12:12:01       6 阅读
  2. 计算机概论第二

    2023-12-25 12:12:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 12:12:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 12:12:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 12:12:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 12:12:01       18 阅读

热门阅读

  1. sql server 增删改查(基本用法)

    2023-12-25 12:12:01       37 阅读
  2. 【AI】人工智能本地环境集成安装

    2023-12-25 12:12:01       33 阅读
  3. 5G RedCap:轻量5G技术的新宠

    2023-12-25 12:12:01       39 阅读
  4. IP地址与MAC地址的区别与联系

    2023-12-25 12:12:01       33 阅读
  5. python 文本文件的读取

    2023-12-25 12:12:01       43 阅读
  6. Sublime Text快捷命令

    2023-12-25 12:12:01       38 阅读
  7. 华为OD笔试2023C卷命题规律解读

    2023-12-25 12:12:01       54 阅读
  8. vue ant v-decorator的使用

    2023-12-25 12:12:01       40 阅读