S-BASIC解释程序磁带的复制

🏠 首页 《无线电》杂志 1990年 🔗 第9期 🔗 第28页 分类:无线电技术自学经验交流 🔗 孙宏伟 🔗

(孙宏伟)MZ-731型组合式个人电脑是一纯净电脑,即在使用BASIC语言前必须先将S-BASIC解释程序从磁带机上读入内存。为保险起见,应先复制一盒S-BASIC解释程序磁带,以备后用。但按照其说明书上有关的复制操作步骤,在键入J1108后无复制提示。检查1108H~1145H内存区,发现并无数据读入。因此无法实现复制操作。通过对其监控程序的分析,发现S-BASIC解释程序从磁带机载入内存后,立即执行7D79H开始的一段子程序(程序1)。程序1是将读入的1200H~7D78H内存中的数据转移到0000H~6D78H内存中去,并将0000H~1000H转换成RAM,然后执行0000H,并将6D79H~D000H的内存清零。这样一但用L命令将S-BASIC解释程序载入内存就无法用S命令将其复制下来。

根据上述情况,要想复制可在载入解释程序之前把程序2键入内存。然后键000显示PLAY后将BASIC解释程序载入内容。再键入S1200 8000 7D79写入文件名S-BASIC后,按回车键,整个复制过程结束。

程序1:

7D79: AF ;XOR A

7D7A: 110000 ;LD DE 0000

7D7D: CD330D ;CALL OD33

7D80: 2A7111 ;LD HL(7111)

7D83: 225412 ;LD(1254)HL

7D86: 110000 ;LD DE 0000

7D89: 217968 ;LD HL 6B79

7D8C: B7 ;OR A

7D8D: ED52 ;SBC HL DE

7D8F: 4D ;LD C,L

7D90: 44 ;LD B,H

7D91: 210012 ;LD HL 1200

7D94: D3E0 ;OUT(E0),A

7D96: EDB0 ;LDIR

7D98: C3000 ;JP 0000

程序2:

B000: CD2700 ;CALL 0027

R003: 3803 ;JR C 03

B005: CD2A00 ;CALL 002A

B008: DAFE00 ;JP C 00 FE

B00B: C3AD00 ;JP 00 AD