部分答案:
这个在这里
jms MMWRS/MMRDS阅读
是一个子程序调用,只有在您的模拟PDP-4上运行了一些操作系统,而这些操作系统实际上提供了这些例程时,它才会起作用。
我不知道你使用了哪些文档,当然你也没有链接到它,但是当你查看Bitsavers时DEC磁带550手动提及
DECtape系统提供了三种类型的程序子例程,或者可以获得用于DECtape系统的程序子例程。第一个是用于搜索、读取和写入的基本子程序集。
和
DEC磁带子程序4-45-IO是允许程序员使用预先编写和测试的子程序读取、写入和搜索DEC磁带的程序。
所以您的示例代码需要这些。不,我不知道在哪里可以找到这些,但也许您的示例代码的源代码中有更多信息?
DEC代码在调用后将参数放入子例程调用中也很常见,所以我想
law 100/LAC(100)区块号jmp错误/错误返回10000/单位选择law 1000/1000,核心起始地址1777/1777号法律,核心最终演讲
是参数,一些参数的形式为法律
操作码。
注意,这还将从DECtape将一个完整的块读入指定的核心地址,从指定的单元跳到错误
如果有任何问题,请贴上标签。
它不会“读一个单词”。读一个单词也没有多大意义,因为你必须找到正确的方块等。
最后一个建议:如果你正在学习PDP-4,那么从键盘或纸带上的代码开始阅读可能更有意义(如果你还没有这样做,但你的问题看起来还没有)。
如果你想为PDP-4编写自己的操作系统,我建议你像在真正的PDP-4上开发时那样做:从纸带引导开始,从某种解释器读取键盘开始。然后,添加驱动程序。
这也应该教会你如何使用IOT命令。
MMWRS/MMRDS例程将是非常有用如果你能在某个地方找到它们,因为你基本上可以把它们逐字逐句地复制到你的驱动程序中。还要记住,simh上的DECtape是模拟的,不是真实的;在simh上运行的代码可能无法在真正的PDP-4上运行。尝试从头开始,仅以模拟作为参考,然后解决所有问题将有些痛苦。
simh网站链接到一个包含DECsys磁带的zip文件中,例程可能以二进制甚至源代码的形式存在。作为如何使用DECsy磁带的早期尝试,DECsys也很有趣。
如果您是DECtapes的新手,我还强烈建议您在PDP-8上试用OS/8,您可以在那里工作得很舒服。(我也在真正的PDP-8上做过这件事。顺便说一句,模拟缺少了你在真正硬件上的计时功能。磁带需要时间倒带,如果你的文件在磁带末尾以某种方式掉了,你会注意到的)。
PDP-7的磁带例程实际可用在这里,您可能需要对PDP-4进行一些修改。