Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  SERVICE_ROUTINES.agc   Sprache: Apollo

 

# Copyright:    Public domain.
# Filename:     SERVICE_ROUTINES.agc
# Purpose:      Part of the source code for Comanche, build 055. It
#               is part of the source code for the Command Module's
#               (CM) Apollo Guidance Computer (AGC), Apollo 11.
# Assembler:    yaYUL
# Reference:    pp. 1485-1492
# Contact:      Ron Burkey <info@sandroid.org>
# Website:      http://www.ibiblio.org/apollo.
# Mod history:  2009-05-07 RSB Adapted from Colossus249 file of the same
# name, and page images. Corrected various
# typos in the transcription of program
# comments, and these should be back-ported
# to Colossus249.
#
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
#
#       Assemble revision 055 of AGC program Comanche by NASA
#       2021113-051.  April 1, 1969.
#
#       This AGC program shall also be referred to as Colossus 2A
#
#       Prepared by
#                       Massachusetts Institute of Technology
#                       75 Cambridge Parkway
#                       Cambridge, Massachusetts
#
#       under NASA contract NAS 9-4065.
#
# Refer directly to the online document mentioned above for further
# information.  Please report any errors to info@sandroid.org.

# Page 1485
  BLOCK 3
  SETLOC FFTAG6
  BANK
  COUNT 03/FLAG

UPENT2  TS L  # WHICH FLAGWORD IS IT
  MASK OCT7
  XCH L  # SAVE IN L FOR INDEXING

  MASK OCT77770 # OBTAIN THE BIT INFORMATION
  INHINT   # PREVENT INTERUPTS
  TS ITEMP1  # STORE THE BIT INFORMATION TEMPORARIALY

  NDX L
  CS FLAGWRD0
  MASK ITEMP1
  NDX L
  ADS FLAGWRD0
  RELINT   # RELEASE INTERUPT INHIBIT

  INCR Q  # OBTAIN THE CORRECT RETURN ADDRESS
  TC Q  # RETURN

DOWNENT2 TS L  # WHICH FLAGWORD IS IT
  MASK OCT7
  XCH L  # SAVE IN L FOR INDEXING

  MASK OCT77770 # OBTAIN THE BIT INFORMATION
  COM   # START TO PROCESS THE INFORMATION

  INHINT   # PREVENT INTERUPTS
  NDX L
  MASK FLAGWRD0
  NDX L
  TS FLAGWRD0
  RELINT   # RELEASE INTERUPT INHIBIT

  INCR Q  # OBTAIN THE CORRECT RETURN ADDRESS
  TC Q  # RETURN

OCT7  EQUALS SEVEN
  BANK 10

# Page 1486
#
# UPFLAG AND DOWNFLAG ARE ENTIRELY GENERAL FLAG SETTING AND CLEARING SUBROUTINES.  USING THEM, WHETHER OR
# NOT IN INTERRUPT, ONE MAY SET OR CLEAR ANY SINGLE, NAMED BIT IN ANY ERASABLE REGISTER, SUBJECT OF COURSE TO
# EBANK SETTING.  A "NAMED" BIT, AS THE WORD IS USED HERE, IS ANY BIT WITH A NAME FORMALLY ASSIGNED BY THE YUL
# ASSEMBLER.
#
# AT PRESENT THE ONLY NAMED BITS ARE THOSE IN THE FLAGWORDS.  ASSEMBLER CHANGES WILL MAKE IT POSSIBLE TO
# NAME ANY BIT IN ERASABLE MEMORY.
#
# CALLING SEQUENCES ARE AS FOLLOWS:-
#
# TC UPFLAG TC DOWNFLAG
# ADRES NAME OF FLAG ADRES NAME OF FLAG
#
# RETURN IS TO THE LOCATION FOLLOWING THE "ADRES" ABOUT .58 MS AFTER THE "TC".
#
# UPON RETURN A CONTAINS THE CURRENT FLAGWRD SETTING.

  BLOCK 02
  SETLOC FFTAG1
  BANK
  COUNT* $$/FLAG

UPFLAG  CA Q
  TC DEBIT
  COM   # +(15 - BIT)
  EXTEND
  ROR LCHAN  # SET BIT
COMFLAG  INDEX ITEMP1
  TS FLAGWRD0
  LXCH ITEMP3
  RELINT
  TC L


DOWNFLAG CA Q
  TC DEBIT
  MASK L  # RESET BIT
  TCF COMFLAG


DEBIT  AD ONE  # GET DE BITS
  INHINT
  TS ITEMP3
  CA LOW4  # DEC15
  TS ITEMP1
  INDEX ITEMP3
  CA 0 -1  # ADRES
  TS L
  CA ZERO
# Page 1487
  EXTEND
  DV ITEMP1  # A = FLAGWRD, L = (15 - BIT)
  DXCH ITEMP1
  INDEX ITEMP1
  CA FLAGWRD0
  TS L  # CURRENT STATE
  INDEX ITEMP2
  CS BIT15  # -(15 - BIT)
  TC Q

