找回密码
 立即注册
楼主: CosyOS

STC 原生RTOS PK 移植RTOS

[复制链接]

5

主题

1206

回帖

4812

积分

荣誉版主

积分
4812
 楼主| 发表于 2025-6-6 18:49:11 | 显示全部楼层
ukeo*** 发表于 2025-6-6 07:13
那  EXATA   是100% 一次读2个字节或4个字节?

世界上没有什么事是绝对的,总会有特例。
有时,2 or 4 个字节的变量,本可以一次读出,
但由于你的原因 or 编译器的原因,它优化后偏偏要分多次读出,这种可能性不是没有。
所以,需要看汇编才能最终确定。

1、
截图202506061816517981.jpg

2、打开C文件,编译后点这里
截图202506061818573552.jpg

3、
截图202506061833324022.jpg
上面窗口是对应的汇编。
在C文件中,鼠标点哪一行,哪一行前面会显示一个 箭头,
上面窗口中也会显示出对应的汇编。

在这个示例中,我定义了 u16 xdata myu16 = 0;
行27,u16 t = myu16; 对应的汇编是:

0xFF3422   900BA1      MOV      DPTR,#0x0BA1  // 这里是把 myu16 的地址 #0x0BA1 放入 DPTR
0xFF3425   0BEA70      MOV      WR14,@DR56    // 这里通过@DR56间接寻址,一次性把 myu16的两个字节 放入 WR14



回复

使用道具 举报 送花

0

主题

16

回帖

94

积分

注册会员

积分
94
发表于 2025-6-9 09:35:00 | 显示全部楼层
👍
回复

使用道具 举报 送花

已绑定手机

2

主题

365

回帖

1350

积分

金牌会员

积分
1350
发表于 2026-1-6 21:39:32 | 显示全部楼层
学习一下!!
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-22 05:58 , Processed in 0.069630 second(s), 56 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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