changeset 4:e4aa55f2b90e

Filled in the instruction table
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Sat, 02 Jun 2007 00:32:27 -0400
parents 5188cbc52a00
children b91d6b730a57
files yaAGC/agc_engine.c
diffstat 1 files changed, 234 insertions(+), 239 deletions(-) [+]
line wrap: on
line diff
--- a/yaAGC/agc_engine.c	Thu May 31 23:06:13 2007 -0400
+++ b/yaAGC/agc_engine.c	Sat Jun 02 00:32:27 2007 -0400
@@ -399,135 +399,241 @@
     NextZ += 2;
 }
 
+// TCF instruction (1 MCT).
+void AGC_INST_TCF(State_t *state)
+{
+  BacktraceAdd (State, 0);
+  NextZ = Address12;
+  // THAT was easy ... too easy ...
+}
+
+// DAS instruction (3 MCT).  
+void AGC_INST_DAS(State_t *state)
+{
+  // We add the less-significant words (as SP values), and thus
+  // the sign of the lower word of the output does not necessarily 
+  // match the sign of the upper word.
+  int Msw, Lsw;
+  if (IsL (Address10))	// DDOUBL
+    {
+      Lsw = AddSP16 (0177777 & c (RegL), 0177777 & c (RegL));
+      Msw = AddSP16 (Accumulator, Accumulator);
+      if ((0140000 & Lsw) == 0040000)
+        Msw = AddSP16 (Msw, AGC_P1);
+      else if ((0140000 & Lsw) == 0100000)
+        Msw = AddSP16 (Msw, SignExtend (AGC_M1));
+      Lsw = OverflowCorrected (Lsw);
+      c (RegA) = 0177777 & Msw;
+      c (RegL) = 0177777 & SignExtend (Lsw);
+      return;
+    }
+  WhereWord = FindMemoryWord (State, Address10);
+  if (Address10 < REG16)
+    Lsw = AddSP16 (0177777 & c (RegL), 0177777 & c (Address10));
+  else
+    Lsw = AddSP16 (0177777 & c (RegL), SignExtend (*WhereWord));
+  if (Address10 < REG16 + 1)
+    Msw = AddSP16 (Accumulator, 0177777 & c (Address10 - 1));
+  else
+    Msw = AddSP16 (Accumulator, SignExtend (WhereWord[-1]));
+  
+  if ((0140000 & Lsw) == 0040000)
+    Msw = AddSP16 (Msw, AGC_P1);
+  else if ((0140000 & Lsw) == 0100000)
+    Msw = AddSP16 (Msw, SignExtend (AGC_M1));
+  Lsw = OverflowCorrected (Lsw);
+  
+  if ((0140000 & Msw) == 0100000)
+    c (RegA) = SignExtend (AGC_M1);
+  else if ((0140000 & Msw) == 0040000)
+    c (RegA) = AGC_P1;
+  else
+    c (RegA) = AGC_P0;
+  c (RegL) = AGC_P0;
+  // Save the results.
+  if (Address10 < REG16)
+    c (Address10) = SignExtend (Lsw);
+  else
+    AssignFromPointer (State, WhereWord, Lsw);
+  if (Address10 < REG16 + 1)
+    c (Address10 - 1) = Msw;
+  else
+    AssignFromPointer (State, WhereWord - 1, OverflowCorrected (Msw));
+}
+
+// "LXCH K" instruction (2 MCT). 
+void AGC_INST_LXCH(State_t *state)
+{
+  if (IsL (Address10))
+    return;
+  if (IsReg (Address10, RegZERO))	// ZL
+    c (RegL) = AGC_P0;
+  else if (Address10 < REG16)
+    {
+       Operand16 = c (RegL);
+       c (RegL) = c (Address10);
+       if (Address10 >= 020 && Address10 <= 023)
+         AssignFromPointer (State, WhereWord,
+ 		       OverflowCorrected (0177777 & Operand16));
+       else
+         c (Address10) = Operand16;
+       if (Address10 == RegZ)
+         NextZ = c (RegZ);
+    }
+  else
+    {
+       WhereWord = FindMemoryWord (State, Address10);
+       Operand16 = *WhereWord;
+       AssignFromPointer (State, WhereWord,
+		     OverflowCorrected (0177777 & c (RegL)));
+       c (RegL) = SignExtend (Operand16);
+    }
+}
+
+// INCR instruction (2 MCT).
+void AGC_INST_INCR(State_t *state)
+{
+  int Sum;
+  WhereWord = FindMemoryWord (State, Address10);
+  if (Address10 < REG16)
+  	c (Address10) = AddSP16 (AGC_P1, 0177777 & c (Address10));
+  else
+    {
+  	Sum = AddSP16 (AGC_P1, SignExtend (*WhereWord));
+  	AssignFromPointer (State, WhereWord, OverflowCorrected (Sum));
+  	InterruptRequests (State, Address10, Sum);
+    }
+}
+
 static const InstructionInfo_t Instructions[0200] = {
-  { .time = 0, .func = AGC_INST_TC }, // 0000
-  { .time = 0, .func = AGC_INST_TC }, // 0001
-  { .time = 0, .func = AGC_INST_TC }, // 0002
-  { .time = 0, .func = AGC_INST_TC }, // 0003
-  { .time = 0, .func = AGC_INST_TC }, // 0004
-  { .time = 0, .func = AGC_INST_TC }, // 0005
-  { .time = 0, .func = AGC_INST_TC }, // 0006
-  { .time = 0, .func = AGC_INST_TC }, // 0007
-  { .time = 1, .func = AGC_INST_CCS }, // 0010
-  { .time = 1, .func = AGC_INST_CCS }, // 0011
-  { .time = 0, .func = AGC_INST_TCF }, // 0012
-  { .time = 0, .func = AGC_INST_TCF }, // 0013
-  { .time = 0, .func = AGC_INST_TCF }, // 0014
-  { .time = 0, .func = AGC_INST_TCF }, // 0015
-  { .time = 0, .func = AGC_INST_TCF }, // 0016
-  { .time = 0, .func = AGC_INST_TCF }, // 0017
-  { .time = 2, .func = AGC_INST_DAS }, // 0020
-  { .time = 2, .func = AGC_INST_DAS }, // 0021
-  { .time = 1, .func = AGC_INST_LXCH }, // 0022
-  { .time = 1, .func = AGC_INST_LXCH }, // 0023
-  { .time = 1, .func = NULL }, // 0024
-  { .time = 1, .func = NULL }, // 0025
-  { .time = 1, .func = NULL }, // 0026
-  { .time = 1, .func = NULL }, // 0027
-  { .time = 1, .func = NULL }, // 0030
-  { .time = 1, .func = NULL }, // 0031
-  { .time = 1, .func = NULL }, // 0032
-  { .time = 1, .func = NULL }, // 0033
-  { .time = 1, .func = NULL }, // 0034
-  { .time = 1, .func = NULL }, // 0035
-  { .time = 1, .func = NULL }, // 0036
-  { .time = 1, .func = NULL }, // 0037
-  { .time = 1, .func = NULL }, // 0040
-  { .time = 1, .func = NULL }, // 0041
-  { .time = 1, .func = NULL }, // 0042
-  { .time = 1, .func = NULL }, // 0043
-  { .time = 1, .func = NULL }, // 0044
-  { .time = 1, .func = NULL }, // 0045
-  { .time = 1, .func = NULL }, // 0046
-  { .time = 1, .func = NULL }, // 0047
-  { .time = 1, .func = NULL }, // 0050
-  { .time = 1, .func = NULL }, // 0051
-  { .time = 2, .func = NULL }, // 0052
-  { .time = 2, .func = NULL }, // 0053
-  { .time = 1, .func = NULL }, // 0054
-  { .time = 1, .func = NULL }, // 0055
-  { .time = 1, .func = NULL }, // 0056
-  { .time = 1, .func = NULL }, // 0057
-  { .time = 1, .func = NULL }, // 0060
-  { .time = 1, .func = NULL }, // 0061
-  { .time = 1, .func = NULL }, // 0062
-  { .time = 1, .func = NULL }, // 0063
-  { .time = 1, .func = NULL }, // 0064
-  { .time = 1, .func = NULL }, // 0065
-  { .time = 1, .func = NULL }, // 0066
-  { .time = 1, .func = NULL }, // 0067
-  { .time = 1, .func = NULL }, // 0070
-  { .time = 1, .func = NULL }, // 0071
-  { .time = 1, .func = NULL }, // 0072
-  { .time = 1, .func = NULL }, // 0073
-  { .time = 1, .func = NULL }, // 0074
-  { .time = 1, .func = NULL }, // 0075
-  { .time = 1, .func = NULL }, // 0076
-  { .time = 1, .func = NULL }, // 0077
-  { .time = 1, .func = NULL }, // 0100
-  { .time = 1, .func = NULL }, // 0101
-  { .time = 1, .func = NULL }, // 0102
-  { .time = 1, .func = NULL }, // 0103
-  { .time = 1, .func = NULL }, // 0104
-  { .time = 1, .func = NULL }, // 0105
-  { .time = 1, .func = NULL }, // 0106
-  { .time = 1, .func = NULL }, // 0107
-  { .time = 5, .func = NULL }, // 0110
-  { .time = 5, .func = NULL }, // 0111
-  { .time = 0, .func = NULL }, // 0112
-  { .time = 0, .func = NULL }, // 0113
-  { .time = 0, .func = NULL }, // 0114
-  { .time = 0, .func = NULL }, // 0115
-  { .time = 0, .func = NULL }, // 0116
-  { .time = 0, .func = NULL }, // 0117
-  { .time = 1, .func = NULL }, // 0120
-  { .time = 1, .func = NULL }, // 0121
-  { .time = 1, .func = NULL }, // 0122
-  { .time = 1, .func = NULL }, // 0123
-  { .time = 1, .func = NULL }, // 0124
-  { .time = 1, .func = NULL }, // 0125
-  { .time = 1, .func = NULL }, // 0126
-  { .time = 1, .func = NULL }, // 0127
-  { .time = 2, .func = NULL }, // 0130
-  { .time = 2, .func = NULL }, // 0131
-  { .time = 2, .func = NULL }, // 0132
-  { .time = 2, .func = NULL }, // 0133
-  { .time = 2, .func = NULL }, // 0134
-  { .time = 2, .func = NULL }, // 0135
-  { .time = 2, .func = NULL }, // 0136
-  { .time = 2, .func = NULL }, // 0137
-  { .time = 2, .func = NULL }, // 0140
-  { .time = 2, .func = NULL }, // 0141
-  { .time = 2, .func = NULL }, // 0142
-  { .time = 2, .func = NULL }, // 0143
-  { .time = 2, .func = NULL }, // 0144
-  { .time = 2, .func = NULL }, // 0145
-  { .time = 2, .func = NULL }, // 0146
-  { .time = 2, .func = NULL }, // 0147
-  { .time = 1, .func = NULL }, // 0150
-  { .time = 1, .func = NULL }, // 0151
-  { .time = 1, .func = NULL }, // 0152
-  { .time = 1, .func = NULL }, // 0153
-  { .time = 1, .func = NULL }, // 0154
-  { .time = 1, .func = NULL }, // 0155
-  { .time = 1, .func = NULL }, // 0156
-  { .time = 1, .func = NULL }, // 0157
-  { .time = 1, .func = NULL }, // 0160
-  { .time = 1, .func = NULL }, // 0161
-  { .time = 0, .func = NULL }, // 0162
-  { .time = 0, .func = NULL }, // 0163
-  { .time = 0, .func = NULL }, // 0164
-  { .time = 0, .func = NULL }, // 0165
-  { .time = 0, .func = NULL }, // 0166
-  { .time = 0, .func = NULL }, // 0167
-  { .time = 2, .func = NULL }, // 0170
-  { .time = 2, .func = NULL }, // 0171
-  { .time = 2, .func = NULL }, // 0172
-  { .time = 2, .func = NULL }, // 0173
-  { .time = 2, .func = NULL }, // 0174
-  { .time = 2, .func = NULL }, // 0175
-  { .time = 2, .func = NULL }, // 0176
-  { .time = 2, .func = NULL }, // 0177
+  { .time = 0, .func = AGC_INST_TC },		// 0000
+  { .time = 0, .func = AGC_INST_TC },		// 0001
+  { .time = 0, .func = AGC_INST_TC },		// 0002
+  { .time = 0, .func = AGC_INST_TC },		// 0003
+  { .time = 0, .func = AGC_INST_TC },		// 0004
+  { .time = 0, .func = AGC_INST_TC },		// 0005
+  { .time = 0, .func = AGC_INST_TC },		// 0006
+  { .time = 0, .func = AGC_INST_TC },		// 0007
+  { .time = 1, .func = AGC_INST_CCS },		// 0010
+  { .time = 1, .func = AGC_INST_CCS },		// 0011
+  { .time = 0, .func = AGC_INST_TCF },		// 0012
+  { .time = 0, .func = AGC_INST_TCF },		// 0013
+  { .time = 0, .func = AGC_INST_TCF },		// 0014
+  { .time = 0, .func = AGC_INST_TCF },		// 0015
+  { .time = 0, .func = AGC_INST_TCF },		// 0016
+  { .time = 0, .func = AGC_INST_TCF },		// 0017
+  { .time = 2, .func = AGC_INST_DAS },		// 0020
+  { .time = 2, .func = AGC_INST_DAS },		// 0021
+  { .time = 1, .func = AGC_INST_LXCH },		// 0022
+  { .time = 1, .func = AGC_INST_LXCH },		// 0023
+  { .time = 1, .func = AGC_INST_INCR },		// 0024
+  { .time = 1, .func = AGC_INST_INCR },		// 0025
+  { .time = 1, .func = AGC_INST_ADS },		// 0026
+  { .time = 1, .func = AGC_INST_ADS },		// 0027
+  { .time = 1, .func = AGC_INST_CA },		// 0030
+  { .time = 1, .func = AGC_INST_CA },		// 0031
+  { .time = 1, .func = AGC_INST_CA },		// 0032
+  { .time = 1, .func = AGC_INST_CA },		// 0033
+  { .time = 1, .func = AGC_INST_CA },		// 0034
+  { .time = 1, .func = AGC_INST_CA },		// 0035
+  { .time = 1, .func = AGC_INST_CA },		// 0036
+  { .time = 1, .func = AGC_INST_CA },		// 0037
+  { .time = 1, .func = AGC_INST_CS },		// 0040
+  { .time = 1, .func = AGC_INST_CS },		// 0041
+  { .time = 1, .func = AGC_INST_CS },		// 0042
+  { .time = 1, .func = AGC_INST_CS },		// 0043
+  { .time = 1, .func = AGC_INST_CS },		// 0044
+  { .time = 1, .func = AGC_INST_CS },		// 0045
+  { .time = 1, .func = AGC_INST_CS },		// 0046
+  { .time = 1, .func = AGC_INST_CS },		// 0047
+  { .time = 1, .func = AGC_INST_INDEX },	// 0050
+  { .time = 1, .func = AGC_INST_INDEX },	// 0051
+  { .time = 2, .func = AGC_INST_DXCH },		// 0052
+  { .time = 2, .func = AGC_INST_DXCH },		// 0053
+  { .time = 1, .func = AGC_INST_TS },		// 0054
+  { .time = 1, .func = AGC_INST_TS },		// 0055
+  { .time = 1, .func = AGC_INST_XCH },		// 0056
+  { .time = 1, .func = AGC_INST_XCH },		// 0057
+  { .time = 1, .func = AGC_INST_AD },		// 0060
+  { .time = 1, .func = AGC_INST_AD },		// 0061
+  { .time = 1, .func = AGC_INST_AD },		// 0062
+  { .time = 1, .func = AGC_INST_AD },		// 0063
+  { .time = 1, .func = AGC_INST_AD },		// 0064
+  { .time = 1, .func = AGC_INST_AD },		// 0065
+  { .time = 1, .func = AGC_INST_AD },		// 0066
+  { .time = 1, .func = AGC_INST_AD },		// 0067
+  { .time = 1, .func = AGC_INST_MASK },		// 0070
+  { .time = 1, .func = AGC_INST_MASK },		// 0071
+  { .time = 1, .func = AGC_INST_MASK },		// 0072
+  { .time = 1, .func = AGC_INST_MASK },		// 0073
+  { .time = 1, .func = AGC_INST_MASK },		// 0074
+  { .time = 1, .func = AGC_INST_MASK },		// 0075
+  { .time = 1, .func = AGC_INST_MASK },		// 0076
+  { .time = 1, .func = AGC_INST_MASK },		// 0077
+  { .time = 1, .func = AGC_INST_READ },		// 0100
+  { .time = 1, .func = AGC_INST_WRITE },	// 0101
+  { .time = 1, .func = AGC_INST_RAND },		// 0102
+  { .time = 1, .func = AGC_INST_WAND },		// 0103
+  { .time = 1, .func = AGC_INST_ROR },		// 0104
+  { .time = 1, .func = AGC_INST_WOR },		// 0105
+  { .time = 1, .func = AGC_INST_RXOR },		// 0106
+  { .time = 1, .func = AGC_INST_EDRUPT },	// 0107
+  { .time = 5, .func = AGC_INST_DV },		// 0110
+  { .time = 5, .func = AGC_INST_DV },		// 0111
+  { .time = 0, .func = AGC_INST_BZF },		// 0112
+  { .time = 0, .func = AGC_INST_BZF },		// 0113
+  { .time = 0, .func = AGC_INST_BZF },		// 0114
+  { .time = 0, .func = AGC_INST_BZF },		// 0115
+  { .time = 0, .func = AGC_INST_BZF },		// 0116
+  { .time = 0, .func = AGC_INST_BZF },		// 0117
+  { .time = 1, .func = AGC_INST_MSU },		// 0120
+  { .time = 1, .func = AGC_INST_MSU },		// 0121
+  { .time = 1, .func = AGC_INST_QXCH },		// 0122
+  { .time = 1, .func = AGC_INST_QXCH },		// 0123
+  { .time = 1, .func = AGC_INST_AUG },		// 0124
+  { .time = 1, .func = AGC_INST_AUG },		// 0125
+  { .time = 1, .func = AGC_INST_DIM },		// 0126
+  { .time = 1, .func = AGC_INST_DIM },		// 0127
+  { .time = 2, .func = AGC_INST_DCA },		// 0130
+  { .time = 2, .func = AGC_INST_DCA },		// 0131
+  { .time = 2, .func = AGC_INST_DCA },		// 0132
+  { .time = 2, .func = AGC_INST_DCA },		// 0133
+  { .time = 2, .func = AGC_INST_DCA },		// 0134
+  { .time = 2, .func = AGC_INST_DCA },		// 0135
+  { .time = 2, .func = AGC_INST_DCA },		// 0136
+  { .time = 2, .func = AGC_INST_DCA },		// 0137
+  { .time = 2, .func = AGC_INST_DCS },		// 0140
+  { .time = 2, .func = AGC_INST_DCS },		// 0141
+  { .time = 2, .func = AGC_INST_DCS },		// 0142
+  { .time = 2, .func = AGC_INST_DCS },		// 0143
+  { .time = 2, .func = AGC_INST_DCS },		// 0144
+  { .time = 2, .func = AGC_INST_DCS },		// 0145
+  { .time = 2, .func = AGC_INST_DCS },		// 0146
+  { .time = 2, .func = AGC_INST_DCS },		// 0147
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0150
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0151
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0152
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0153
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0154
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0155
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0156
+  { .time = 1, .func = AGC_INDEX_INDEX },	// 0157
+  { .time = 1, .func = AGC_INST_SU },		// 0160
+  { .time = 1, .func = AGC_INST_SU },		// 0161
+  { .time = 0, .func = AGC_INST_BZMF },		// 0162
+  { .time = 0, .func = AGC_INST_BZMF },		// 0163
+  { .time = 0, .func = AGC_INST_BZMF },		// 0164
+  { .time = 0, .func = AGC_INST_BZMF },		// 0165
+  { .time = 0, .func = AGC_INST_BZMF },		// 0166
+  { .time = 0, .func = AGC_INST_BZMF },		// 0167
+  { .time = 2, .func = AGC_INST_MP },		// 0170
+  { .time = 2, .func = AGC_INST_MP },		// 0171
+  { .time = 2, .func = AGC_INST_MP },		// 0172
+  { .time = 2, .func = AGC_INST_MP },		// 0173
+  { .time = 2, .func = AGC_INST_MP },		// 0174
+  { .time = 2, .func = AGC_INST_MP },		// 0175
+  { .time = 2, .func = AGC_INST_MP },		// 0176
+  { .time = 2, .func = AGC_INST_MP },		// 0177
 };
 
 // A way, for debugging, to disable interrupts. The 0th entry disables 
