1、在CPU中,汇编语言程序猿可见的寄存器有哪些?(MAR、MDR、IR、PC)
在CPU中,汇编语言程序员可见的寄存器主要包括通用寄存器、程序计数器(PC)、标志寄存器等。像MAR(内存地址寄存器)、MDR(内存数据寄存器)、IR(指令寄存器)等寄存器,虽然在CPU内部起着重要的作用,但通常是不可见的,或者说不直接暴露给汇编语言程序员。
以下是汇编语言程序员可见和不可见的寄存器的分类:
1. 可见的寄存器
这些寄存器是汇编程序员在编写代码时可以直接使用的:
-
通用寄存器:
- 在x86架构中:
EAX
,EBX
,ECX
,EDX
,ESI
,EDI
,EBP
,ESP
(在64位下扩展为RAX
,RBX
,RCX
,RDX
,RSI
,RDI
,RBP
,RSP
,以及额外的R8
-R15
)。 - 在ARM架构中:
R0
-R12
,SP
(栈指针),LR
(链接寄存器),PC
(程序计数器)。
- 在x86架构中:
-
程序计数器(PC, Program Counter):
- 在x86架构中,称为
EIP
(32位)或RIP
(64位)。 - 在ARM架构中,称为
PC
。
- 在x86架构中,称为
-
标志寄存器(Flag