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
35 changes: 21 additions & 14 deletions Comanche055/INTERPRETER.agc
Original file line number Diff line number Diff line change
Expand Up @@ -730,10 +730,12 @@ SWBRANCH CA BANKSET # SWITCH INSTRUCTIONS WHICH ELECT TO

# Page 1130
# TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:

# L+1 IF MPAC IS GREATER THAN ZERO.
# L+2 IF MPAC IS EQUAL TO +0 OR -0.
# L+3 IF MPAC IS LESS THAN ZERO.


BRANCH CCS MPAC
TC Q
TCF +2 # ON ZERO.
Expand All @@ -755,53 +757,58 @@ Q+1 INDEX Q
NEG INDEX Q # IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
TC 2


Q+2 = NEG

# ITRACE (3) REFERS TO "EXIT".

EXIT CA BANKSET # RESTORE USER'S BANK SETTING, AND LEAVE
TS BBANK # INTERPRETIVE MODE.
INDEX LOC
TC 1

# Page 1131
# SECTION 3 -- ADD/SUBTRACT PACKAGE.
#
# THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR

# THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR
# MPAC:
# 1. DAD DOUBLE PRECISION ADD.
# 2. DSU DOUBLE PRECISION SUBTRACT.
# 3. BDSU DOUBLE PRECISION SUBTRACT FROM.
# 4. TAD TRIPLE PRECISION ADD.
# 5. VAD VECTOR ADD.
# 6. VSU VECTOR SUBTRACT.
# 7. BVSU VECTOR SUBTRACT FROM.

# 1. DAD DOUBLE PRECISION ADD.
# 2. DSU DOUBLE PRECISION SUBTRACT.
# 3. BDSU DOUBLE PRECISION SUBTRACT FROM.

# 4. TAD TRIPLE PRECISION ADD.

# 5. VAD VECTOR ADD.
# 6. VSU VECTOR SUBTRACT.
# 7. BVSU VECTOR SUBTRACT FROM.

# THE INTERPRETIVE OVERFLOW INDICATOR OVFIND IS SET NON-ZERO IF OVERFLOW OCCURS IN ANY OF THE ABOVE.


VSU CAF BIT15 # CHANGES 0 TO DCS.
TCF +2

VAD CAF PRIO30 # CHANGES 0 TO DCA.
ADS ADDRWD
EXTEND
INDEX ADDRWD
READ HISCALAR # DCA 2 OR DCS 2
READ HISCALAR # DCA 2 OR DCS 2
DAS MPAC +3
EXTEND # CHECK OVERFLOW.
BZF +2
TC OVERFLWY

EXTEND
INDEX ADDRWD
READ CHAN5 # DCA 4 OR DCS 4
READ CHAN5 # DCA 4 OR DCS 4
DAS MPAC +5
EXTEND
BZF +2
TC OVERFLWZ

EXTEND
INDEX ADDRWD
READ LCHAN # DCA 0 OR DCS 0
READ LCHAN # DCA 0 OR DCS 0
TCF ENDVXV

DAD EXTEND
Expand Down Expand Up @@ -833,7 +840,7 @@ OVERFLOW INDEX A # ENTRY FOR 1ST COMP OR DP (L=0).
CS LIMITS # PICK UP POSMAX OR NEGMAX.
TS BUF
EXTEND
AUG A
AUG A # FORCE OVERFLOW.
INDEX L
ADS MPAC +1
TS 7
Expand Down