汇编:CPU结构 - 通用寄存器

通过上一节【CPU结构与读写相关介绍】我们了解到,CPU的基本构成分:寄存器、运算器、控制器。

其中8086CPU内部寄存器的基本结构如下:
在这里插入图片描述
本节主要讲解通用寄存器应用说明:

1、AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,称为通用寄存器(有时也有特定用途)。
2、通常,CPU会先将内存中的数据存储到通用寄存器中,然后再对通用寄存器中的数据进行运算。

假设内存中有块红色内存空间的值是3,现在想把它的值加1,并将结果存储到蓝色内存空间:
1、CPU首先会将红色内存空间的值放到AX寄存器中:mov ax,红色内存空间
2、然后让AX寄存器与1相加:add ax,1
3、最后将值赋值给内存空间:mov 蓝色内存空间,ax
在这里插入图片描述

3、AX、BX、CX、DX这4个通用寄存器都是16位的,如下图所示:
在这里插入图片描述
4、上一代8086的寄存器都是8位的,为了保证兼容, AX、BX、CX、DX都可分为2个独立的8位寄存器来使用:

H代表高位寄存器
L代表低位寄存器
在这里插入图片描述
在这里插入图片描述

拓展:
1、在汇编的数据存储中,有2个比较常用的单位
字节:byte,1个字节由8bit组成,可以存储在8位寄存器中。
:word,1个字由2个字节组成,这2个字节分别称为字的高字节和低字节。

比如数据20000(4E20H,0100111000100000B),高字节的值是78,低字节的值是32
在这里插入图片描述
2、1个字可以存在1个16位寄存器中,这个字的高字节、低字节分别存储在这个寄存器的高8位寄存器、低8位寄存器中。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
汇编语言中的寄存器是用来存储和处理数据的。x86 架构的 CPU 有多个寄存器,每个寄存器都有特定的用途。下面是常用的 x86 架构寄存器及其作用: 1. 通用寄存器(General-purpose registers): - EAX:累加器(accumulator),用于算术和逻辑运算。 - EBX:基址寄存器(base register),通常用于存放数据的指针。 - ECX:计数器(counter),用于循环和字符串操作。 - EDX:数据寄存器(data register),用于算术操作和存放 I/O 端口地址。 这些寄存器的 16 位版本分别为 AX、BX、CX、DX。 2. 段寄存器(Segment registers): - CS:代码段寄存器(code segment),存放代码的段地址。 - DS:数据段寄存器(data segment),存放数据的段地址。 - SS:堆栈段寄存器(stack segment),存放堆栈的段地址。 - ES:附加段寄存器(extra segment),通常用于字符串操作。 3. 指针寄存器(Pointer registers): - ESP:堆栈指针寄存器(stack pointer),存放栈顶地址。 - EBP:基址指针寄存器(base pointer),用于存放堆栈帧的基地址。 4. 索引寄存器(Index registers): - ESI:源索引寄存器(source index),通常用于字符串操作。 - EDI:目的索引寄存器(destination index),通常用于字符串操作。 这些寄存器的 16 位版本分别为 SI 和 DI。 除了以上列出的寄存器,还有一些特殊用途的寄存器,如 EFLAGS 寄存器用于存储 CPU 的状态标志位,CR 寄存器用于控制 CPU 的行为等。每个 CPU 架构的寄存器都有其特定的用途和规定操作,需要根据具体的架构和指令集手册来进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓜子三百克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值