# Page 1488
# DELAYJOB- A GENERAL ROUTINE TO DELAY A JOB A SPECIFIC AMOUNT OF TIME BEFORE PICKING UP AGAIN.
#
# ENTRANCE REQUIREMENTS...
# CAF DT # DELAY JOB FOR DT CENTISECS
# TC BANKCALL
# CADR DELAYJOB

  BANK 06
  SETLOC DLAYJOB
  BANK

# THIS MUST REMAIN IN BANK 0 ****************************************

  COUNT 00/DELAY

DELAYJOB INHINT
  TS Q  # STORE DELAY DT IN Q FOR DLY -1 IN

  CAF DELAYNUM # WAITLIST
DELLOOP  TS RUPTREG1
  INDEX A
  CA DELAYLOC # IS THIS DELAYLOC AVAILABLE
  EXTEND
  BZF OK2DELAY # YES

  CCS RUPTREG1 # NO, TRY NEXT DELAYLOC
  TCF DELLOOP

  TC BAILOUT  # NO AVAILABLE LOCS AVAILABLE.
  OCT 1104

OK2DELAY CA TCSLEEP  # SET WAITLIST IMMEDIATE RETURN
  TS WAITEXIT

  CA FBANK
  AD RUPTREG1 # STORE BBANK FOR TASK CALL
  TS L

  CAF WAKECAD  # STORE CADR FOR TASK CALL
  TCF DLY2 -1  # DLY IS IN WAITLIST ROUTINE

TCGETCAD TC MAKECADR # GET CALLERS FCADR

  INDEX RUPTREG1
  TS DELAYLOC # SAVE DELAY CADRS

  TC JOBSLEEP

WAKER  CAF ZERO
  INDEX BBANK
  XCH DELAYLOC # MAKE DELAYLOC AVAILABLE
# Page 1489
  TC JOBWAKE

  TC TASKOVER

TCSLEEP  GENADR TCGETCAD -2
WAKECAD  GENADR WAKER

# Page 1490
# GENTRAN, A BLOCK TRANSFER ROUTINE.
#
# WRITTEN BY D. EYLES
# MOD 1 BY KERNAN UTILITYM REV 17 11/18/67
#
# MOD 2 BY SCHULENBERG (REMOVE RELINT) SKIPPER REV 4 2/28/68
#
# THIS ROUTINE IS USEFULL FOR TRANSFERING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N
# CONSECUTIVE ERASABLE LOCATIONS.  IF BOTH BLOCKS OF DATA ARE IN SWITCHABLE EBANKS, THEY MUST BE IN THE SAME ONE.
#
# GENTRAN IS CALLABLE IN A JOB AS WELL AS A RUPT.  THE CALLING SEQUENCE IS:
#
# I CA N-1 # # OF QUANTITIES MINUS ONE.
# I +1 TC GENTRAN # IN FIXED-FIXED.
# I +2 ADRES L # STARTING ADRES OF DATA TO BE MOVED.
# I +3 ADRES M # STARTING ADRES OF DUPLICATION BLOCK.
# I +4 # RETURNS HERE.
#
# GENTRAN TAKES 25 MCT'S (300 MICROSECONDS) PER ITEM + 5 MCT'S (60 MICS) FOR ENTERING AND EXITING.
#
# A, L AND ITEMP1 ARE NOT PRESERVED.

  BLOCK 02
  SETLOC FFTAG4
  BANK

  EBANK= ITEMP1

  COUNT* $$/TRAN

GENTRAN  INHINT
  TS ITEMP1  # SAVE N-1.
  INDEX Q  # C(Q) = ADRES L.
  AD 0  # ADRES (L + N - 1).
  INDEX A
  CA 0  # C(ABOVE).
  TS L  # SAVE DATA.
  CA ITEMP1
  INDEX Q
  AD 1  # ADRES (M + N - 1).
  INDEX A
  LXCH 0  # STUFF IT.
  CCS ITEMP1  # LOOP UNTIL N-1 = 0.
  TCF GENTRAN +1
  TCF Q+2  # RETURN TO CALLER.

# Page 1491
# B5OFF ZERO BIT 5 OF EXTVBACT, WHICH IS SET BY TESTXACT.
#
# MAY BE USED AS NEEDED BY ANY EXTENDED VERB WHICH HAS DONE TESTXACT

  COUNT* $$/EXTVB

B5OFF  CS BIT5
  MASK EXTVBACT
  TS EXTVBACT
  TC ENDOFJOB

# Page 1492
# SUBROUTINES TO TURN OFF AND TURN ON TRACKER FAIL LIGHT.


TRFAILOF INHINT
  CS OCT40200 # TURN OFF TRACKER LIGHT
  MASK DSPTAB +11D
  AD BIT15
  TS DSPTAB +11D
  CS OPTMODES # TO INSURE THAT OCDU FAIL WILL GO ON
  MASK BIT7  # AGAIN IF IT WAS ON IN ADDITION TO
  ADS OPTMODES # TRACKER FAIL.

REQ  RELINT
  TC Q

TRFAILON INHINT
  CS DSPTAB +11D # TURN ON
  MASK OCT40200
  ADS DSPTAB +11D
  TCF REQ

Messung V0.5 in Prozent
C=50 H=100 G=79

¤ Dauer der Verarbeitung: 0.13 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