运行这条命令,命令处理程序会从内存地址1020h处开始,把35、4F等十六进制表示的字节写入内存中。要完成这项工作,键盘处理程序需要把ASCII码转换成字节一前面讲过把字节转换成ASCII码,这里其实就是它的逆变换。
接下来是D命令。它是以D开头的文本行,此命令用来把内存中的一些字节显示(Display)出来。例如输入到屏幕上的一行内容如下所示:
D 1030
接收到命令后,命令处理程序会把从地址1030h开始的11个字节的内容显示出来(这里之所以说是11个字节,是因为在一个每行可以容纳40个字符的显示器上,除去显示命令与地址标识,后面能显示的也只有这么多了)。有了这条命令,就可以很方便地查看内存中的内容了。
最后是R命令。它是以R开头的文本行,表示运行(Run)。该命令的形式如下:
R 1000
执行此命令意味着“处理器会运行从地址1000h开始的一段程序”。首先命令处理程序把1000h存储在寄存器对HL中,接着执行指令PCHL,这条指令的功能是,把HL所存储的值加载到程序计数器中,然后跳转到程序计数器指向的地址并运行程序。
键盘处理程序及命令处理程序简化了很多工作,可以说是计算机发展的一个里程碑。一旦使用了它,就无须理会那个令人难以忍受的控制面板了。我们不得不承认,使用键盘输入更简单、更快、更好,这是其他方法无法媲美的。
但是,你仍然没有摆脱之前的老问题,一旦关掉电源,你辛辛苦苦所输入的数据会全部消失。当然,你可以把所有新代码存到只读存储器(ROM)中。还记得上一章中,我们讲到的那个ROM芯片吗?它就包含了把ASCII码字符显示到视频显示器上所需的全部点阵模式。这里假定,这些数据在厂家制造芯片时已经配置好了,当然你也可以对ROM芯片进行编程。可编程只读存储器(Programmable Read-OnlyMemory,PROM)只能编程一次;而可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)可重复擦除和写入,该芯片的正面开有一个玻璃窗口,让紫外线透过这个孔照射内部芯片就可以擦除其中的内容了。
回忆前面曾讲过的内容,你一定会想起,RAM板与一个DIP开关相连,有了这个开关就可以设定RAM板的起始地址了。8080系统在初始化时,其中一个RAM板的起始地址被设置为0000h。但是如果有ROM的话,这个地址就会被其占用,而RAM板则转到更高的地址。
22 操作系统
351