这可能是一个非常奇怪的问题,但我一直在小人电脑上做一些工作,这有点让我很烦恼,不仅没有4号操作码,而且互联网上绝对没有关于为什么。
操作码变为0-9但跳过4.是否从来没有任何以4开头的三位数代码?如果有的话会发生什么?
那里有没有人可以帮助回答这个问题?我发现它太奇怪了。 谢谢!
答案 0 :(得分:0)
https://web.archive.org/web/20131211112403/http://www.acs.ilstu.edu/faculty/javila/lmc/
这列出了完全不同的指令集(例如输入/输出为500/600)。
答案 1 :(得分:0)
小矮人计算机(LMC)最初并未作为完整规范出现。它更是一种模型,一种范式。还有一些未定义的事情,例如遇到未使用的操作码4时应该发生的事情。 LMC的目的是向学生介绍机器代码和指令集的概念,并证明计算机的功能并非来自复杂性。目的不是要解释设计不良的代码会发生什么的所有细节。
未定义应该发生什么。在具体的实现中,可以做出选择:要么导致程序异常终止(如声明here),要么将其作为空操作指令执行,或者仍然会做其他事情(极不可能)。主要信息是程序不应依赖特定的实现选择,并且从不会遇到这样的操作码。如果您真的想知道会发生什么,那么应该在 specific 实现(模拟器)随附的文档中找到该规范。
没有4个未使用的特殊原因。最初的LCM(在1965年)使用的设置略有不同,似乎使用了操作码4 。稍后介绍了比较流行的一组,并在“计算机硬件和系统软件的体系结构”()(Irv Englander)中进行了介绍。 LCM的其他几种实现描述了操作码4在其中得到使用的扩展(例如here)。