[其他ST产品] 请问ST7的PUSH和POP的问题

[复制链接]
3526|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 | 显示全部楼层

了解,谢谢!

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

本版积分规则

91

主题

187

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部