Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 32 additions & 31 deletions Comanche055/INTERPRETER.agc
Original file line number Diff line number Diff line change
Expand Up @@ -417,10 +417,10 @@ ITR0 INDEX A
TCF STORJUMP

# Page 1120
# STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
# STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
# A SUPPLIED OPERATION CODE.
#
# STORE STORE,1 AND STORE,2 RETURN TO DANZIG, THUS RESETTING THE EBANK TO ITS STATE AT INTPRET.
# STORE STORE,1 AND STORE,2 RETURN TO DANZIG, THUS RESETTING THE EBANK TO ITS STATE AT INTPRET.

STORJUMP TC STORE # STORE.
TCF DANZIG # PICK UP NEW OP CODE(S).
Expand All @@ -446,7 +446,7 @@ STORJUMP TC STORE # STORE.
TCF 15BITADR # GET A 15 BIT ADDRESS.

# Page 1121
# STORE CODE ADDRESS PROCESSOR.
# STORE CODE ADDRESS PROCESSOR.

STORE,1 INDEX FIXLOC
CS X1
Expand All @@ -468,7 +468,7 @@ STORE CS ADDRWD
AHEAD5 ADS ADDRWD

# Page 1122
# STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.
# STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.

STARTSTO EXTEND # MPAC,+1 MUST BE STORED IN ANY EVENT.
# ITRACE (5) REFERS TO "STARTSTO".
Expand Down Expand Up @@ -497,7 +497,7 @@ TSTORE CA MPAC +2
TC Q

# Page 1123
# ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
# ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
# ITSELF.

DODLOAD CAF DLOADCOD
Expand All @@ -512,7 +512,7 @@ DOVLOAD* CAF VLOAD*
TCF DODLOAD* +1 # PROLOGUE TO INDEX ROUTINE.

# Page 1124
# THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.
# THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.

TLOAD INDEX ADDRWD
CA 2 # LOAD A TRIPLE PRECISION ARGUMENT INTO
Expand All @@ -525,12 +525,12 @@ TMODE CAF ONE
TCF NEWMODE # DECLARE TRIPLE PRECISION MODE.

SLOAD ZL # LOAD A SINGLE PRECISION NUMBER INTO
INDEX ADDRWD # MPAC, SETTING MPAC+1,2 TO ZERO. THE
INDEX ADDRWD # MPAC, SETTING MPAC+1,2 TO ZERO. THE
CA 0 # CONTENTS OF THE REMAINING MPAC REGISTERS
TCF SLOAD2 # ARE IRRELEVANT.

VLOAD EXTEND # LOAD A DOUBLE PRECISION VECTOR INTO
INDEX ADDRWD # MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
INDEX ADDRWD # MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
DCA 0 # CONTENTS OF MPAC +2 ARE IRRELEVANT.
DXCH MPAC

Expand All @@ -548,10 +548,11 @@ VMODE CS ONE # DECLARE VECTOR MODE.
TCF NEWMODE

# Page 1125
# THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
# 1. PUSH PUSHDOWN AND NO LOAD.
# 2. PDDL PUSHDOWN AND DOUBLE PRECISION LOAD.
# 3. PDVL PUSHDOWN AND VECTOR LOAD.
# THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
#
# 1. PUSH PUSHDOWN AND NO LOAD.
# 2. PDDL PUSHDOWN AND DOUBLE PRECISION LOAD.
# 3. PDVL PUSHDOWN AND VECTOR LOAD.

PDDL EXTEND
INDEX ADDRWD # LOAD MPAC,+1, PUSHING THE FORMER
Expand Down Expand Up @@ -590,7 +591,7 @@ ENDTPUSH TS MODE
TCF DANZIG

# Page 1126
# PDVL -- PUSHDOWN AND VECTOR LOAD
# PDVL -- PUSHDOWN AND VECTOR LOAD

PDVL EXTEND # RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
INDEX ADDRWD
Expand Down Expand Up @@ -624,7 +625,7 @@ VPDVL EXTEND # PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
TCF DANZIG

