找回密码
 立即注册
查看: 373|回复: 9

请教个问题:为什么是用'MOV + 字寄存器'指令间接读写STC32的XFR

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:231
  • 最近打卡:2025-07-01 08:09:14

50

主题

169

回帖

1875

积分

金牌会员

积分
1875
发表于 2024-3-10 23:08:30 | 显示全部楼层 |阅读模式
请教个问题:

在学习mcu STC32的存储空间映射时,突然有个问题想不通了:
已知,STC32的XFR位于XDATA区域的7E:0000H ~ 7E:FFFFH范围,扩展RAM位于01:0000H ~ 01:1FFFH范围,访问扩展RAM用 ‘MOVX    +  @Ri’或 'MOVX + @DPTR'等形式间接访问,而同为XDATA区域的  XFR  们用的是'MOV  +  @DRk'间接访问。


问题:
XFR为什么用的是'MOV  +  @DRk'形式访问,而不是'MOVX' 形式?

STC32G12K128存储空间映射表

STC32G12K128存储空间映射表
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-3-10 23:47:04 | 显示全部楼层
访问扩展RAM也可用'MOV  +  @DRk'间接访问,XFR也可用MOVX指令,只不过效率太低,要先设置DPXL为7EH
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:572
  • 最近打卡:2025-07-01 07:57:05

24

主题

524

回帖

1280

积分

荣誉版主

积分
1280
发表于 2024-3-11 09:50:42 | 显示全部楼层
查看80251的datasheet, MOV    @DRk , Rm  的指令周期是4个时钟。STC32给出的是1个个时钟。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:572
  • 最近打卡:2025-07-01 07:57:05

24

主题

524

回帖

1280

积分

荣誉版主

积分
1280
发表于 2024-3-11 10:06:23 | 显示全部楼层
80251的datasheet, MOV   Rm , dir8(i/o) 的读IO指令的执行周期是2+1,共3个时钟周期。
STC32的这个指令周期是1个时钟周期。经过反复验证确认,确实是1个时钟周期。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-3-11 10:53:00 | 显示全部楼层
社区*** 发表于 2024-3-11 09:50
查看80251的datasheet, MOV    @DRk , Rm  的指令周期是4个时钟。STC32给出的是1个个时钟。 ...

STC的MOV  @DRk , Rm指令周期看DRk指向的位置,如果是EDATA区域1个时钟,其他区域3个时钟
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:572
  • 最近打卡:2025-07-01 07:57:05

24

主题

524

回帖

1280

积分

荣誉版主

积分
1280
发表于 2024-3-11 11:22:25 | 显示全部楼层
谢谢楼上网友的提醒。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:231
  • 最近打卡:2025-07-01 08:09:14

50

主题

169

回帖

1875

积分

金牌会员

积分
1875
发表于 2024-3-11 20:16:02 | 显示全部楼层
zxcv*** 发表于 2024-3-10 23:47
访问扩展RAM也可用'MOV  +  @DRk'间接访问,XFR也可用MOVX指令,只不过效率太低,要先设置DPXL为7EH ...

学习了,思路一下子打开了
感谢指导
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:231
  • 最近打卡:2025-07-01 08:09:14

50

主题

169

回帖

1875

积分

金牌会员

积分
1875
发表于 2024-3-11 20:17:17 | 显示全部楼层
感谢楼上各位的指导,不胜感激。
祝各位,工作顺利!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:231
  • 最近打卡:2025-07-01 08:09:14

50

主题

169

回帖

1875

积分

金牌会员

积分
1875
发表于 2024-3-12 22:41:23 | 显示全部楼层
zxcv*** 发表于 2024-3-10 23:47
访问扩展RAM也可用'MOV  +  @DRk'间接访问,XFR也可用MOVX指令,只不过效率太低,要先设置DPXL为7EH ...

今天验证了一下,是这样测试读的:
  1. MOV                DPXL, #7EH
  2. MOV                DPTR, #WORD0 CHIPID7
  3. MOVX        A, @DPTR
复制代码
build 没问题,结果也读取正确
想多问下,从哪里才能获取到这样的知识
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-3-13 11:34:35 | 显示全部楼层
BeHa*** 发表于 2024-3-12 22:41
今天验证了一下,是这样测试读的:
build 没问题,结果也读取正确
想多问下,从哪里才能获取到这样的知识 ...

看何宾老师那个视频
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-1 16:36 , Processed in 0.149491 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表