找回密码
 立即注册
查看: 3194|回复: 80

关于"访问"的表达是否准确?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-18 16:55:58 | 显示全部楼层 |阅读模式
本帖最后由 tzz1983 于 2023-9-18 16:58 编辑

捕获3.JPG

前几天做OS移植时,遇到保存EA并清除的问题.
根据以往书箱的描述, 访问IE,IP的指令可以暂时延缓发生中断, 当时想, 读并清除EA,分两步做是没有问题的. 于是我做了个访直测试, 结果发现不行.

本来事情也就这样过去了, 恰巧昨天 版主 神农鼎 由于讨论相关问题时发出了官方手册上关于这部分的内容, 这些内容我以前都没有见到过. 其中也是明确指出"特殊指令"可以暂缓中断发生, 于是我....心里就又放不下啊, 哈哈, 不搞明白过不去自己心里那道坎
于是今天我又去试了一下:
结果:  对IE的写操作确实可以暂缓中断发生, 但读不行.  
我想是我对访问这个词理解不够呢, (访问不包括读吗?) , 还是描述本身的表达问题

以下为测试代码:

捕获.JPG

此次测试为连续读IE, 在执行完第二个 MOV A ,IE 时跳转到中断了, 测试失败
捕获2.JPG

此次为连续写IE,直到最后, 没有进入到中断, 测试成功
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2023-9-18 17:43:55 | 显示全部楼层
你的测试结果和理解都是对的
芯片内部设计时,确实只有写中断相关的SFR才有上面的效果
读取是没有

后续手册会修正“访问”为“写动作”

STC8H系列 1T 8051中文数据手册更新 ,  2023/9/20
http://www.stcmcudata.com/STC8F-datasheet/STC8H.pdf

截图202309221314259345.jpg


截图202309221315102435.jpg


截图202309221315553761.jpg

截图202309221316369834.jpg




回复 支持 1 反对 0

使用道具 举报 送花

11

主题

340

回帖

929

积分

荣誉版主

积分
929
发表于 2023-9-19 11:16:31 | 显示全部楼层
本帖最后由 熊仔 于 2023-9-19 11:17 编辑

所以还是需要JBC指令。

点评

看到了, 是可以分两步的, 我发的图片是STC手册上描述传统没流水线的内核的, 下面还有STC流水的描述, 没注意到这一点  发表于 2023-9-19 12:43
好像又不是,还没捋清楚。有三级流水,等会看看  发表于 2023-9-19 12:32
是的  发表于 2023-9-19 12:22
回复 支持 反对

使用道具 举报 送花

11

主题

340

回帖

929

积分

荣誉版主

积分
929
发表于 2023-9-19 12:45:23 来自手机 | 显示全部楼层
为什么是执行完第2个读IE呢?
如果是第2个的话,先读后写的方式也没问题,反正第2个写
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-19 12:46:29 | 显示全部楼层
熊*** 发表于 2023-9-19 11:16
所以还是需要JBC指令。

手册这样描述的: 对于STC的单片机,由于是多级流水线设计, 响应中断会比传统的8051再多执行一条语句, 直到下一条语句也不是"特殊指令"
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-19 12:47:16 | 显示全部楼层
熊*** 发表于 2023-9-19 12:45
为什么是执行完第2个读IE呢?
如果是第2个的话,先读后写的方式也没问题,反正第2个写 ...

我的理解和手册上的是一至的, 你再想想看
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-19 12:49:53 | 显示全部楼层
tzz1*** 发表于 2023-9-19 12:46
手册这样描述的: 对于STC的单片机,由于是多级流水线设计, 响应中断会比传统的8051再多执行一条语句, 直到 ...

你注意图片, 第一个方格是:获取下一个指令, 第二格:解码当前指令, 这两格指的不是同一条指令, 注意流水压仓就能理解了
回复 支持 反对

使用道具 举报 送花

11

主题

340

回帖

929

积分

荣誉版主

积分
929
发表于 2023-9-19 12:51:01 来自手机 | 显示全部楼层
取指令,译码,执行
译码的时候读取下一条。根据下一条是否,写入 IE操作,来延期中断。

比如
第一条e=EA;
第二条EA=0;
在译码第1条的时候,读取第二条,刚好就是操作IE的指令。这个时候有延缓中断。肯定会执行第二条。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-19 12:51:51 | 显示全部楼层
tzz1*** 发表于 2023-9-19 12:49
你注意图片, 第一个方格是:获取下一个指令, 第二格:解码当前指令, 这两格指的不是同一条指令, 注意流水压 ...

还有,你去看手册, 不要看这个图, 我贴上发的那图片是描述传统的, 发贴时没注意
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2023-9-19 13:01:11 | 显示全部楼层
捕获.JPG

所以是可以分两步的, 第一步读, MOV C, EA  第二步写: CLR EA 因为下条一指令是读写IE的指令, 也会延迟
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:16 , Processed in 0.138227 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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