TPDVL EXTEND # ON TP, WE MUST LOAD THE Y COMPONENT
INDEX ADDRWD # BEFORE STORING MPAC +2 IN CASE THIS IS A
INDEX ADDRWD # BEFORE STORING MPAC +2 INCASE THIS IS A
DCA 2 # PUSHUP.
DXCH MPAC +3

Expand All @@ -633,7 +634,7 @@ TPDVL EXTEND # ON TP, WE MUST LOAD THE Y COMPONENT
TS 0 -1
TCF ENDVLOAD +4

# SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
# SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.

SSP INCR LOC # PICK UP THE WORD FOLLOWING THE GIVEN
INDEX LOC # ADDRESS AND STORE IT AT X.
Expand All @@ -646,14 +647,15 @@ STORE1 INDEX ADDRWD # SOME INDEX AND MISCELLANEOUS OPS END
# Page 1128
# SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
#
# THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
# 1. GOTO GO TO.
# 2. CALL CALL SUBROUTINE SETTING QPRET.
# 3. CGOTO COMPUTED GO TO.
# 4. CCALL COMPUTED CALL.
# 7. BPL BRANCH IF MPAC POSITIVE OR ZERO.
# 8. BZE BRANCH IF MPAC ZERO.
# 9. BMN BRANCH IF MPAC NEGATIVE NON-ZERO.
# THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
#
# 1. GOTO GO TO.
# 2. CALL CALL SUBROUTINE SETTING QPRET.
# 3. CGOTO COMPUTED GO TO.
# 4. CCALL COMPUTED CALL.
# 7. BPL BRANCH IF MPAC POSITIVE OR ZERO.
# 8. BZE BRANCH IF MPAC ZERO.
# 9. BMN BRANCH IF MPAC NEGATIVE NON-ZERO.

CCALL INCR LOC # MAINTAIN LOC FOR QPRET COMPUTATION
INDEX LOC
Expand All @@ -678,8 +680,8 @@ GOTO CA POLISH # BASIC BRANCHING SEQUENCE.
+1 MASK HIGH4
EXTEND
BZF GOTOERS # SEE IF ADDRESS POINTS TO FIXED OR ERAS.
+4 CA BANKSET # SET EBANK PART OF BBANK. NEXT, SET UP
TS BBANK # FBANK. THE COMBINATION IS PICKED UP &
+4 CA BANKSET # SET EBANK PART OF BBANK. NEXT, SET UP
TS BBANK # FBANK. THE COMBINATION IS PICKED UP &
CA POLISH # PUT INTO BANKSET AT INTPRET +2.
TS FBANK
MASK LOW10
Expand All @@ -689,8 +691,8 @@ GOTO CA POLISH # BASIC BRANCHING SEQUENCE.

EBANK= 1400 # SO YUL DOESN'T CUSS THE "CA 1400" BELOW.

GOTOERS CA POLISH # THE GIVEN ADDRESS IS IN ERASABLE -- SEE
AD -ENDVAC # IF RELATIVE TO THE WORK ARA.
GOTOERS CA POLISH # THE GIVEN ADDRESS IS IN ERASABLE - SEE
AD -ENDVAC # IF RELATIVE TO THE WORK AREA.
CCS A
CA POLISH # GENERAL ERASABLE.
TCF GOTOGE
Expand All @@ -710,11 +712,11 @@ GOTOGE TS EBANK
TS POLISH
TCF GOTO +1

CGOTO INDEX LOC # COMPUTED GO TO. PICK UP ADDRESS OF CADR
CA 1 # LIST
CGOTO INDEX LOC # COMPUTED GO TO. PICK UP ADDRESS OF CADR
CA 1 # LIST.
INDEX ADDRWD # ADD MODIFIER.
AD 0
TS FBANK # SELECT GOTO ADDRESS
TS FBANK # SELECT GOTO ADDRESS.
MASK LOW10
INDEX A
CA 10000
Expand Down Expand Up @@ -3060,4 +3062,3 @@ SWSKIP INCR LOC
SW/ EQUALS SWITCHES

+13D TCF DANZIG # 11 -- NOOP.