恭喜,你发布的帖子
发布于 2016-05-25 16:12:37
10楼
暗殇 做法还是比较可行的,也是高效的!可以借鉴程序块使能功能(EN)。一般子程序调用可以设置一个使能或者启动位,当该位为FALSE时,可以复位子程序中所有的中间变量以及输出变量,同时执行RET指令,这样不仅系统不容易出错,而且效率高,执行速度快很多!
其实对于楼主的问题,带个参数进行首次执行判断进行选择性复位也未尝不可,毕竟有些数据不是周期都需要复位的,比如一些运算寄存器等。
我想先看看暗殇的程序结构才好讨论。完全在子程序里做,我觉得不可能。
带参数进去,不也是等于在程序外头做吗。
还有。这种结构并不高效。眼看好像进去子程序什么都不做就出来了。好像省了很多时间。可是,每调用一次子程序,先把in参数copy到L区,然后才执行子程序的第一条指令。退出之后要把L区的out参数copy到out口才结束子程序。这个过程是必然的不可或缺的。除非没有参数。
这里高效和易读之间会有分歧。
所以,我想先看看暗殇的程序结构才好讨论。
请填写推广理由:
分享
只看
楼主