打印
[其他ST产品]

请问ST7的PUSH和POP的问题

[复制链接]
2842|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
juanhao|  楼主 | 2007-5-7 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于进中断程序里会改变PCDR口的值,但我想在退出中断的时候恢复进中断前的PCDR,时候可以在刚进中断时候用PUSH PCDR,然后退出的时候用POP PCDR还原?
沙发
浪淘沙| | 2007-5-7 17:18 | 只看该作者

关于ST7的PUSH和POP的问题

ST7的PUSH和POP只能针对ST7的核心内部寄存器(A,X,Y和CC)操作,不能对RAM或任何外设的寄存器进行操作;所以你如果要保存任何端口的值时,必须要先把端口的值读到A寄存器中,然后再PUSH到堆栈中,恢复端口状态时也要通过A寄存器进行。

例:

LD    A,PCDR
PUSH  A
....
....
POP   A
LD    PCDR,A

使用特权

评论回复
板凳
juanhao|  楼主 | 2007-5-7 17:33 | 只看该作者

了解,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

187

帖子

0

粉丝