@@ -2105,117 +2211,6 @@
 
   switch (ExtendedOpcode)
     {
-    case 012:			// TCF. 
-    case 013:
-    case 014:
-    case 015:
-    case 016:
-    case 017:
-      BacktraceAdd (State, 0);
-      // TCF instruction (1 MCT).
-      NextZ = Address12;
-      // THAT was easy ... too easy ...
-      break;
-    case 020:			// DAS.
-    case 021:
-      //DasInstruction:
-      // DAS instruction (3 MCT).  
-      {
-	// We add the less-significant words (as SP values), and thus
-	// the sign of the lower word of the output does not necessarily 
-	// match the sign of the upper word.
-	int Msw, Lsw;
-	if (IsL (Address10))	// DDOUBL
-	  {
-	    Lsw = AddSP16 (0177777 & c (RegL), 0177777 & c (RegL));
-	    Msw = AddSP16 (Accumulator, Accumulator);
-	    if ((0140000 & Lsw) == 0040000)
-	      Msw = AddSP16 (Msw, AGC_P1);
-	    else if ((0140000 & Lsw) == 0100000)
-	      Msw = AddSP16 (Msw, SignExtend (AGC_M1));
-	    Lsw = OverflowCorrected (Lsw);
-	    c (RegA) = 0177777 & Msw;
-	    c (RegL) = 0177777 & SignExtend (Lsw);
-	    break;
-	  }
-	WhereWord = FindMemoryWord (State, Address10);
-	if (Address10 < REG16)
-	  Lsw = AddSP16 (0177777 & c (RegL), 0177777 & c (Address10));
-	else
-	  Lsw = AddSP16 (0177777 & c (RegL), SignExtend (*WhereWord));
-	if (Address10 < REG16 + 1)
-	  Msw = AddSP16 (Accumulator, 0177777 & c (Address10 - 1));
-	else
-	  Msw = AddSP16 (Accumulator, SignExtend (WhereWord[-1]));
-
-	if ((0140000 & Lsw) == 0040000)
-	  Msw = AddSP16 (Msw, AGC_P1);
-	else if ((0140000 & Lsw) == 0100000)
-	  Msw = AddSP16 (Msw, SignExtend (AGC_M1));
-	Lsw = OverflowCorrected (Lsw);
-
-	if ((0140000 & Msw) == 0100000)
-	  c (RegA) = SignExtend (AGC_M1);
-	else if ((0140000 & Msw) == 0040000)
-	  c (RegA) = AGC_P1;
-	else
-	  c (RegA) = AGC_P0;
-	c (RegL) = AGC_P0;
-	// Save the results.
-	if (Address10 < REG16)
-	  c (Address10) = SignExtend (Lsw);
-	else
-	  AssignFromPointer (State, WhereWord, Lsw);
-	if (Address10 < REG16 + 1)
-	  c (Address10 - 1) = Msw;
-	else
-	  AssignFromPointer (State, WhereWord - 1, OverflowCorrected (Msw));
-      }
-      break;
-    case 022:			// LXCH. 
-    case 023:
-      // "LXCH K" instruction (2 MCT). 
-      if (IsL (Address10))
-	break;
-      if (IsReg (Address10, RegZERO))	// ZL
-	c (RegL) = AGC_P0;
-      else if (Address10 < REG16)
-	{
-	  Operand16 = c (RegL);
-	  c (RegL) = c (Address10);
-	  if (Address10 >= 020 && Address10 <= 023)
-	    AssignFromPointer (State, WhereWord,
-			       OverflowCorrected (0177777 & Operand16));
-	  else
-	    c (Address10) = Operand16;
-	  if (Address10 == RegZ)
-	    NextZ = c (RegZ);
-	}
-      else
-	{
-	  WhereWord = FindMemoryWord (State, Address10);
-	  Operand16 = *WhereWord;
-	  AssignFromPointer (State, WhereWord,
-			     OverflowCorrected (0177777 & c (RegL)));
-	  c (RegL) = SignExtend (Operand16);
-	}
-      break;
-    case 024:			// INCR.  
-    case 025:
-      // INCR instruction (2 MCT).
-      {
-	int Sum;
-	WhereWord = FindMemoryWord (State, Address10);
-	if (Address10 < REG16)
-	  c (Address10) = AddSP16 (AGC_P1, 0177777 & c (Address10));
-	else
-	  {
-	    Sum = AddSP16 (AGC_P1, SignExtend (*WhereWord));
-	    AssignFromPointer (State, WhereWord, OverflowCorrected (Sum));
-	    InterruptRequests (State, Address10, Sum);
-	  }
-      }
-      break;
     case 026:			// ADS.  Reviewed against Blair-Smith.
     case 027:
       // ADS instruction (2 MCT).