//等级棒
实现下面的形式
中断调用: INT $C314
入口参数: 寄存器X 放参数表地址低8位
寄存器Y 放参数表地址高8位
参数表定义:
偏移 00: 级别个数
第一级别文字说明
第二级别文字说明
第三级别文字说明
......
第N级别文字说明
第一级别程序入口地址
第二级别程序入口地址
第三级别程序入口地址
......
第N级别程序入口地址
说明: 级别文字说明固定为20个字节,不够用20补充,后面不紧接 FF
例如 做三个等级,当选择第1等级,立即数01 送地址3000
当选择第2等级,立即数02 送地址3000
当选择第3等级,立即数03 送地址3000
我们先实现立即数送地址3000的3个程序
;立即数01送地址3000
A 2000
2000:LDA #$01
2002:STA $3000
2005:RTS
;立即数01送地址3000
A 2008
2008:LDA #$02
200A:STA $3000
200D:RTS
;立即数01送地址3000
A 2010
2010:LDA #$03
2012:STA $3000
2015:RTS
我们先做表,从地址2018开始
E C 2018,输入 03
输入法输入 "等级:一级",然后E C 命令输入 20 20 20 20 20 20 20 20 20 20 20
输入法输入 "等级:二级",然后E C 命令输入 20 20 20 20 20 20 20 20 20 20 20
输入法输入 "等级:三级",然后E C 命令输入 20 20 20 20 20 20 20 20 20 20 20
E C 命令输入
00 20 08 20 10 20
我们表已经做完了
我们实现主程序,从地址2060开始
A 2060
2060: LDA #$18
2062: LDY #$20
2064: INT $C314
2067: RTS