Le code source d’Apollo 11, qui a permis l’alunissage historique de 1969, a été principalement dirigé par Margarette Hamilton, pionnière de l’ingénierie logicielle. Composé d’environ 130 000 lignes (en assembleur) et truffé de commentaires humoristiques, ce programme tournait sur un ordinateur extrêmement limité dont la mémoire était littéralement tissée à la main par des ouvrières
. Bien qu’il soit disponible dans le domaine public sur GitHub depuis des années, il continue d’être analysé, notamment par des intelligences artificielles qui y redécouvrent des anomalies déjà identifiées par les ingénieurs d’époque. Cette architecture robuste a prouvé son efficacité en gérant des surcharges critiques grâce à une priorisation rigoureuse des tâches lors de la descente lunaire.
[!Note]
Pour ceux qui ont fait un peu d’assembleur dans leur jeunesse, comme moi, ça va leur parler !
# RESTRICTIONS:
# 1/ACCS MUST BE CALLED BY BANKCALL
# EBANK IS SET TO 6, BUT NOT RESTORED.
# Page 1486
BANK 20
SETLOC DAPS3
BANK
COUNT* $$/DAPAO
EBANK= AOSQ
# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSET WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB.
# IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF
# NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED.
1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING.
TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS.
TS AOSR
TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST
TS ALPHAR
1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL.
CADR 1/ACCS +2 # SKIP EBANK SETTING.
TC ENDOFJOB
1/ACCS CA EBANK6 # ***** EBANK SET BUT NOT RESTORED *****
TS EBANK
TC MAKECADR # SAVE RETURN SO THAT BUF2 MAY BE USED
TS ACCRETRN