社区
C语言
帖子详情
寄存器的地址与内存地址
LubinLew
2013-06-19 10:49:44
寄存器是有地址的这是没有异议的吧。
那么寄存器的地址是相对于CPU而言的吗?CPU中有一套自己的地址机制吗?
通常说的地址一般指的地内存地址。
如果往一个地址中写数据,那么CPU怎么识别是写寄存器还是写内存呢?
...全文
1047
7
打赏
收藏
寄存器的地址与内存地址
寄存器是有地址的这是没有异议的吧。 那么寄存器的地址是相对于CPU而言的吗?CPU中有一套自己的地址机制吗? 通常说的地址一般指的地内存地址。 如果往一个地址中写数据,那么CPU怎么识别是写寄存器还是写内存呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2013-06-20
打赏
举报
回复
在CPU内部,可以将寄存器看作有地址(试比较MOV EAX,10和MOV ECX,10这两条汇编指令对应字节的各二进制位的值),只不过这个地址和RAM内存地址是两回事而已。
ForestDB
2013-06-19
打赏
举报
回复
比如下面的单片机的地寄存器定义, 0x8n是什么? 堆栈指针; sfr DPL = 0x82; 数据指针低8位 sfr DPH = 0x83; 数据指针高8位 sfr PCON = 0x87; 电源控制 sfr TCON = 0x88; 定时器/计数器控制 sfr TMOD = 0x89; 这部分断行是不是有点问题? 应该是这样? sfr DPL = 0x82; 数据指针低8位 sfr DPH = 0x83; 数据指针高8位 sfr PCON = 0x87; 电源控制 sfr TCON = 0x88; 定时器/计数器控制 另外我们所说的寄存器无地址指的是CPU的寄存器,即ah,al这些通用寄存器,明显和LZ所说的不是同一种
日出东方然后不败
2013-06-19
打赏
举报
回复
从没有想过这个问题,看来我得加强计算机体系方面的理论学习了
橡木疙瘩
2013-06-19
打赏
举报
回复
从某种意义上来说,寄存器确实是有地址的,不过它们的地址不是一个完整的字节,而只是几个二进制位。 ADD EBX, 1 ADD ECX, 1 这两条语句生成的代码肯定不同,那么不同之处自然就是寄存器的地址。 不过计算机不需要去判断地址是寄存器还是内存,因为操作寄存器与操作内存的代码是不一样的。
LubinLew
2013-06-19
打赏
举报
回复
引用 2 楼 ForestDB 的回复:
寄存器是有地址的这是没有异议的吧。
有异议
谁告诉你的? 还是自己想的? 如果可能,学习下简单的数字电路。
比如下面的单片机的地寄存器定义, 0x8n是什么? 堆栈指针; sfr DPL = 0x82; 数据指针低8位 sfr DPH = 0x83; 数据指针高8位 sfr PCON = 0x87; 电源控制 sfr TCON = 0x88; 定时器/计数器控制 sfr TMOD = 0x89;
ForestDB
2013-06-19
打赏
举报
回复
寄存器是有地址的这是没有异议的吧。
有异议
谁告诉你的? 还是自己想的? 如果可能,学习下简单的数字电路。
baichi4141
2013-06-19
打赏
举报
回复
我承认我第一次听说“寄存器是有地址的”,所以提不出什么异议
寄存器
地址
和
内存
地址
的区别
寄存器
是CPU内部高速存储器,用于存储指令和数据,访问速度远超RAM。
地址
寄存器
保存内存单元
地址
,数据
寄存器
用于暂存数据传输。在CPU与内存或外围设备交换信息时,两者起到关键作用。
内存
地址
则是访问主存数据的
地址
,其存取速度较慢,需经过多个步骤转换。
寄存器
地址
和
内存
地址
_爱了爱了,小浩和大家聊聊
寄存器
本文详细介绍了CPU中的
寄存器
,包括通用
寄存器
(AX、BX、CX、DX)、段
寄存器
、控制
寄存器
以及它们在内存寻址中的作用。
寄存器
作为CPU内部快速存储的地方,可以提高数据处理效率。通过段
地址
和偏移
地址
的组合,8086 CPU实现了20位物理
地址
的寻址能力,允许访问1MB的内存。文章通过实例解释了如何使用
寄存器
进行数据存储和处理,并讨论了栈和栈
寄存器
(SS和SP)的工作原理以及栈顶越界问题。
栈空间及
寄存器
与
内存
地址
寻址分析
本文围绕ARM单片机展开,介绍了CPU核心
寄存器
,如R13(SP)管理栈空间,存储栈顶
内存
地址
;阐述了SRAM空间布局,包括栈在RAM顶端的优势;还分析了
内存
地址
划分。此外,讲解了单片机的7种寻址方式,如立即数寻址、直接寻址等,各有特点和适用场景。
寄存器
地址
和
内存
地址
_爱了爱了,这篇
寄存器
讲的有点意思
本文详细介绍了8086 CPU 中的
寄存器
,包括通用
寄存器
(AX、BX、CX、DX)、段
寄存器
(CS、DS、SS、ES)和特殊
寄存器
(IP、FLAG)。通过实例解释了如何使用这些
寄存器
进行数据存储和计算,以及它们在
内存
地址
合成和栈操作中的作用。此外,还探讨了段
地址
和物理
地址
的关系,以及栈顶越界问题的重要性。
精简汇编语言笔记(三) ——通用
寄存器
及
内存
地址
本文介绍了CPU中的通用
寄存器
,如EAX、EBX、ECX和EDX,强调了它们在计算和存储中的作用。此外,详细讨论了
内存
地址
的概念,包括32位寻址和
内存
地址
在汇编语言中的表示形式。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章