恭喜,你发布的帖子
发布于 2021-06-11 11:31:28
1楼
在每次CPU重启后,“exFirstscanFalse”、“exFirstscan”使用的寄存器(比如M)被系统复位为0。
所以,在首周期,network1是满足置位条件的,“exFirstscan”被置位为1,而后在该程序块使用该首次标志位执行相关逻辑。在最后,再使用无条件指令对“exFirstscanFalse”赋值,之后的周期中就是您描述的因为操作数状态为1,不满足置为条件,“exFirstscan”在之后的扫描周期中始终为0。
练习中给出的是代码框架,中间是没有用户程序的,CPU执行周期是很短的,所以您在监视程序时看的应该都不是首次执行的状态,您可以在中间的network加入一些使用“exFirstscan”作为条件的赋值指令等就可以观察到该位的作用啦。
请填写推广理由:
分享
只看
楼主