My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
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
# Copyright: Public domain.
# Filename: SYSTEM_TEST_STANDARD_LEAD_INS.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: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 370-372
# Mod history: 2009-05-17 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
#
# 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 info@sandroid.org
# 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 370
EBANK= XSM

BANK 33
SETLOC E/PROG
BANK

COUNT* $$/P07

# SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS.
#
# E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE.
#
# THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4
# IS NOT POSSIBLE.
#
# THE CALLING SEQUENCE IS
#
# TC BANKCALL
# CADR E/BKCALL
# CADR ROUTINE # WHERE TO WANT TO GO IN FIXED.
# RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q.
# RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL.
# RETURN HERE FROM DISPLAY ENTER OR RECYCLE.
#
# THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND
# OTHER EMEMORY PROGRAMS.
#
# A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL.

E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN
DXCH EBUF2 # SAVE DP RETURN.
INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR.
CA BBANK
MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY)
ADS EBUF2 +1 # FORM BBCON. (WAS FBANK)
NDX EBUF2
CA 0 -1 # GET CADR OF ROUTINE.
TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN
# AND RESTORING A + L.
TC +4 # TX Q, V34, OR BAD STALL RETURN.
TC +2 # PROCEED OR GOOD STALL RETURN.
INCR EBUF2 # ENTER OR RECYCLE RETURN
INCR EBUF2
E/SWITCH DXCH EBUF2
DTCB

# Page 371
# E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE.
#
# THE CALLING SEQUENCE IS...
#
# RTB
# E/CALL
# CADR ROUTINE # THE INTERPRETIVE SUBROUTINE YOU WANT
# # RETURNS HERE IN INTERPRETIVE.

E/CALL LXCH LOC # ADRES -1 OF CADR.
INDEX L
CA L # CADR IN A.
INCR L
INCR L # RETURN ADRES IN L.
DXCH EBUF2 # STORE CADR AND RETURN
TC INTPRET
CALL
EBUF2 # INDIRECTLY EXECUTE ROUTING. IT MUST
EXIT # LEAVE VIA RVQ OR EQUIVALENT.
LXCH EBUF2 +1 # PICK UP RETURN.
TCF INTPRET +2 # SET LOC AND RETURN TO CALLER.

# Page 372
# E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS.
#
# THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED.
#
# THE CALLING SEQUENCE IS
#
# INHINT
# ...
# CA WAKEADR # ADDRESS OF SLEEPING JOB
# TC IBNKCALL
# CADR E/JOBWAK
# ... # RETURNS HERE
# RELINT # IF YOU DID AND INHINT

BANK 33
SETLOC E/PROG
BANK

COUNT* $$/P07

E/JOBWAK TC JOBWAKE # ARRIVE WITH ADRES IN A.
CS BIT11
NDX LOCCTR
ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES.
TC RUPTREG3 # RETURN

Change log

r390 by jim.lawton on Sep 3, 2009   Diff
Set eol-style on AGC sources to native.
Go to: 
Project members, sign in to write a code review

Older revisions

r259 by i...@sandroid.org on Jul 21, 2009   Diff
AGC source code renamed from *.s to
*.agc and AEA source code
renamed from *.s to *.aea to take
advantage of the fact that
Google has implemented syntax
...
r171 by i...@sandroid.org on May 17, 2009   Diff
Mostly new Luminary099 files, and some
tweaks to a existing AGC source files.

All revisions of this file

File info

Size: 3650 bytes, 125 lines

File properties

svn:eol-style
native
Powered by Google Project Hosting