Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Asm/Apollo-11/Luminary099/     Datei vom 11.9.2026 mit Größe 5 kB image not shown  

Quelle  RTB_OP_CODES.agc   Sprache: Apollo

 

# Copyright: Public domain.
# Filename: RTB_OP_CODES.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: 1397-1401
# Mod history:  2009-05-10 SN   (Sergio Navarro).  Started adapting
# from the Luminary131/ file of the same
# name, using Luminary099 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 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-061
# 16:27 JULY 14, 1969

# Page 1397
  BANK 22
  SETLOC RTBCODES
  BANK

  EBANK= XNB
  COUNT* $$/RTB

# LOAD TIME2, TIME1 INTO MPAC:

LOADTIME EXTEND
  DCA TIME2
  TCF SLOAD2

#     CONVERT THE SINGLE PRECISION 2'S COMPLEMENT NUMBER ARRIVING IN MPAC (SCALED IN HALF-REVOLUTIONS) TO A
# DP 1'S COMPLEMENT NUMBER SCALED IN REVOLUTIONS.

CDULOGIC CCS MPAC
  CAF ZERO
  TCF +3
  NOOP
  CS HALF

  TS MPAC +1
  CAF ZERO
  XCH MPAC
  EXTEND
  MP HALF
  DAS MPAC
  TCF DANZIG  # MODE IS ALREADY AT DOUBLE-PRECISION

#     FORCE TP SIGN AGREEMENT IN MPAC:

SGNAGREE TC TPAGREE
  TCF DANZIG

#     CONVERT THE DP 1'S COMPLEMENT ANGLE SCALED IN REVOLUTIONS TO A SINGLE PRECISION 2'S COMPLEMENT ANGLE
# SCALED IN HALF-REVOLUTIONS.

1STO2S  TC 1TO2SUB
  CAF ZERO
  TS MPAC +1
  TCF NEWMODE

#     DO 1STO2S ON A VECTOR OF ANGLES:

V1STO2S  TC 1TO2SUB  # ANSWER ARRIVES IN A AND MPAC.

  DXCH MPAC +5
  DXCH MPAC
  TC 1TO2SUB
# Page 1398
  TS MPAC +2

  DXCH MPAC +3
  DXCH MPAC
  TC 1TO2SUB
  TS MPAC +1

  CA MPAC +5
  TS MPAC

TPMODE  CAF ONE  # MODE IS TP.
  TCF NEWMODE

#     V1STO2S FOR 2 COMPONENT VECTOR. USED BY RR.

2V1STO2S TC 1TO2SUB
  DXCH MPAC +3
  DXCH MPAC
  TC 1TO2SUB
  TS L
  CA MPAC +3
  TCF SLOAD2

#     SUBROUTINE TO DO DOUBLING AND 1'S TO 2'S CONVERSION:

1TO2SUB  DXCH MPAC  # FINAL MPAC +1 UNSPECIFIED.
  DDOUBL
  CCS A
  AD ONE
  TCF +2
  COM   # THIS WAS REVERSE OF MSU.

  TS MPAC  # AND SKIP ON OVERFLOW.
  TC Q

  INDEX A  # OVERFLOW UNCORRECT AND IN MSU.
  CAF LIMITS
  ADS MPAC
  TC Q

#     THE FOLLOWING ROUTINE INCREMENTS IN 2S COMPLEMENT THE REGISTER WHOSE ADDRESS IS IN BUF BY THE 1S COMPL.
# QUANTITY FOUND IN TEM2. THIS MAY BE USED TO INCREMENT DESIRED IMU AND OPTICS CDU ANGLES OR ANY OTHER 2S COMPL.
# (+0 UNEQUAL TO -0) QUANTITY. MAY BE CALLED BY BANKCALL/SWCALL.

CDUINC  TS TEM2  # 1S COMPL.QUANT. ARRIVES IN ACC. STORE IT
  INDEX BUF
  CCS 0  # CHANGE 2S COMPL. ANGLE(IN BUF)INTO 1S
  AD ONE
  TCF +4
  AD ONE
