开源精选 | 阿波罗11号指令模块和登月模块原始代码

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期分享的是阿波罗11号制导计算机(AGC)中指令模块(Comanche055)和登月模块(Luminary099)原始代码——Apollo 11。

开源精选 | 阿波罗11号指令模块和登月模块原始代码

从1967年 1月27日的阿波罗1号模拟发射开始,阿波罗计划历时9年,一共有17 个序列号的宇宙飞船,其中最出名的是阿波罗11号,它于 1969 年 7 月 16 日载着阿姆斯特朗在内的三名美国宇航员首次成功登陆月球。

目前,完成这场宏大登月计划的阿波罗11号制导计算机(AGC)中指令模块(Comanche055)和登月模块(Luminary099)原始代码已经全部在GitHub上开源,总共14.5万行代码,幕后共计30多万名技术人员。

下面这位女士是Margaret Hamilton,太空计划的软件工程主管,正站在一堆写满代码的纸边上。

开源精选 | 阿波罗11号指令模块和登月模块原始代码

AGC代码第一次公开是在2003年,通过转录MIT博物馆收藏的纸质拷贝文件,Paul Fjeld完成了代码的数字化工作,并由专门研究技术和科学史的学者Deborah Douglas完成整理,最后由前NASA实习生Chris Garry将软件完整地上传到了GitHub。

开源精选 | 阿波罗11号指令模块和登月模块原始代码

让我们欣赏一下这些代码:

  • 指令模块

开源精选 | 阿波罗11号指令模块和登月模块原始代码

  • 登月模块

开源精选 | 阿波罗11号指令模块和登月模块原始代码

这些代码都是使用汇编语言来写的,尽管当时资源有限,但阿波罗计算机在机器代码级进行了精心编程,每条指令都规定了一项功能,它不需要现代编程中将高级语言翻译成低级代码的多个抽象层,目前NASA联合MIT和其他一些机构共同资助了一个项目,里边提供了阿波罗登月计划命令舱和登月舱中使用的阿波罗制导计算机(AGC)模拟器和其他一些资料:

  • 寄存器图纸

开源精选 | 阿波罗11号指令模块和登月模块原始代码

  • 时间脉冲器纸

开源精选 | 阿波罗11号指令模块和登月模块原始代码

  • 电路图

开源精选 | 阿波罗11号指令模块和登月模块原始代码


开源精选 | 阿波罗11号指令模块和登月模块原始代码


  • 模拟器界面

开源精选 | 阿波罗11号指令模块和登月模块原始代码

  • 运行效果

开源精选 | 阿波罗11号指令模块和登月模块原始代码


开源精选 | 阿波罗11号指令模块和登月模块原始代码

—END—


原文始发于微信公众号(开源技术专栏):开源精选 | 阿波罗11号指令模块和登月模块原始代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/54009.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!