计算机基础学习知识点总结录(4)

32位寄存器

寄存器介绍

寄存器位于CPU内的一个小存储区域的时序逻辑电路,寄存器是具有暂时存储二进制代码的功能,它是由锁存器或触发器构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。(触发器:脉冲触发或边沿触发;锁存器:电平触发)

寄存器按功能分

基本寄存器、移位寄存器;

基本寄存器

基本寄存器只能并行送入数据,也只能并行输出;且可以做指针寄存器。
(1)AX(AH、AL):累加器(AX、AH、AL):有些指令约定以AX(或AL)为源或目的寄存器。输入/输出指令必须通过AX或AL实现。
(2)基址寄存器(BX、BH、BL):BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL可用作8位通用数据寄存器。
(3)计数寄存器(CX、CH、CL):CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。
(4)数据寄存器(DX、DH、DL):除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。

移位寄存器

移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出。

32位寄存器

32位寄存器中的寄存器有:四个数据寄存器、六个段寄存器、两个变址寄存器、两 个指针寄存器、一个指令指针寄存器、一个标志寄存器。

四个数据寄存器

四个数据寄存器:EAX、EBX、ECX和EDX;

六个段寄存器

六个段寄存器:ES、CS、SS、DS、FS、GS;
段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。

ES

附加段寄存器(Extra Segment Register),其值为附加数据段的段值,存放当前执行程序中一个辅助数据段的段地址。

CS

代码段寄存器(Code Segment Register),其值为代码段的段值,存放当前正在运行的程序代码所在段的段基址,表示当前使用的指令代码可以从该段寄存器指定的 存储器 段中取得,相应的偏移量则由IP提供。(用来存放 内存 代码段区域的入口地址(段基址))

SS

堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值,堆栈是一种数据结构,而且是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。

DS

数据段寄存器(Data Segment Register),其值为数据段的段值,通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。

FS

附加段寄存器(Extra Segment Register),其值为附加数据段的段值;

GS

附加段寄存器(Extra Segment Register),其值为附加数据段的段值。
5和6是后面加的,以前Intel的8086只有前面四个,从Intel的80386就加了两个。

两个变址寄存器:ESI、EDI

变址寄存器在低16的CPU中是SI和DI,对低16位数据的存取,不影响高16位的数据。
它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。

偏移量

计算机汇编语言中的偏移量定义为:把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。
段地址左移四位,与有效地址相加,就构成了逻辑地址。一般而言,段地址是cpu自己独立编制的,但是偏移量是程序员编写的。偏移量就是程序的逻辑地址与段首的差值。
在早期的8086中地址线是20位的,而段地址是16位。在十六进制下就是4位。这样一个段寄存器就不能完整的描述出内存的地址。所以就和通用寄存器配用。偏移量存在通用寄存器中,段地址则存在段寄存器中。

两个指针寄存器:ESP、EBP

同意低16位对应先前CPU中的BP和SP,对低16位数据的存取,不影响高16位的数据。要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器。
BP—基指针寄存器,用它可直接存取堆栈中的数据。
SP—堆栈指针寄存器,用它只可访问栈顶。

一个指令指针寄存器:EIP

EIP与低16位的CPU中IP作用是相同的。指令指针EIP、IP是存放下次将要执行的指令在代码段的偏移地址。

一个标志寄存器:EFlags

这就不写了,借鉴”李耀辉@1“这些大佬的。
https://blog.csdn.net/qq_51196205/article/details/109347447
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

明卿小友

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

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

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

打赏作者

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

抵扣说明:

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

余额充值