80386的各种寄存器一览

注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料。此书出版较早,分析的版本为2.4.16,故出现的一些概念可能跟最新版本内核不同。
此书已经开源,阅读地址 http://www.kerneltravel.net

1、通用寄存器(32位)

• EAX:一般用作累加器
• EBX:一般用作基址寄存器(Base)
• ECX:一般用来计数(Count)
• EDX:一般用来存放数据(Data)
• ESP:一般用作堆栈指针(Stack Pointer)
• EBP:一般用作基址指针(Base Pointer)
• ESI:一般用作源变址(Source Index)
• EDI:一般用作目标变址(Destinatin Index)

2、段寄存器(16位)

• CS:代码段寄存器
• DS:数据段寄存器
• SS:堆栈段寄存器
• ES、FS 及GS:附加数据段寄存器

这些段寄存器中存放的不再是某个段的基地址,而是某个段的选择符(Selector)。因为16 位的寄存器无法存放32 位的段基地址,段基地址只好存放在段的描述符(Descriptor)中。

3、标志和控制寄存器(32位)

标志寄存器 EFLAGS
指令指针 EIP
机器状态字 CR0
Intel 预留 CR1
页故障地址 CR2
页目录地址 CR3

指令指针寄存器(EIP)中存放下一条将要执行指令的偏移量(offset ),这个偏移量是相对于目前正在运行的代码段寄存器(CS)而言的。偏移量加上当前代码段的基地址,就形成了下一条指令的地址。
这里写图片描述
这里写图片描述
这里写图片描述

4、系统地址寄存器

• 全局描述符表寄存器GDTR(Global Descriptor Table Register ),是48 位寄存器,用来保存全局描述符表(GDT)的32 位基地址和GDT 的大小(16位)。

• 中断描述符表寄存器IDTR(Interrupt Descriptor Table Register),是48 位寄存器,用来保存中断描述符表(IDT)的32 位基地址和IDT 的大小(16位)。

• 局部描述符表寄存器LDTR(Local Descriptor Table Register ),是16 位寄存器,保存局部描述符表LDT 段的选择符。

• 任务状态寄存器TR(Task State Register)是16 位寄存器,用于保存任务状态段TSS 段的16 位选择符。
这里写图片描述
5、调试寄存器和测试寄存器(32位)
这里写图片描述
80386 有两个32 位的测试寄存器TR6 和TR7。TR6 是测试命令寄存器,其内存放测试控制命令。TR7 是数据寄存器,其内保存转换旁路缓冲器测试的数据。

转载自http://blog.csdn.net/jnu_simba/article/details/11712675

三菱q系列寄存器一览表是三菱电机公司为其q系列可编程控制器(PLC)开发的一套标准寄存器表。该寄存器表主要用于记录和设置PLC的输入、输出、中间结果以及其他相关信息。 该寄存器表包括了常用的输入寄存器、输出寄存器、数据寄存器、文件寄存器等,具体内容如下: 1. 输入寄存器: 输入寄存器用于存储外部设备输入的信号状态,如按钮、传感器等。可以通过读取输入寄存器的值来判断外部输入信号的状态。 2. 输出寄存器: 输出寄存器用于存储PLC控制的外部设备的输出状态。根据程序逻辑或输入信号的处理结果,将输出寄存器的值设置为相应的状态,控制外部设备的运行。 3. 数据寄存器: 数据寄存器用于存储计算过程中的中间结果,如运算结果、计数值等。可以通过读写数据寄存器来进行数据处理和存储。 4. 文件寄存器: 文件寄存器用于存储特定数据类型的信息,如字、位、浮点数等。文件寄存器可以进行读写操作,并可以通过索引或名称进行访问。 除了以上四种主要寄存器类型外,Q系列PLC还包含了其他扩展寄存器,如定时器寄存器、计数器寄存器、特殊功能寄存器等,用于实现特定功能的控制。 三菱q系列寄存器一览表提供了对PLC的输入输出状态、运算结果以及各种寄存器信息的整体概览,方便工程师进行程序开发、调试和维护。根据具体需求,可以通过读写寄存器的值来实现对PLC的灵活控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值