//显示程序设计
显示的编程步骤是:
①输入要显示的数据到地址,在NCTOOLS里,可以按 输入法 输入字符,汉字或符号,可以按 E C命令
输入16进制
②调用 清屏中断 INT $8A2E
③把要显示信息的数据全部送到相应的屏幕 RAM区域
④调用屏幕刷新中断,INT $8A15
这里,若是显示小字 (0402) = 01
否则 (0402) = 00
⑤为了使显示的信息可以被看到,我们一般还调用 读键中断,INT $C008
显示小字屏幕RAM区域(一共能显示6行,每行最大显示26个字符,13个汉字)
02C0 02C1 02C2 02C3 ... 02D9 第1行
02DA 02DB 02DC 02DD ... 02F3 第2行
02F4 02F5 02F6 02F7 ... 030D 第3行
030E 030F 0310 0311 ... 0327 第4行
0328 0329 032A 032B ... 0341 第5行
0342 0343 0344 0345 ... 035B 第6行
显示大字屏幕RAM区域(一共显示5行,每行最大显示20个字符,10个汉字)
02C0 02C1 02C2 02C3 ... 02D3 第1行
02D4 02D5 02D6 02D7 ... 02E7 第2行
02E8 02E9 02EA 02EB ... 02FB 第3行
02FC 02FD 02FE 02FF ... 030F 第4行
0310 0311 0312 0313 ... 0323 第5行
现在我们实现在屏幕上显示,以小字显示
我的每个幻想
总在每一个秋天飞扬
我的每个悲伤
总在每一个夜里生长
我的每次飞翔
总在漫无目的路上
我们按步骤来
1.输入信息,我们从地址2000开始,按输入法,输入
需要注意的是,由于每行的信息长度不够26个字节,所以我们要在后面补 20
例如 按 输入法 输入"我的每个幻想",然后我们还要用E C 命令输入26 - 12 = 14个 20
2. 然后我们开始写程序,从地址2100开始
A 2100
2100: INT $8A2E ;清屏
2103: LDX #$9C ;寄存器X的内容为要发送的字节数,这里是一个屏幕 26 * 6 = 156 即$9C
2105: LDA $1FFF,X ;读取信息数据
2108: STA $02BF,X ;送显示RAM
210B: DEX
210C: BNE $2105
210E: LDA #$01 ;确定是显示小字
2110: STA $0402
2113: INT $8A15 ;调用显示中断
2116: INT $C008 ;调用读键中断
2119: RTS
我们 G 2100,看看吧,是不是很漂亮.