(孙宏伟)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