近日,NASA正式公开了帮助阿波罗11号登月的计算机软件代码,任何人都可以在GitHub上查阅、下载。
此次公开的代码有两部分,一是“Comanche055”,指令模块(CM)中的Colossus 2A部分,二是“Luminary099”,登月模块(LM)中的Luminary 1A部分。都曾用于阿波罗11号的制导计算机(AGC),均采取yaYUL汇编说话。
Comanche055中第一个惹人存眷的文件是ALARM_AND_ABORT.agc。
这些代码由虚拟阿波罗制导计算机项目(Virtual AGC)团队与麻省理工学院(MIT)博物馆合作完成的数字化处理,都是从印刷本电子化图片抄写、改编而来的。
假如你不知足于只是看看代码,可以借助这个Virtual AGC对象,测验测验进行编译,Windows XP、Mac OS X 10.3、Linux和部分FreeBSD体系都可以跑。


网上还传播着另一段出色的代码示例,来自阿波罗11号导航轨迹计算法度榜样,个中包含最为关键的30行汇编代码,主如果计算正弦、余弦等超出函数。


20世纪60年代的阿波罗登月计算机,其设备和机能如今看起来不值一提,比如AGC只有3840字节(3.75KB)的内存、69120字节(67.5KB)的存储,每秒钟只能履行最多8.5万条指令。
文件开首是惯例的代码解释引言,随后就是代码的用处,并且从文件名也能直不雅地看出,它用于记录警报状况,在须要时点亮警示灯,处理各类中断级警报与非中断类警报。
它的体积和如今一台桌面游戏台式机差不多,达到了61.595 x 31.580×15.174厘米,重量则有31.8公斤。
指令舱部分须要两个DSKY控制器,登月舱则有一个。

如斯简陋的套件下,科学家和工程师们完成了史无前例的豪举,实在令人敬佩。再想想今天,阿尔忒弥斯2号猎户座飞船上的微软Outlook上天就罢工……唉。


发表评论 取消回复