寄存器用途和英文全称 您所在的位置:网站首页 plc英文和中文全称 寄存器用途和英文全称

寄存器用途和英文全称

2023-05-29 09:57| 来源: 网络整理| 查看: 265

寄存器类别和用途

基本程序执行寄存器(basic program execution registers)。8 个通用寄存器,6 个段寄存器,一个处理器状态标志寄存器(EFLAGS),和一 个指令指针寄存器(EIP)。

EAX、AX、AH和AL

一些寄存器的组成部分可以处理 8 位的值。例如,AX 寄存器的高 8 位被称为 AH,而低 8 位被称为 AL。同样的重叠关系也存在于 EAX、EBX、ECX 和 EDX 寄存器中:

32 位16 位8 位(高)8 位(低)EAXAXAHALEBXBXBHBLECXCXCHCLEDXDXDHDL

其他通用寄存器只能用 32 位或 16 位名称来访问,如下表所示:

32 位16 位32 位16 位ESISIEBPBPEDIDIESPSP

通用寄存器有特殊用法:

乘除指令默认使用EAX。它常常被称为扩展累加器(extended accumulator)寄存器。CPU 默认使用 ECX 为循环计数器。ESP 用于寻址堆栈数据。它极少用于一般算术运算和数据传输,通常被称为扩展堆栈指针(extended stack pointer)寄存器。ESI 和 EDI 用于高速存储器传输指令,有时也被称为扩展源变址(extended source index)寄存器和扩展目的变址(extended destination index)寄存器。高级语言通过 EBP 来引用堆栈中的函数参数和局部变量。除了高级编程,它不用于一般算术运算和数据传输。它常常被称为扩展帧指针(extended frame pointer)寄存器。

指令指针

指令指针(EIP)寄存器中包含下一条将要执行指令的地址。某些机器指令能控制 EIP,使得程序分支转向到一个新位置。call和ret会改变其值。

状态标志位

状态标志位反映了 CPU 执行的算术和逻辑操作的结果。其中包括:溢出位、符号位、零标志位、辅助进位标志位、奇偶校验位和进位标志位。下述说明中,标志位的缩写紧跟在标志位名称之后:

进位标志位(CF),与目标位置相比,无符号算术运算结果太大时,设置该标志位。溢出标志位(OF),与目标位置相比,有符号算术运算结果太大或太小时,设置该标志位。符号标志位(SF),算术或逻辑操作产生负结果时,设置该标志位。零标志位(ZF),算术或逻辑操作产生的结果为零时,设置该标志位。辅助进位标志位(AC),算术操作在 8 位操作数中产生了位 3 向位 4 的进位时,设置该标志位。奇偶校验标志位(PF),结果的最低有效字节包含偶数个 1 时,设置该标志位,否则,清除该标志位。一般情况下,如果数据有可能被修改或损坏时,该标志位用于进行 错误检测。

通用寄存器:

英文功能寄存器编号(二进制)编号(十进制)字母全称功能    32位16位8位  Ddouble双accumulator累加EAXAXAL0000Llow低位count计数ECXCXCL0011Hhigh高位data数据EDXDXDL0102Eextend扩展base基址EBXBXBL0113Rregister寄存器Stack Pointer堆栈指针ESPSPAH1004Iimmediate立即数Base Pointer基址指针EBPBPCH1015Mmemory内存Source Index源变址ESISIDH1106Bbyte字节Destination Index目的变址EDIDIBH1117Wword字

标志寄存器(FLAG/16位):

英文功能全称标志形式OF溢出标志overflow flag状态标志SF符号标志sign  flag状态标志ZF零标志zero  flag状态标志CF进位标志carry  flag状态标志AF辅助进位标志auxiliary carry flag状态标志PF奇偶标志parity flag状态标志DF方向标志direction flag控制标志IF中断标志interrupt flag控制标志TF陷进标志trap     flag控制标志

段寄存器(16位):

英文含义全称功能CS代码段Code Segment指明代码段的起始地址DS数据段Data Segment指明数据段的起始地址SS堆栈段Stack Segment指明堆栈段的起始地址ES附加段Extra Segment指明附加段的起始地址

指令指针寄存器(32位)EIP:Extend Instruction Pointer

检查算术运算结果使用的是 CPU 状态标志位的值,同时,这些值还可以触发条件分支指令,即基本的程序逻辑工具。下面是对状态标志位的简要概述:

进位标志位意味着无符号整数溢出。比如,如果指令目的操作数为 8 位,而指令产生的结果大于二进制的 1111 1111,那么进位标志位置 1。溢出标志位意味着有符号整数溢出。比如,指令目的操作数为 16 位,但其产生的负数结果小于十进制的 -32 768,那么溢出标志位置 1。零标志位意味着操作结果为 0。比如,如果两个值相等的操作数相减,则零标志位置 1。符号标志位意味着操作产生的结果为负数。如果目的操作数的最高有效位(MSE)置 1,则符号标志位置 1。奇偶标志位是指,在一条算术或布尔运算指令执行后,立即判断目的操作数最低有效字节中 1 的个数是否为偶数。辅助进位标志位置 1,意味着目的操作数最低有效字节中位 3 有进位。

参考:

https://www.cnblogs.com/forestsky/p/10927470.html

http://c.biancheng.net/view/3458.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有