-
UID:1023450
-
- 注册时间2011-12-16
- 最后登录2022-04-17
- 在线时间2350小时
-
-
访问TA的空间加好友用道具
|
序:本贴按理不该放在博物馆,但pc-1500早就在博物馆了,还是决定放在这里。 本贴对谁有用? 估计天朝也没几个要看这篇文章,也许真的没人需要下述研究成果。那就算作为一个档案材料归档吧,要是后人研究pc-1500的应用开发历史,也许有点用。 sharp pc-1500 是什么: 这是个上个世纪80年代初引入中国,并获得成功的在掌上计算机,全球拥有量很大,至今仍有人在用有人在玩,还能买到(当然是旧的或库存的)。 该计算器的cpu为sharp公司自行开发,8位CMS LH5801,由于sharp公开了LH5801的指令格式,才引来众多的研究开发者(80年代的教授,要是写一个关于pc-1500方面的应用论文,是很时髦的,让人觉得有水平);也衍生了许多附加功能(尤其是在测绘领域); 关于汇编语言: sharp公司从未公开过任何开发工具,哪怕是基本的汇编工具。 至今可用的工具也是较为全的工具是玩家 C.Gottheimer编制 LHtools(www.pc1500.com可下载),可以汇编及反汇编LH5801代码;该网站至今仍在维护,我没法将本文投到该网站,应为英文不好,如有热心者请代劳。 CPU: LH5801 有一个8位累加器: A ,5个16位寄存器 X Y U P S,其中 X Y U可对其高8位和低8位分别操作,P为16位程序指针,S为16位栈指针;基本和 8080/8085类似: intel8085 有一个8位累加器: A ,5个16位寄存器 BC DE HL P S,同样 BC DE HL 可独立操作,P为16位程序指针,S为16位栈指针; Z80 是个增强的8080,增加了两个16位变址寄存器 IX IY; 真因为没有官方的工具,所以汇编语言的助记方式不同: 我们可以发现,在 www.pc1500.com 网站上用的汇编语言,其助记码和sharp公司手册上推荐的竟然不同!也没有参考8080系列的方式,而采用了类似Z80的助记码,我们看到的源码如: PUSH HL LDI (DE) 初看以为就是Z80,难怪许多网上介绍 pc-1500时说LH5801是个Z80兼容机,可能是受了上述助记码的误导,其实根本不是,上述汇编指令生成的也根本不是Z80代码。 我对比了LHTOOLS汇编产生的机器代码,发现的对应关系如下: XH = B XL = C YH = D YL =E UH = H UL = L 他们是将 pc1500 汇编语言: ADC UH 写成 : ADC A,H 现在,如果我们将 ADC UH 理解成标准普通话,那么可以说 ADC A,H 就是方言,表达的是一会事;但我们初看一眼就傻眼了! 查阅天朝基本用“普通话”来写LH5801汇编语言,而 www.pc1500.com 都是用方言。我猜测,当时 www.pc1500.com那些研究LH5801的都是研究过Z80的,用这样的助记码是为了方便将Z80代码移植到pc1500上。 资料本来少得可怜,还得掌握两种不同的表示法,想了解玩玩的,显然很不方便,因此在这里我整理了一个方言对应官方普通话的对照表: 【MNEMO1 为类 Z80(方言),MNEMO2 为类 sharp推荐(官方),方便玩PC-1500的朋友。】 许多帖子在最后会说:希望你喜欢! 在这里,我只想说:希望有人喜欢! 看过的,请留下足迹!
|