三、寄存器-计算机基础

1.程序的简要运行流程

在这里插入图片描述
程序加载到内存中 --> CPU 找到程序将要执行的指令位置,然后执行程序

问题:那就是CPU如何找到程序即将执行指令的位置?

	 这里需要使用寄存器 (CS:IP) 寻址来确定即将执行指令位置

什么是寄存器?

寄存器是CPU中的一部分。它是一个高速存贮部件,可以用来暂存指令、数据和地址。每个CPU中有多个寄存器,例如8086CPU中含有14个寄存器。
它的存储量有限 :2个字节(Byte)、4个字节,也就是 16 bit、32
bit。所以所有的寄存器都是16位的。
特点:存在CPU中,运行速度快

讲到CPU ,这里简单提一下

CPU是由三个部分组成:
运算器
控制器
寄存器

寄存器简介

16位CPU所包含的寄存器(共14个):

4个数据寄存器(AX、BX、CX和DX):
主要用来保存操作数和运算结果等信息。
由于在8086之前的CPU为8位CPU,为了兼容以前的8位程序,在8086CPU中,每一个数据寄存器都
可以当作两个单独的寄存器来使用。
注意:除了这4个数据寄存器外,其他寄存器均不能分为两个独立的8位寄存器。
并且不能存放存储单元的地址。
下图中将16位的寄存器拆分成 两个8位寄存器,这里 AL 中的L表示低8位的寄存器,AH中的H 表示
为高8位的寄存器在这里插入图片描述
在这里插入图片描述

2个变址寄存器(SI和DI)2个指针寄存器(SP和BP)4个段寄存器(ES、CS、SS、DS)1个指令指针寄存器(IP)1个标志寄存器(Flags)

32位CPU所包含的寄存器(共16个):

4个数据寄存器(EAX、EBX、ECX和EDX):
注意:除了这4个数据寄存器外,其他寄存器均不能分为两个独立的8位寄存器。
EAX、EBX、ECX和EDX不仅可以传送数据、暂存数据保存算数逻辑运算结果,而且也可作为
指针寄存器,所以32位寄存器更具有通用性。

2个变址寄存器(ESI和EDI)
2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP)
1个标志寄存器(EFlags)

32位寄存器展示图

右手边的通用寄存器 我们可看见包含有16位寄存器,这是为了向下兼容,所以16位寄存器中的部分会在32位寄存器中展示
这里 L 表示 低,H 表示为高
在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值