您当前的位置:五五电子网电子知识电工技术电工文摘在MAXQ2000数据存储器中实现软堆栈 正文
在MAXQ2000数据存储器中实现软堆栈

在MAXQ2000数据存储器中实现软堆栈

点击数:7290 次   录入时间:03-04 11:33:32   整理:http://www.55dianzi.com   电工文摘
上面的代码导致在推入或者弹出(或者call,或者ret)操作之前检查当前的堆栈位置。如果探测到下溢或者上溢错误,不同的应用程序有不同的响应。一般情况下,这类错误只会出现在应用程序开发阶段;如果代码编写正确,不会出现这类错误。如果的确出现了错误,一般将其考虑为重大错误,就像使用硬堆栈时出现下溢/上溢错误。对这类错误可能的响应包括暂停,发送错误消息,或者闪烁LED。在开发阶段,一个好的方法是两个程序中的每一个都在MAX-IDE中设置断点(例如,在“Error handler should be implemented here”行中),如果出现下溢或者上溢,立即发出反馈。

但是,应用程序有时候也可以从堆栈下溢或者上溢中恢复(例如,重新装入和从头重新启动应用程序子任务)。在这种情况下,需要简单地设置一个标志,指示出现了堆栈错误。可选的这类标志包括位于PSF寄存器中的两个通用标志(GPF0和GPF1)。由于有两个位标志,因此,其中一个可以用于指示上溢,另一个用于指示下溢。

结论

MAX-IDE强大的宏预处理功能实现了MAXQ2000以及其他MAXQ20微控制器数据存储器软堆栈的直接替换。这一软堆栈使子程序更加模块化,可重复使用,有助于大规模汇编应用程序的开发。堆栈还支持堆栈错误的探测。

上一页  [1] [2] 


本文关键字:存储器  电工文摘电工技术 - 电工文摘

《在MAXQ2000数据存储器中实现软堆栈》相关文章>>>