# Page 1399
  AD ONE  # OVERFLOW HERE IF 2S COMPL. IS 180 DEG.
  COM

  AD TEM2  # SULT MOVES FROM 2ND TO 3D QUAD.(OR BACK)
  CCS A  # BACK TO 2S COMPL.
  AD ONE
  TCF +2
  COM
  TS TEM2  # STORE 14BIT QUANTITY WITH PRESENT SIGN
  TCF +4
  INDEX A  #  SIGN.
  CAF LIMITS  # FIX IT,BY ADDING IN 37777 OR 40000
  AD TEM2

  INDEX BUF
  TS 0  # STORE NEW ANGLE IN 2S COMPLEMENT.
  TC Q

# Page 1400
#     RTB TO TORQUE GYROS, EXCEPT FOR THE CALL TO IMUSTALL. ECADR OF COMMANDS ARRIVES IN X1.

PULSEIMU INDEX FIXLOC  # ADDRESS OF GYRO COMMANDS SHOULD BE IN X1
  CA X1
  TC BANKCALL
  CADR IMUPULSE
  TCF DANZIG

# Page 1401
#     THE SUBROUTINE SIGNMPAC  SETS C(MPAC, MPAC +1) TO SIGN(MPAC).
# FOR THIS, ONLY THE CONTENTS OF MPAC ARE EXAMINED.   ALSO +0 YIELDS POSMAX AND -0 YIELDS NEGMAX.
#
# ENTRY MAY BE BY EITHER OF THE FOLLOWING:
# 1.    LIMIT THE SIZE OF MPAC ON INTERPRETIVE OVERFLOW:
# ENTRY:   BOVB
#  SIGNMPAC
# 2.    GENERATE IN MPAC THE SIGNUM FUNCTION OF MPAC:
# ENTRY:   RTB
#  SIGNMPAC
# IN EITHER CASE, RETURN IS TO  THE NEXT INTERPRETIVE INSTRUCTION IN THE CALLING SEQUENCE.

SIGNMPAC EXTEND
  DCA DPOSMAX
  DXCH MPAC
  CCS A
DPMODE  CAF ZERO  # SETS MPAC +2 TO ZERO IN THE PROCESS
  TCF SLOAD2 +2
  TCF +1
  EXTEND
  DCS DPOSMAX
  TCF SLOAD2

#     RTB OP CODE NORMUNIT IS LIKE INTERPRETIVE INSTRUCTION UNIT, EXCEPT THAT IT CAN BE DEPENDED ON NOT TO BLOW
# UP WHEN THE VECTOR BEING UNITIZED IS VERY SMALL -- IT WILL BLOW UP WHEN ALL COMPONENTS ARE ZERO.   IF NORMUNIT
# IS USED AND THE UPPER ORDER HALVES OF ALL COMPONENTS ARE ZERO, THE MAGNITUDE RETURNED IN 36D WILL BE TOO LARGE
# BY A FACTOR OF 2(13) AND THE SQUARED MAGNITUDE RETURNED AT 34D WILL BE TOO BIG BY A FACTOR OF 2(26).

NORMUNX1 CAF ONE
  TCF NORMUNIT +1
NORMUNIT CAF ZERO
  AD FIXLOC
  TS MPAC +2
  TC BANKCALL # GET SIGN AGREEMENT IN ALL COMPONENTS
  CADR VECAGREE
  CCS MPAC
  TCF NOSHIFT
  TCF +2
  TCF NOSHIFT
  CCS MPAC +3
  TCF NOSHIFT
  TCF +2
  TCF NOSHIFT
  CCS MPAC +5
  TCF NOSHIFT
  TCF +2
  TCF NOSHIFT
# Page 1402
  CA MPAC +1  # SHIFT ALL COMPONENTS LEFT 13
  EXTEND
  MP BIT14
  DAS MPAC  # DAS GAINS A LITTLE ACCURACY
  CA MPAC +4
  EXTEND
  MP BIT14
  DAS MPAC +3
  CA MPAC +6
  EXTEND
  MP BIT14
  DAS MPAC +5
  CAF THIRTEEN
  INDEX MPAC +2
  TS 37D
OFFTUNIT TC POSTJUMP
  CADR UNIT +1  # SKIP THE "TC VECAGREE" DONE AT UNIT

NOSHIFT  CAF ZERO
  TCF OFFTUNIT -2

# RTB VECSGNAG   ...FORCES SIGN AGREEMENT OF VECTOR IN MPAC.

VECSGNAG TC BANKCALL
  CADR VECAGREE
  TC DANZIG

# *** END OF SKIPPER .087 ***


Messung
CHZG
100100100100

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.