Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  INTER-BANK_COMMUNICATION.agc   Sprache: Apollo

 

# Copyright: Public domain.
# Filename: INTER-BANK_COMMUNICATION.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: 998-1001
# Mod history: 2009-05-24 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2011-05-08 JL Removed workaround.

# 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 998
#     THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE
# CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE  TC BANKCALL  INSTRUCTION, WITH C(A) AND C(L) PRESERVED.

  BLOCK 02
  COUNT* $$/BANK
BANKCALL DXCH BUF2  # SAVE INCOMING A,L.
  INDEX Q  # PICK UP CADR.
  CA 0
  INCR Q  # SO WE RETURN TO THE LOC. AFTER THE CADR.

#     SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A.

SWCALL  TS L
  LXCH FBANK  # SWITCH BANKS, SAVING RETURN.
  MASK LOW10  # GET SUB-ADDRESS OF CADR.
  XCH Q  # A,L NOW CONTAINS DP RETURN.
  DXCH BUF2  # RESTORING INPUTS IF THIS IS A BANKCALL.
  INDEX Q
  TC 10000  # SETTING Q TO SWRETURN.

SWRETURN XCH BUF2  +1 # COMES HERE TO RETURN TO CALLER. C(A,L)
  XCH FBANK  # ARE PRESERVED FOR RETURN.
  XCH BUF2  +1
  TC BUF2

#     THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY
# FOLLOWING THE TC POSTJUMP INSTRUCTION.

POSTJUMP XCH Q  # SAVE INCOMING C(A).
  INDEX A  # GET CADR.
  CA 0

#     BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A.

BANKJUMP TS FBANK
  MASK LOW10
  XCH Q  # RESTORING INPUT C(A) IF THIS WAS A
Q+10000  INDEX Q  # POSTJUMP.
PRIO12  TCF 10000  # PRIO12 = TCF  10000 = 12000

# Page 999
#     THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A.

MAKECADR CAF LOW10
  MASK BUF2
  AD BUF2  +1
  TC Q

SUPDACAL TS MPTEMP
  XCH FBANK  # SET FBANK FOR DATA.
  EXTEND
  ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND
  XCH MPTEMP  #  SUPERBANK IN BITS  7-5.
  MASK LOW10
  XCH L  # SAVE REL. ADR. IN BANK, FETCH SUPERBITS.
  INHINT   # BECAUSE RUPT DOES NOT SAVE SUPERBANK.
  EXTEND
  WRITE SUPERBNK # SET SUPERBANK FOR DATA.
  INDEX L
  CA 10000  # PINBALL (FIX MEM DISP) PREVENTS DCA HERE
  XCH MPTEMP  # SAVE 1ST WD, FETCH OLD FBANK AND SBANK.
  EXTEND
  WRITE SUPERBNK # RESTORE SUPERBANK.
  RELINT
  TS FBANK  # RESTORE FBANK.
  CA MPTEMP  # RECOVER FIRST WORD OF DATA.
  RETURN   # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU

# Page 1000
#     THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT.

IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS.
  INDEX Q
  CAF 0
  INCR Q

ISWCALLL TS L
  LXCH FBANK
  MASK LOW10
  XCH Q
  DXCH RUPTREG3
  INDEX Q
  TC 10000

ISWRETRN XCH RUPTREG4
  XCH FBANK
  XCH RUPTREG4
  TC RUPTREG3

# 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK.  THE CALLING SEQUENCE IS AS FOLLOWS:

# L TC USPRCADR
# L+1 CADR INTPRETX   INTPRETX IS THE INTERPRETIVE CODING
#   RETURN IS TO L+2

USPRCADR TS LOC  # SAVE A
  CA BIT8
  TS EDOP  # EXIT INSTRUCTION TO EDOP
  CA BBANK
  TS BANKSET  # USER'S BBANK TO BANKSET
  INDEX Q
  CA 0
  TS FBANK  # INTERPRETIVE BANK TO FBANK
  MASK LOW10  # YIELDS INTERPRETIVE RELATIVE ADDRESS
  XCH Q  # INTERPRETIVE ADDRESS TO Q, FETCHING L+1
  XCH LOC  # L+1 TO LOC, RETRIEVING ORIGINAL A
  TCF Q+10000

# Page 1001
# THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.)
#     PSEUDO-FIXED      OCTAL PSEUDO
# SUPERBANK SETTING     S-REG. VALUE    BANK NUMBERS      ADDRESSES
# ---------- -------     ------------     ------------      ------------
#
# SUPERBANK 3   OXX     2000 - 3777        30 - 37       70000 - 107777 (WHERE XX CAN BE ANYTHING AND
# WILL USUALLY BE SEEN AS 11)
# SUPERBANK 4   100     2000 - 3777        40 - 47       110000 - 127777 (AS FAR AS IT CAN BE SEEN,
# ONLY BANKS 40-43 WILL EVER BE
# AND ARE PRESENTLY AVAILABLE)
# SUPERBANK 5   101     2000 - 3777        50 - 57       130000 - 147777 (PRESENTLY NOT AVAILABLE TO
# THE USER)
# SUPERBANK 6   110     2000 - 3777        60 - 67       150000 - 167777 (PRESENTLY NOT AVAILABLE TO
# THE USER)
# ***  THIS ROUTINE MAYBE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27.  I.E., NO PROGRAM LIVING IN ANY
# SUPERBANK SHOULD USE SUPERSW.  ***
#
# SUPERSW MAYBE CALLED IN THIS FASHION:
#
#    CAF   ABBCON   WHERE  --  ABBCON   BBCON  SOMETHIN  --
#    TCR   SUPERSW   (THE SUPERBNK BITS ARE IN THE BBCON)
#    ...     ...
#     .      .
#     .      .
# OR IN THIS FASHION :
#    CAF   SUPERSET   WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE
#    TCR   SUPERSW   SUPERBANK BIT CONSTANTS:
#    ...     ...   SUPER011 OCTAL  60
#     .      .   SUPER100 OCTAL 100
#     .      .   SUPER101 OCTAL 120
#   SUPER110 OCTAL 140

SUPERSW  EXTEND
  WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO
     # CHANNEL 07
  TC Q  # TC TO INSTRUCTION FOLLOWING
     #   TC  SUPERSW


Messung V0.5 in Prozent
C=37 H=100 G=75

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-10-12) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912