内部寄存器:通用寄存器、控制寄存器、段寄存器
内部寄存器含14个16位寄存器,按功能可分为三类:8个通用寄存器、4个段寄存器、2个控制寄存器。
通用寄存器:包括(数据寄存器、地址指针寄存器、变址寄存器)
1.数据寄存器(AX,BX,CX,DX)可以分别拆开两个8位寄存器,例:AX---AH和AL
AX:累加器,所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中。AX中的十六位数全都是存放的数据。
BX:基址寄存器,在间接寻址中用于存放基地址。BX中的十六位数可能是运算数据也可能是数据存放的地址
CX:计数寄存器,用于在循环或事操作指令中存放计数值。
DX:数据寄存器,在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数
如果是8位寄存器中,只会是运算的数据,绝不可能是地址,因为16体系结构CPU,地址最短也是16位的
2.地址指针寄存器(SP,BP)
SP:堆栈指针寄存器,其内容位栈顶的偏移地址。只要有堆栈存在,SP一定被专用
BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。
BX表示所寻找的数据在数据段,BP表示数据在堆栈段
3.变址寄存器(SI,DI)
SI:源变址寄存器
DI:目标变址寄存器
这两个可以是运算的数据也可以是存放数据的地址
变址寄存器在指令中常用于存放数据在内存中的地址
控制寄存器
IP:指令指针寄存器,其内容为下一条要取的指令的偏移地址。
FLAGS:标志寄存器,存放运算结果的特征
6个状态标志位(CF,SF,AF,PF,OF,ZF)
CF:进位标志位。加减法运算时,若最高位有进借位则CF=1
OF:溢出标志位,当算数运算的结果超出了有符号数的可表达范围时,OF=1
ZF:零标志位,当运算结果为零时ZF=1
SF:符号标志位,当运算结果的最高数为1时,SF=1
PF:奇偶标志位,运算结果的低8位中“1”的个数为偶数时PF=1
AF:辅助进位标志位,加减操作中,若Bit3向Bit4有进位(错位),AF=1
3个控制标志位(IF,TF,DF),表示处理器目前的工作状态的
TF:陷阱标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式
IF:中断允许编制为。IF=1使CPU可以响应可屏蔽中断请求
DF:方向标志位。在数据事操作时群顶操作的方向。
段寄存器
作用:用来存放相应逻辑段的段基地址
代码段------存放指令代码 CS代码段寄存器,存放代码段的段基地址
数据段------存放操作的数据 DS数据段寄存器,存放数据段的段基地址
附加段------存放操作的数据 ES附加段寄存器,存放数据段的段基地址
堆栈段------存放暂时不用但需要保存的数据 SS堆栈段寄存器,存放堆栈段的段基地址
内部寄存器:通用寄存器、控制寄存器、段寄存器相关推荐
- 汇编学习笔记1 通用寄存器和段寄存器详解
一.通用寄存器 寄存器 编号(二进制) 编号(十进制) 64位 32位 16位 8位 累加寄存器 RAX EAX AX AL 000 0 计数寄存器 RCX ECX CX ...
- IA-32寄存器(通用寄存器、EFLAGS寄存器、指令指针寄存器、段寄存器)
文章目录 一.通用寄存器(GPR) 二.EFLAGS寄存器(标志寄存器) 三.指令指针寄存器(EIP) 四.段寄存器(Segment Register) 通用寄存器(General Purpose R ...
- 汇编中的通用寄存器、标志寄存器、段寄存器
通用寄存器: 寄存器和变量差不多,目的都是用于保存一些即将操作的数据 EAX(accumulator) 寄存器:扩展累加寄存器(一般在乘/除中会被主动调用),也可以用于其他用途 ECX(Count) ...
- 通用寄存器介绍和段寄存器的介绍
以下内容来自百度百科: (提示:点击蓝色的字,可以进入百度百科看相关内容) 通用寄存器 目录 简介 主要用途 相关信息 编辑本段简介 通用寄存器 通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算, ...
- 段寄存器和8种地址寻址方式
段寄存器是因为对内存的分段管理而设置的. 16位CPU有四个段寄存器,其程序可同时访问四个不同含义的段,引用方面有如下规定: 1. 取命令:段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的 ...
- win32 段寄存器怎么寻址
32位cpu 地址线扩展成了32位,这和数据线的宽度是一致的.因此,在32位机里其实并不需要采用"物理地址=段:偏移"这种地址表达方式.原来在16位机里规定的 每一个段不大于64k ...
- Cortex_M3通用寄存器组特殊功能寄存器功能简介及汇编用法
通用寄存器组: CM3 拥有通用寄存器 R0-R15 以及一些特殊功能寄存器. R0-R12 是最"通用目的"的,但是绝大多数的 16 位指令只能使用 R0-R7(低组寄存器),而 ...
- 1530_AURIX_TriCore内核架构_通用寄存器以及系统寄存器
全部学习汇总: GreyZhang/g_tricore_architecture: some learning note about tricore architecture. (github.com ...
- 80386中的段寄存器
80386中的段寄存器让系统程序设计者选择内存组织形式的各种模型变得更灵活.设计者可能选择会选择一个应用程序不需要修改段寄存器的模型,这种情况下应用程序员就可以跳过这一节. 一般情况下,完整的程序由许 ...
最新文章
- 【 FPGA 】虚拟时钟
- 企业级Java应用最重要的4个性能指标
- html怎么设置log区,javlog
- Active Directory 定义了五种操作主机角色
- Plugin ‘scala’ is incompatible with this installation
- view_image.php,ImageView显示图像控件
- 小米线刷/救砖简易教程
- 平均股价的时间序列图形_统计学-时间序列分析ppt
- tomcat插入oracle中文乱码_Java连接数据库oracle中文乱码解决方案
- PSCC2019常用基础操作
- Go设计模式学习准备——下载bilibili合集视频
- ios屏幕尺寸和分辨率
- MFC绘图二——简单绘制直线等
- Protel 常用问题总结
- 【转】一款已上市MMO手游地图同步方案总结
- 无法打开模块文件“C:\Users\sq\AppData\Local\Temp\.NETFramework,Version=v4.5,AssemblyAttributes.vb”:系统找不到指定的文件
- python2和python3可以兼容吗_Python2和Python2和3兼容的方法,用于隐藏
- [TJOI2007]路标设置题解
- 四路抢答器的PLC程序设计
- 前端进击的巨人(二):栈、堆、队列、内存空间