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

STC 原生RTOS PK 移植RTOS

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-15 18:01:12

5

主题

1152

回帖

4471

积分

荣誉版主

积分
4471
发表于 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



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2025-06-15 10:42:20

19

主题

-2

回帖

36

积分

新手上路

积分
36
发表于 7 天前 | 显示全部楼层
👍
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 11:23 , Processed in 0.156994 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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