CALL -151在APPLE ][上有什么作用?

26
很久以前,我有一台Apple ][电脑。 我还记得一个指令叫做-151, 但我不记得它是用来做什么的了?

好怀念的日子!我只有7岁时就开始玩呼叫-151命令了。虽然不知道自己在做什么,但还是非常开心! :-) - z0mbi3
5个回答

26

是的,Call -151 已成功进入机器码监视器了,但使用 PR#6 和 IN#6 引导软盘有什么区别呢? - SmacL
如果您键入PR#6,将加载插槽6的引导代码,这是磁盘驱动器, 如果您已在汇编程序中,则可以键入C600G,这将开始加载与PR#6相同的引导代码。来源书籍“Beneath Apple DOS” - Charles Faiga
我认为“Elite”是你想要的。 - Jeremy Visser

12

输入 -151 进入监视器,3D0G 可以带你回到 BASIC 界面,在监视器中键入插槽号再按 Ctrl-P 将启动该设备。20 年后能记住这些真是太神奇了!


1
有趣的是,年轻时所知道的事情,在新的光芒下看到后,突然就豁然开朗了。我不知道关于呼叫-155的事情。如果六岁的我看到了这个,他会认为这只是另一个魔法数字。现在的我则说:“哦,当然。因为它比原来高四个字节;它可能会进入一个响铃例程,然后返回并立即在监视器顶部继续执行。基本的落入。” - fixermark

3
我可以补充说明一下,-151是苹果公司表示十六进制数字的方式,应该指的是$FF69(在Apple II中使用的十六进制语法即0xFF68)。CALL是一个Apple Basic命令,它调用由参数(这里是-151)给出的汇编子程序。我记得,这个命令可以接受负十进制值作为地址,用二进制补码解释来表示$8000-$FFFF之间的地址。
对于那些感兴趣的人,这里有Apple ]['s监视器rom清单(使用6502汇编),地址$FF69具有标签MONZ,这是处理来自用户的机器代码处理命令的命令提示符的开始。其中一个使用“*”作为提示符的非常原始的命令提示符。 Apple II系统监视器

一些ROM中还有一个位于$F666的基本迷你汇编器。 - Mike Lowery

2

哇,这真是过去的回忆。我认为它已经进入了监视器ROM(我在选择整数BASIC和监视器之间犹豫不决,但我相当确定是监视器)。

您可以下载一个Apple II模拟器并查找。


2
作为一个旁注,这个负数与正确的CALL 65385之所以不同,是因为Apple II的第一个BASIC版本被称为Integer BASIC。它只能理解从 -32768 到 32767 的带符号16位整数值,因此在通常的正数方式下直接寻址超过32767的内存是不可能的。
如果你在Integer BASIC中尝试实际键入POKE 49200,0或CALL 65385,你会收到类似">32767 ERR"的消息。
当引入支持浮点数的替代Microsoft Applesoft BASIC时,他们包括了对旧版Integer BASIC程序的某种程度的向后兼容性,支持负的POKE值。尽管这种兼容性有限,因为Applesoft缺乏整数 BASIC 中的其他编程特性,例如MOD余数运算。
由于早期Integer BASIC编程方法的强烈影响,有许多PEEK POKE和CALL命令通常只通过其十六进制和负十进制值而不是其正十进制值来识别。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接