# Copyright: Public domain. # Filename: AOTMARK.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: 244-261 # 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 244 BANK12 SETLOC AOTMARK1 BANK
EBANK= XYMARK COUNT* $$/MARK
AOTMARK INHINT CCS MARKSTAT # SEE IF AOTMARK BUSY TC +2# MARK SYSTEM BUSY -- DO ALARM TC EXTVBCHK TC POODOO OCT00105
EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING MASK EXTVBACT CCS A TCF MKABORT # YES -- ABORT
CAF BIT2 # NO -- DISALLOW SOME EXTENDED VERB ACTION ADS EXTVBACT # BIT2 RESET IN ENDMARK
MKVAC CCS VAC1USE # LOOK FOR A VAC AREAD -- DO ABORT IF TCF MKVACFND # NONE AVAILABLE CCS VAC2USE TCF MKVACFND CCS VAC3USE TCF MKVACFND CCS VAC4USE TCF MKVACFND CCS VAC5USE TCF MKVACFND DXCH BUF2 TC BAILOUT1 # ALL VAC AREAS OCCUPIED -- ABORT. OCT01207
MKVACFND AD TWO TS MARKSTAT # STORE VAC ADR IN LOW 9 OF MARKSTAT
CAF ZERO INDEX MARKSTAT TS0 -1# ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
CAF PRIO15 TC FINDVAC # SET UP JOB FOR GETDAT EBANK= XYMARK 2CADR GETDAT
MKRELEAS CAF ZERO XCH MARKSTAT # SET MARKSTAT TO ZERO MASK LOW9 # PICK UP VAC AREA AOR CCS A INDEX A TS0# SHOW MKVAC AREA AVAILABLE CAF ONE TC IBNKCALL CADR GOODEND # GO WAKE UP CALLING JOB
# Page 246
KILLAOT CAF ZERO TS EXTVBACT # TERMINATE AOTMARK -- ALLOW EXT VERB TC GOTOPOOH
GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT MASK BIT12 # BIT12 RESET AT GETMARK ADS MARKSTAT
CAF V01N71 # DISPLAY DETENT AND STAR CODE TC BANKCALL CADR GOMARKF
TCF KILLAOT # V34 -- DOES GOTOPOOH TCF DODAT # V33 -- PROCEED -- USE THIS STAR FOR MARKS
ENTERDAT TCF GETDAT # ENTER -- REDISPLAY STAR CODE
DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE MASK AOTCODE # AND SEE IF CODE 1 TO 6 EXTEND MP BIT9 TS XYMARK # STORE DETENT
EXTEND BZMF GETDAT # COAS CALIBRATION CODE - NO GOOD HERE
AD NEG7 # SEE IF DETENT 7 FOR COAS EXTEND BZF CODE7
TCF CODE1TO6
CODE7 CAF V06N87* # CODE 7, COAS SIGHTING, GET OPTIC AXIS TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO CADR GOMARKF
TCF KILLAOT # V34 -- DOES GOTOPOOH TCF +2# PROCEED TCF CODE7 # ON ENTER, RECYCLE EXTEND DCA AZ # PICK UP AZ AND EL IN SP 25 COMP INDEX FIXLOC DXCH8D # STORE IN 8D AND 9D OF LOCAL VAC CAF ZERO # BACKUP SYSTEM TO BE USED TCF COASCODE # ZERO APPARENT ROTATION
CODE1TO6 INDEX XYMARK # INDEX AOT POSITION BY DET CODE CA AOTEL -1 INDEX FIXLOC TS9D # STORE ELEVATION IN VAC+9D
INDEX XYMARK # INDEX DET CODE 1,2 OR 3 # Page 247 CA AOTAZ -1 INDEX FIXLOC TS8D # STORE AZIMUTH IN VAC +8D
CA AOTAZ +1# COMPENSATION FOR APPARENT ROTATION OF EXTEND# AOT FIELD OF VIEW IN LEFT AND RIGHT INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP MSU8D # PRECISION ONE'S COMPLEMENT
COASCODE INDEX FIXLOC TS10D # ROT ANGLE
TC INTPRET # COMPUTE X AND Y PLANE VECTORS
# Page 248 # THE OPTAXIS SUBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND # ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS # # INPUT -- AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC # ROTATION ANGLE IN SINGLE PREC IS COMP SCALED BY PI IN 10D OF VAC # # OUTPUT -- OPTIC AXIS VEC IN NG COORDS IN SCAXIS # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
OPTAXIS CALL# GO COMPUTE OA AN X AND Y PLANE VECS
OANB SLOAD SR1 # LOAD APP ROTATION IN ONES COMP 10D # RESCALE BY 2PI PUSH SIN # 1/2SIN(ROT) 0-1
PDDL COS PUSHVXSC# 1/2COS(ROT) 2-3 18D
PDDL VXSC# 1/4COS(ROT)UYP 4-9 0 24D # 1/4SIN(ROT)UXP BVSUSTADR# UP 4-9 STODL12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP) VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE 24D # 1/4COS(ROT)UXP PUSH 0-5 VXSC VAD # 1/4SIN(ROT)UYP 18D # UP 0-5 STADR STOVL18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR STORE STARAD +6 EXIT TCF GETMKS
# Page 249 # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT. # # INPUT -- AZIMUTH ANGLE IN SINGLE PREC 2'S COMP IN 8D OF JOB VAC # ELEVATION ANGLE IN SINGLE PREC 2'S COMP IN 9D OF VAC # # OUTPUT -- OPTIC AXIS IN NB COORDS. IN SCAXIS # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
BANK05 SETLOC AOTMARK2 BANK
COUNT* $$/MARK
OANB SETPD STQ 0
GCTR # STORE RETURN SLOAD RTB 9D # PICK UP SP ELV
CDULOGIC PUSH COS
PDDL SIN # 1/2COS(ELV) PD 0-1 STADR STODL SCAXIS # OAX=1/2SIN(ELV) 8D
RTB
CDULOGIC PUSH COS STORE20D # STORE UYP(Y) 20-21
PDDL SIN # 1/2COS(AZ) PD 2-3 PUSH DCOMP # PUSH 1/2S IN (AZ) 4-5 STODL22D # STORE UYP(Z) 22-23
LO6ZEROS STODL18D # STORE UYP(X) 18-19
DMP SL1 0 STODL SCAXIS +2# OAY=1/2COS(ELV)SIN(AZ)
DMP SL1 # UP 2-3 STADR# UP 0-1 STOVL SCAXIS +4# OAZ=1/2COS(ELV)COS(AZ) 18D # LOAD UYP VEC
VXV UNIT
SCAXIS # UXP VEC=UYP X OA STORE24D # STORE UXP
GOTO
GCTR # Page 250 # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINATES FOR LUNAR # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS. # # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
BANK15 SETLOC P50S BANK COUNT* $$/R59
SURFSTAR VLOAD* 0,1# PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM STORE CDUSPOT SLOAD* RTB 1,1# PICK UP YROT
CDULOGIC STORE24D # STORE CURSOR FOR SPIRAL COMP (REVS)
BZE
YZCHK # IF YROT ZERO -- SEE IF SROT ZERO
JUSTZY PUSH COS
PDDL SIN # 1/2COS(YROT) 0-1 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5 18D VXSC VSU # UP 0-5 12D # UYP
UNIT VXV
SCAXIS
UNIT PUSH SLOAD* RTB 3,1# PICK UP SPIRAL
CDULOGIC STORE26D # STORE SPIRAL (REVS)
DSU DAD 24D
ABOUTONE
DMP
DP1/12 STORE26D # SEP=(360 + SPIRAL -CURSOR)/12
SIN VXSC# UP 0-5
VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5 26D
COS VXSC
SCAXIS
VSL1 VAD # UP 0-5
JUSTOA UNIT CALL
TRG*NBSM
STCALL 24D # STAR VEC IN SM
AVEIT # GO AVERAGE # Page 251
ABOUTONE 2DEC .99999999
DP1/12EQUALS DEG30 # .08333333 BANK7 SETLOC AOTMARK1 BANK COUNT* $$/MARK
YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR 3,1# ALONG OPTIC AXIS
YSZERO DLOAD GOTO 24D
JUSTZY # SROT NOT ZERO -- CONTINUE NORMALLY
YSZERO VLOAD GOTO
SCAXIS
JUSTOA
# Page 252 # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT TS XYMARK TS MARKCNTR CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR MASK MARKSTAT TS MARKSTAT CAF MKVB54* # DISPLAY VB54 INITIALLY
PASTIT TC BANKCALL CADR GOMARK4
TCF KILLAOT # V34 -- DOES GOTOPOOH TCF MARKCHEX # VB33 -- PROCEED, GOT MARKS, COMPUTE LOS TCF GETDAT # ENTER -- RECYCLE TO V01N71
MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT MASK BIT12 ADS MARKSTAT MASK LOW9 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR CAF ZERO TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR CA MARKSTAT MASK PRIO3 # SEE IF LAST MK PART COMPLETE TS L CAF PRIO3 # BITS10 AND 11 EXTEND
RXOR LCHAN EXTEND BZF AVESTAR # LAST PAIR COMPLETE -- TO COMPUTE LOS
CNTCHK CCS MARKCNTR # NO PAIR SHOWING -- SEE IF PAIR IN HOLD TCF +2# PAIR BURIED -- DECREMENT COUNTER TCF MKALARM # NO PAIR -- ALARM TS MARKCNTR # STORE DECREMENTED COUNTER
AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX CS MARKCNTR EXTEND MP SIX # GET C(L) = -6 MARKCNTR CS XYMARK AD L # ADD -- MARK VAC ADR SET IN MARKCHEX INDEX FIXLOC TS X1 # JAM -- CDU ADR OF X-MARK IN X1
CA FIXLOC # SET PD POINTER TO ZERO TS PUSHLOC
TC INTPRET # Page 253
BON VLOAD*
SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
SURFSTAR 1,1# PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM STOVL CDUSPOT 12D # LOAD Y-PLANE VECTOR IN NG CALL
TRG*NBSM # CONVERT IT TO STABLE MEMBER PUSH VLOAD* 0,1# PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM STOVL CDUSPOT 18D # LOAD X-PLANE VECTOR IN NB CALL
TRG*NBSM # CONVERT IT TO STABLE-MEMBER
VXV UNIT # UNIT(XPSM * YPSM) STADR STORE24D
AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
MKDEX 24D # LOAD CURRENT VECTOR
VSR3 V/SC 0 STODL24D # VEC/N 0
DSU DDV
DP1/8# (N-1)/N VXSC VAD
STARAD +6# ADD VEC TO PREVIOUSLY AVERAGED VECTOR 24D # (N-1)/N AVESTVEC + VEC/N STORE STARAD +6# AVERAGE STAR VECTOR STORE STARSAV2 EXIT CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC TCF AVESTAR -1# THERE IS -- GO GET IT -- DECREMENT COUNTER
ENDMARKS CAF FIVE # NO MORE MARKS -- TERMINATE AOTMARK INHINT TC WAITLIST EBANK= XYMARK 2CADR MKRELEAS
TC ENDMARK
MKALARM TC ALARM # NOT A PAIR TO PROCESS -- DO GETMKS OCT111 TCF GETMKS
V01N71 VN171
V06N87* VN687
# Page 254 # MARKRUPT IS ENTERED FROM INTERRUPT LEAD-INS AND PROCESSES CHANNEL 16 # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
MARKRUPT TS BANKRUPT CA CDUY # STORE CDUS AND TIME NOW -- THEN SEE IF TS ITEMP3 # WE NEED THEM CA CDUZ TS ITEMP4 CA CDUX TS ITEMP5 EXTEND DCA TIME2 DXCH ITEMP1 XCH Q TS QRUPT
CAF OCT34 # SEE IF X OR Y MARK OR MKREJECT EXTEND
RAND NAVKEYIN CCS A TCF +2# ITS A LIVE ONE -- SEE IF ITS WANTED TCF SOMEKEY # ITS SOME OTHER KEY
CAF BIT12 # ARE WE ASKING FOR A MARK MASK MARKSTAT CCS A TC RESUME # DON'T WANT MARK OR MKREJECT -- DO NOTHING
CCS MARKSTAT # ARE MARKS BEING ACCEPTED TCF FINDKEY # THEY ARE -- WHICH ONE IS IT TC ALARM # MARKS NOT BEING ACCEPTED -- DO ALARM OCT112 TC RESUME
FINDKEY CAF BIT5 # SEE IF MARK REJECT. EXTEND
RAND NAVKEYIN CCS A TCF MKREJ # IT'S A MARK REJECT
CAF BIT4 # SEE IF Y MARK EXTEND
RAND NAVKEYIN CCS A
TCF YMKRUPT # IT'S A Y MARK
CAF BIT3 # SEE IF X MARK EXTEND
RAND NAVKEYIN
# Page 255 CCS A TCF XMKRUPT # IT'S A X MARK
SOMEKEY CAF OCT140 # NOT MARK OR MKREJECT -- SEE IF DESCENT BITS EXTEND
RAND NAVKEYIN EXTEND BZF +3# IF NO BITS
TC POSTJUMP # IF DESCENT BITS CADR DESCBITS
TC ALARM # NO INBITS IN CHANNEL 16. OCT113
TC RESUME
XMKRUPT CAF ZERO TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO CAF BIT10 TCF +4
YMKRUPT CAF ONE TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE CAF BIT11 TS XYMARK # SET MARK IDENTIFICATION
TC MARKTYPE # SEE IF SURFACE MARK TCF SURFSTOR # SURFACE MARK -- JUST STORE CDUS
CAF BIT14 # GOT A MARK -- SEE IF MARK PARI MADE MASK MARKSTAT EXTEND BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE CS MARKCNTR # GO A PAIR, SEE IF ANOTHER CAN BE MADE AD FOUR # IF SO, INCREMENT POINTER, CLEAR BITS 10,11 EXTEND BZMF5MKALARM # HAVE FIVE MARK PAIRS -- DON'T ALLOW MARK INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER CS PRIO23 # CLEAR BITS 10,11,14 FOR NEXT PAIR MASK MARKSTAT TS MARKSTAT
VERIFYMK CA XYMARK MASK MARKSTAT CCS A TCF +2# THIS MARK NOT DESIRED TCF VACSTOR # MARK DESIRED -- STORE CDUS TC ALARM OCT114 TC RESUME # RESUME -- DISPLAY UNCHANGED -- WAIT FOR ACTION
# Page 256 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS OCT107 TC MARKTYPE # SEE IF SURFACE MARK TCF DSPV6N79 # IT IS TC RESUME # DON'T CHANGE DISPLAY -- DO NOTHING
# Page 257
MKREJ TC MARKTYPE # SEE IF SURFACE TCF SURFREJ # SURFACE -- JUST CHECK MARK COUNTER
CAF PRIO3 # INFLIGHT -- SEE IF MARKS MADE MASK MARKSTAT CCS A TCF REJECT # MARKS MADE -- REJECT ONE
REJALM TC ALARM # NO MARK TO REJECT -- BAD PROCEDURE -- ALARM OCT115 TC RESUME # DESIRED ACTION DISPLAYED
REJECT CS PRIO30 # ZERO BIT14, SHOW REJ., SEE IF MARK SINCE MASK MARKSTAT # LAST REJECT AD BIT13 XCH MARKSTAT MASK BIT13 CCS A TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
CS XYMARK # MARK MADE SINCE REJECT -- REJECT MARK IN 1D
RENEWMK MASK MARKSTAT TS MARKSTAT TCF REMARK # GO REQUEST NEW MARK ACTION
REJECT2 CS PRIO3 # ON SECOND REJECT -- DISPLAY VB53 AGAIN TCF RENEWMK
SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER TCF +2 TCF REJALM # NO MARKS TO REJECT -- ALARM TS MARKCNTR TC RESUME
# Page 258 # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
MARKTYPE CS FLAGWRD8 # SURFFLAG ******** TEMPORARY ****** MASK BIT8 CCS A INCR Q # IF SURFACE MARK RETURN TO LOC +1 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX TS RUPTREG1
CS MARKSTAT # SET BITS10,11 TO SHOW SURFACE MARK MASK PRIO3 # FOR MARKCHEX ADS MARKSTAT
VACSTOR CAF LOW9 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2 TS RUPTREG2 EXTEND DCA ITEMP1 # PICK UP MARKTIME DXCH TSIGHT # STORE LAST MARK TIME CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX EXTEND MP SIX XCH L # GET INDEX FROM LOW ORDER PART AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT TS MKDEX # STORE HERE IN CASE OF SURFACE MARK CA ITEMP3 INDEX RUPTREG1 TS0# STORE CDUY CA ITEMP4 INDEX RUPTREG1 TS2# STORE CDUZ CA ITEMP5 INDEX RUPTREG1 TS4# STORE CDUX TC MARKTYPE # IF SURFACE MARK -- JUST DO SURFJOB TCF SURFJOB
CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE AD XYMARK # SET MARK ID IN MARKSTAT
COM MASK MARKSTAT AD XYMARK TS MARKSTAT MASK PRIO3 # SEE IF X, Y MARK MADE TS L
# Page 259 CA PRIO3 EXTEND
RXOR LCHAN CCS A TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION CS MARKSTAT # MARK PAIR COMPLETE -- SET BIT14 MASK BIT14 ADS MARKSTAT TCF REMARK # GO DISPLAY V54
# Page 260
REMARK CAF PRIO3 # BITS 10 AND 11 MASK MARKSTAT EXTEND MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX TS MKDEX # STORE VERB INDEX
SURFJOB CAF PRIO15 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO EBANK= XYMARK # REQUEST NEXT ACTION 2CADR CHANGEVB
TC RESUME
CHANGEVB TC MARKTYPE TCF DSPV6N79 # SURFACE -- DISPLAY V 06 N 79 INDEX MKDEX # INFLIGHT -- PICK UP MARK VB INDEX CAF MKVB54 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
# THE FOUR MKVBS ARE INDEXED -- THEIR ORDER CANNOT BE CHANGED
MKVB54 VN5471# MAKE X OR Y MARK
MKVB53 VN5371# MAKE Y MARK
MKVB52 VN5271# MAKE X MARK
MKVB54* VN5471# MAKE X OR Y MARK
DP1/82DEC .125
OCT34 OCT34
V06N71 VN671
V06N79* VN679
# Page 261 # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS COUNT* $$/R59
TCF KILLAOT # V34 -- DOES GOTOPOOH TCF SURFEND # V33 -- PROCEED, END MARKING CAF BIT6 # IF V32(OCT40) IN MPAC DO RECYCLE MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO CCS A # RE-DISPLAY V06N79 TCF SURFAGAN # VB32 -- RECYCLE TCF DSPV6N79 # ENTER
SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END MASK MARKSTAT AD BIT14 TS MARKSTAT
SURFAGAN CA CURSOR INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING TS1# STORE CURSOR SP 2COMP CA SPIRAL INDEX MKDEX TS3# STORE SPIRAL
CS MARKSTAT # IF BIT 14 SET -- END MARKING MASK BIT14 EXTEND BZF MARKCHEX CA MARKCNTR # THIS IS RECYCLE -- SEE IF 5 MARKS ALREADY AD ONE
COM AD FIVE EXTEND BZMF5MKALARM # CAN'T RECYCLE -- TOO MANY MARKS -- ALARM INCR MARKCNTR # OF FOR RECYCLE -- INCR COUNTER TCF GETMKS +3# GO DISPLAY MARK VB
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet am 2026-10-12)
¤