- 注册时间
- 2006-7-15
- 最后登录
- 1970-1-1
|
WindyBell在3.6版的上面写了个3ktools(其实就是反汇编了原来的3K工具集.bin,再自己改......),想调用Debug3K.发现立天的Debug3K中,退出是用的 Int $0312,结果运行时我一按 网络 就退出整个程序了.
请问有什么方法可以让程序遇到int$0312时只退出子程序,而不退出调用它的程序?
下面是我反汇编出来的调用Debug3K的代码(其实就是先读nand再跳转)
LDA #$54
STA $0888
LDA #$0C
STA $0889
LDA #$00
STA $088A
STA $088B
STA $F0
STA $09D2
LDA #$20
STA $09D3
STA $F1
INT $0505
JMP $2010
------------------------------
WindyBell写的:
------------------------------
;------------------
;系统debug
MENU_DEBUG:
.DB $09,$02
.DW SysDebug,HELPDEBUG
.DW Debug3K,HELP3K
.DB "1.系统Debug",$FF
.DB "2.Debug3K",$FF
HELPDEBUG:
.DB "警告! 千万不要用F2+输入,否则Nand Flash Error! xxxx 显示xxxx的内容 <输入> 连续显示内存 xxxx:yy 修改xxxx的内容为yy(<:>以代替)xxxx g 运行xxxx处的程序(<g>用<上>代替) xxxx l 从xxxx处开始反汇编 r 察看寄存器状态 q 退出"
.DW $0000
HELP3K:
.DB "帮助文件地址 3660 v 3660 跳转即可看到.想保存为txt文档,按以下步骤操作: 1.<w> 输入文件夹名为 文本文件 2.<s> 输入文件名(后 缀.txt),position:0,save in:3660,length:069C"
.DW $0000
;------------------
;主体
Debug:
LDX #<MENU_DEBUG
LDY #>MENU_DEBUG
INT $CB02
RTS
;------------------
;系统Debug
SysDebug:
INT $CB01
RTS
;------------------
;立天版Debug
Debug3K:
INT $C729
LDA #$54
STA $0888
LDA #$0C
STA $0889
LDA #$00
STA $088A
STA $088B
STA $F0
STA $09D2
LDA #$20
STA $09D3
STA $F1
INT $0505
JSR $221D
RTS |
|