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

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

[复制链接]

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-19 13:03:05 来自手机 | 显示全部楼层
是的,写完IE之后还会执行下一条.
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

576

回帖

1195

积分

荣誉版主

积分
1195
 楼主| 发表于 2023-9-19 13:07:08 | 显示全部楼层
熊仔 发表于 2023-9-19 12:51
取地址,译码,执行
译码的时候读取下一条。根据下一条是否,写入 IE操作,来延期中断。

是的, 如果追求极限速度, 我认为可以
PUSH  IE  
CLR EA



POP R11
ORL A #080H
ORL IE A

进临界区2个时间, 出来三个时钟

点评

ANL A,#0X80  详情 回复 发表于 2023-9-19 13:31
这个就是方法二啊,在网上查了,说有堆栈寻址的不适合。具体没有去验证  发表于 2023-9-19 13:11
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-19 13:07:42 来自手机 | 显示全部楼层
所以这部分一定要用汇编写才能准确.
C估计不准确的,不然读取EA到C,或者到A,然后保存到变量。再执行EA=0。

点评

是的, cpu_sr=EA; EA=0; 如果这样, 就错了  发表于 2023-9-19 13:13
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-19 13:13:34 来自手机 | 显示全部楼层
pendSV中断里面,还是直接EA=0  EA=1,简单粗暴,完事了

本来就不可能返回来的时候是关中断。关中断都是程序员的bug。
这里真没必要考虑嵌套

点评

嗯 是的, 文档内加个说明, 限定出中断时不可关中断  发表于 2023-9-19 13:17
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-19 13:31:15 来自手机 | 显示全部楼层
tzz1983 发表于 2023-9-19 13:07
是的, 如果追求极限速度, 我认为可以
PUSH  IE  
CLR EA

ANL A,#0X80
回复 支持 反对 送花

使用道具 举报

该用户从未签到

20

主题

576

回帖

1195

积分

荣誉版主

积分
1195
 楼主| 发表于 2023-9-19 14:32:17 | 显示全部楼层
本帖最后由 tzz1983 于 2023-9-19 14:33 编辑

嗯, 我经常出写错这种错.
从广泛的整体面说, 我认为方法2确实会有"堆栈寻址的不适合",这个问题, 因为编绎器我们管不住它, 谁知道它会用什么方法来实现自己的目的
只用在局部是没问题的, 就像刚才说的中断那个位置, 前后代码都可控.
只调了一个外部函数, 就算是用到栈基寻址,调用过后是用新的栈基址了, 无关了

点评

同意说法  发表于 2023-9-19 14:39
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-19 14:58:42 | 显示全部楼层
PUSH  IE  
CLR EA



POP PSW
MOV   EA,C

这样前后都2条指令,更优。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    16 小时前
  • 签到天数: 165 天

    [LV.7]常住居民III

    0

    主题

    36

    回帖

    91

    积分

    注册会员

    积分
    91
    发表于 2023-9-19 15:04:24 | 显示全部楼层
    熊仔 发表于 2023-9-19 14:58
    PUSH  IE  
    CLR EA

    这样会改变PSW,会有问题

    点评

    POP PSW对应PUSH IE,是要把入栈的IE放到PSW里,恢复EA后会再次POP PSW(对应PUSH PSW)。  详情 回复 发表于 2023-9-19 15:19
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-19 15:13:45 来自手机 | 显示全部楼层
    不会,PSW,ACC都是可以操作的。判断的时候才用到。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-19 15:18:31 来自手机 | 显示全部楼层
    用户的指令不会中断,判断语句。
    有硬件中断才会,但是中断会入栈。

    如果会出错的话,那就没法调用函数了。函数里面都在操作这两个最为繁忙的寄存器

    点评

    是的,只要不用PSW中的标志位就没问题  发表于 2023-9-19 15:26
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 16:33 , Processed in 0.096850 second(s), 64 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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