找回密码
 立即注册
楼主: tzz***

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

[复制链接]
  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 189 天

    [LV.7]常住居民III

    5

    主题

    615

    回帖

    2521

    积分

    荣誉版主

    积分
    2521
    发表于 2023-9-19 15:19:21 | 显示全部楼层
    edalab 发表于 2023-9-19 15:04
    这样会改变PSW,会有问题

    POP PSW对应PUSH IE,是要把入栈的IE放到PSW里,恢复EA后会再次POP PSW(对应PUSH PSW)。

    点评

    谢谢  发表于 2023-9-19 16:05
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    580

    回帖

    1231

    积分

    荣誉版主

    积分
    1231
     楼主| 发表于 2023-9-19 15:24:03 | 显示全部楼层
    熊仔 发表于 2023-9-19 15:13
    不会,PSW,ACC都是可以操作的。判断的时候才用到。

    之前想到过,PSW关系到寄存器组, 这里用的都是DRx, 应该没有问题,暂不确定, 先搁置.
    用在别的地方就没有仔细研究,我现在不知道非兼容51模式下, 会不会用到寄存器组这个概念, 你去研究吧, 哈哈
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 189 天

    [LV.7]常住居民III

    5

    主题

    615

    回帖

    2521

    积分

    荣誉版主

    积分
    2521
    发表于 2023-9-19 15:25:12 | 显示全部楼层
    1、关于中断响应的细节可以研究,但不要过分依赖,正所谓人算不如天算。我们应尽量采用100%可靠的方法,如JBC指令。
    2、我也认为不会有人会在中断中关闭中断,而后不再开启,如果有也是忘了开启。然而我们不必过于纠结这一点@熊仔,

    JBC原子指令要做的事情就是条件判断与执行分支不可分割。如果不是EA,换做是一个事件标志,
    在任务和中断中都会查询这个事件标志来执行,如果不用JBC指令就会有出问题的机会。
    3、我认为先读EA,再写EA还是可以被打断的,原因是读EA不是特殊指令,读EA之前的指令为当前指令时。





    点评

    按照STC最新出的流程图,不会出问题。除非他们出的图有问题。 按照传统8051,肯定有问题。  详情 回复 发表于 2023-9-19 15:47
    EA算的, 之前我测试时一同试过. 也同意你的说法, 有时候就是想弄清楚机制, 不一定采用, 最好的办法肯定是通用的办法, 换个机器也行那是最好的  发表于 2023-9-19 15:47
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    580

    回帖

    1231

    积分

    荣誉版主

    积分
    1231
     楼主| 发表于 2023-9-19 15:32:26 | 显示全部楼层
    手上东西出BUG, 时好时不好, 唉呀, 愁死我了, 4天了, 还没找出来, , 就怕这种时好时坏的东西, 要么死透了, 总归有个死的点可以找到, 这种半死不活的太愁了
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-19 15:47:56 | 显示全部楼层
    本帖最后由 熊仔 于 2023-9-19 15:53 编辑
    CosyOS 发表于 2023-9-19 15:25
    1、关于中断响应的细节可以研究,但不要过分依赖,正所谓人算不如天算。我们应尽量采用100%可靠的方法,如J ...

    3、我认为先读EA,再写EA还是可以被打断的,原因是读EA不是特殊指令,读EA之前的指令为当前指令时。
    按照STC最新出的流程图,不会出问题。除非他们出的图有问题。
    按照传统8051,肯定有问题。

    当前:     MOV C,EA
    下一条 : CLR EA
    截图202309191553005549.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 189 天

    [LV.7]常住居民III

    5

    主题

    615

    回帖

    2521

    积分

    荣誉版主

    积分
    2521
    发表于 2023-9-19 16:28:38 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-9-19 16:39 编辑

    20230919_01.jpg

    当前指令:MOV C, EA 的上一条指令
    下一条指令:MOV C, EA
    再下一条指令:CLR EA

    可见,MOV C, EACLR EA 可被中断,除非 MOV C, EA 的上一条指令为特殊指令





    点评

    服了, 这个结论正确, 起点不一样, 真的是有太多的想不到了  发表于 2023-9-19 16:41
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    580

    回帖

    1231

    积分

    荣誉版主

    积分
    1231
     楼主| 发表于 2023-9-19 16:42:31 | 显示全部楼层
    熊仔, 断了念想了, JBC吧
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    580

    回帖

    1231

    积分

    荣誉版主

    积分
    1231
     楼主| 发表于 2023-9-19 16:51:34 | 显示全部楼层
    CosySO真厉害, 有空去拜访你的OS

    点评

    我只是恰巧想到的  发表于 2023-9-19 16:53
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 189 天

    [LV.7]常住居民III

    5

    主题

    615

    回帖

    2521

    积分

    荣誉版主

    积分
    2521
    发表于 2023-9-20 10:23:20 | 显示全部楼层
    这个问题熊仔的说法也非常有道理,所以真相究竟如何坐等STC的工程师一锤定音。
    所以,我的建议就是不要用拿不准的方法,而应该采用100%可靠的方法。

    其实不差几个指令周期,RTOS应可靠性第一、性能第二。


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-21 12:59:18 来自手机 | 显示全部楼层
    本帖最后由 熊仔 于 2023-9-21 13:03 编辑

    中段发生后能执行两条指令,如果两条都不是特殊指令,那就进入中断服务程序,分析确实能打断。
    讨论:是不是只要执行中断能返回的,并且返回来肯定是开中断的,也就是退出中断前必须开中断,这种情况就没问题呢?如果能打断读到的状态是1,返回后也是1,返回后马上执行清零操作。这样分析这种情况貌似是没啥问题的。

    我一直认为,中断退出前关闭中断开关的,那是程序员的bug
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-2 05:28 , Processed in 0.075742 second(s), 72 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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