标题:
紧急求助,搞不定SWI呀,急
[打印本页]
作者:
mail_cj
时间:
2008-2-9 20:47
标题:
紧急求助,搞不定SWI呀,急
我正在修改清华的HC08的监牢程序,其它SWI中断处理程序一段搞不定呀:
原程序为:
BRK_SWI_INT:
SEI ;关中断
LDA #$0 ;禁止断点中断,清除断点中断标志
STA BRKSCR
PSHH
LDHX #DIS_INFO
TXA
STA 6,SP ;断点地址换为DIS_INFO
PSHH
PULA
STA 5,SP ;断点地址换为DIS_INFO
PULH
RTI ;退出中断,执行显示内容子程序想当于JMP指令
DIS_INFO: ;显示内容子程序,无返回
PSHA
LDA #$A8 ;发送引导符A8
JSR SEND_BYTE ;发送一字节
LDA U_RESET_H ;重新从头运行用户程序
PSHA
PULH
LDA U_RESET_L
TAX
LDA #$80 ;断点允许,等待激活
STA BRKSCR ;断点控制寄存器
CLI
JMP ,X ;执行用户程序
RTS ;此句实际执行不到
SEND_BYTE:
BRCLR 7,SCS1,*
STA SCDR
RTS
他是改变堆栈中PC对应值在RTI指令后跳到DIS_INFO:执行,我想改成:
BRK_SWI_INT:
SEI ;关中断
LDA #$0 ;禁止断点中断,清除断点中断标志
STA BRKSCR
PSHH
//把与串口的通信放到SWI服务程序中做了,可就是无法与串口通信,一点反应也没有
LDA #$A8 ;发送引导符A8
JSR SEND_BYTE ;发送一字节
//去除函数调用改成这样也不行,PC端就是收不到A8,好像没有发一样,难道SWI中断服务程序中有什么限制?当时清华的为什么不搞到SWI中断服务程序中去处理呢?
LDA #$A8 ;发送引导符A8
BRCLR 7,SCS1,*
STA SCDR
PULH
RTI ;退出中断,执行显示内容子程序想当于JMP指令
作者:
mail_cj
时间:
2008-2-9 20:48
晕,输入错了,对不起,应该是:我正在修改清华的HC08的监控程序,其中SWI中断处理程序一段搞不定呀:
作者:
mail_cj
时间:
2008-2-9 20:50
完整程序请参见,我也是用于GP32的:http://www.mcublog.com/blog/user1/1294/archives/2005/1356.html
作者:
mail_cj
时间:
2008-2-10 21:55
那位大哥能帮忙看看呀?
作者:
strongchen
时间:
2008-2-15 14:21
不清楚你的问题到底是什么。SCI端口有没有信号?SCI发送指令是否执行?
作者:
mail_cj
时间:
2008-2-18 01:19
SCI通信正常,但把SCI通信部分放到SWI中断服务程序中执行就没有反应了
作者:
strongchen
时间:
2008-2-18 10:37
有没有调试过,程序是怎么跑的?是在哪里死循环还是跑飞了?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0