forked from chrislgarry/Apollo-11
-
Notifications
You must be signed in to change notification settings - Fork 3
/
P12.s
245 lines (218 loc) · 4.32 KB
/
P12.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# Copyright: Public domain.
# Filename: P12.agc
# Purpose: Part of the source code for Luminary 1A build 099.
# It is part of the source code for the Lunar Module's (LM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Hartmuth Gutsche <[email protected]>.
# Website: www.ibiblio.org/apollo.
# Pages: 838-842
# Mod history: 2009-05-23 HG Transcribed from page images.
#
# This source code has been transcribed or otherwise adapted from
# digitized images of a hardcopy from the MIT Museum. The digitization
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
# the Museum. Many thanks to both. The images (with suitable reduction
# in storage size and consequent reduction in image quality as well) are
# available online at www.ibiblio.org/apollo. If for some reason you
# find that the images are illegible, contact me at [email protected]
# about getting access to the (much) higher-quality images which Paul
# actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
# 16:27 JULY 14, 1969
# Page 838
BANK 24
SETLOC P12
BANK
EBANK= DVCNTR
COUNT* $$/P12
P12LM TC PHASCHNG
OCT 04024
TC BANKCALL
CADR R02BOTH # CHECK THE STATUS OF THE IMU.
TC UPFLAG
ADRES MUNFLAG
TC UPFLAG # INSURE 4-JET TRANSLATION CAPABILITY.
ADRES ACC4-2FL
TC UPFLAG # PREVENT R10 FROM ISSUING CROSS-POINTER
ADRES R10FLAG # OUTPUTS.
TC CLRADMOD # INITIALIZE RADMODES FOR R29
TC DOWNFLAG # CLEAR RENDEVOUS FLAG FOR P22
ADRES RNDVZFLG
CAF THRESH2 # INITIALIZE DVMON
TS DVTHRUSH
CAF FOUR
TS DVCNTR
CA ZERO
TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA IS NOT READY.
CAF V06N33A
TC BANKCALL # FLASH TIG
CADR GOFLASH
TCF GOTOP00H
TCF +2 # PROCEED
TCF -5 # ENTER
TC PHASCHNG
OCT 04024
TC INTPRET
CALL # INITIALZE WM AND /LAND/
GUIDINIT
SET CALL
FLPI
P12INIT
# Page 839
P12LMB DLOAD
(TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE.
STODL TGO
TIG
STCALL TDEC1
LEMPREC # ROTATE THE STATE VECTORS TO THE
VLOAD MXV # IGNITION TIME.
VATT
REFSMMAT
VSL1
STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS.
RATT
MXV VSL6
REFSMMAT
STCALL R # COMPUTE R = POS(TIG)*2(-24) M.
MUNGRAV # COMPUTE GDT1/2(TIG)*2(-T)M/CS.
VLOAD UNIT
R
STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP.
YCOMP
SR DCOMP
5D
STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76
VINJNOM
STODL ZDOTD
RDOTDNOM
STORE RDOTD
EXIT
TC PHASCHNG
OCT 04024
NEWLOAD CAF V06N76 # FLASH CROSS-RANGE, AND APOLUNE VALUES.
TC BANKCALL
CADR GOFLASH
TCF GOTOP00H
TCF +2 # PROCEED
TCF NEWLOAD # ENTER NEW DATA.
CAF P12ADRES
TS WHICH
TC PHASCHNG
OCT 04024
TC INTPRET
DLOAD SL
XRANGE
5D
DAD
# Page 840
Y
STOVL YCO
UNIT/R/
VXSC VAD
49FPS
V1S
STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/)
DOT SL1
UNIT/R/
STOVL RDOT # RDOT = 2(-7)
UNIT/R/
VXV UNIT
QAXIS
STORE ZAXIS1
SETGO
FLVR
ASCENT
P12RET DLOAD
ATP # ATP(2)*2(18)
DSQ PDDL
ATY # ATY(2)*2(18)
DSQ DAD
BZE SQRT
YAWDUN
SL1 BDDV
ATY
ARCSIN
YAWDUN STOVL YAW
UNFC/2
UNIT DOT
UNIT/R/
SL1 ARCCOS
DCOMP
STORE PITCH
EXIT
TC PHASCHNG
OCT 04024
TC DOWNFLAG
ADRES FLPI
INHINT
TC IBNKCALL
CADR PFLITEDB
RELINT
TC POSTJUMP
CADR BURNBABY
P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND
# Page 841
(1/DV)A # P71.
STORE 1/DV3
STORE 1/DV2
STODL 1/DV1
(AT)A
STODL AT
(TBUP)A
STODL TBUP
ATDECAY
DCOMP SL
11D
STORE TTO
SLOAD DCOMP
APSVEX
SR2
STORE VE
BOFF RVQ
FLAP
COMMINIT
COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70
HINJECT # AND P71 IF IT DOES NOT FOLLOW P70.
/LAND/
STODL RCO
HI6ZEROS
STORE TXO
STORE YCO
STORE RDOTD
STOVL YDOTD
VRECTCSM
VXV MXV
RRECTCSM
REFSMMAT
UNIT
STORE QAXIS
RVQ
P12ADRES REMADR P12TABLE
SETLOC P12A
BANK
COUNT* $$/P12
GUIDINIT STQ SETPD
TEMPR60
0D
VLOAD PUSH
UNITZ
RTB PUSH
LOADTIME
CALL
RP-TO-R
# Page 842
MXV VXSC
REFSMMAT
MOONRATE
STOVL WM
RLS
ABVAL SL3
STCALL /LAND/
TEMPR60
49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER
VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS)
RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS