diff --git a/Docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp b/Docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp
index a7bb11e6e9..31c88990e1 100644
--- a/Docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp
+++ b/Docs/DSP/DSP_InterC/DSP_InterC/DSP_InterC.cpp
@@ -26,7 +26,7 @@ void Decode(uint16 startAddress, uint16 endAddress)
uint16 oldPC = g_currentAddress;
uint16 op = FetchOpcode();
- OutBuffer::Add("l_%4X:", oldPC);
+ OutBuffer::Add("// l_%4X:", oldPC);
DecodeOpcode(op);
}
}
diff --git a/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj b/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj
index 59e2e3ca74..9d602c98eb 100644
--- a/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj
+++ b/Source/Plugins/Plugin_DSP_LLE/Plugin_DSP_LLE.vcproj
@@ -754,6 +754,14 @@
RelativePath=".\Src\HLE_Functions.cpp"
>
+
+
+
+
>=(sint64 value)
- {
- sint64 acc = dsp_get_long_acc(m_num);
- acc >>= value;
- dsp_set_long_acc(m_num, acc);
- }
-
- void operator+=(sint64 value)
- {
- sint64 acc = dsp_get_long_acc(m_num);
- acc += value;
- dsp_set_long_acc(m_num, acc);
- }
-
- operator sint64()
- {
- return dsp_get_long_acc(m_num);
- }
-
- operator uint64()
- {
- return dsp_get_long_acc(m_num);
- }
-
-private:
-
- uint8 m_num;
-};
-
-
-ACCU ACC0(0);
-ACCU ACC1(1);
-
-
-class CProd
-{
-public:
- CProd()
- {
- }
-
- void operator=(sint64 value)
- {
- dsp_set_long_prod(value);
- }
-
- operator sint64()
- {
- return dsp_get_long_prod();
- }
-
-private:
-
-};
-
+TAccumulator<0> ACC0;
+TAccumulator<1> ACC1;
CProd PROD;
u16 HLE_ROM_80E7_81F8()
{
sint8 MultiplyModifier = GetMultiplyModifier();
-l_80E7:
- AX0_h = ReadDMEM(R00);
- R00++;
- ACC0 = 0;
- Update_SR_Register(ACC0);
-l_80E8:
- AX1_l = ReadDMEM(R01);
- R01++;
- ACC1 = 0;
- Update_SR_Register(ACC1);
-l_80E9:
- AC0_m = ReadDMEM(R02);
- R02++;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80EA:
- AC0_l = ReadDMEM(R02);
- R02++;
- ACC1 = 0;
- Update_SR_Register(ACC1);
-l_80EB:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
-l_80EC:
- AX0_h = ReadDMEM(R00);
- R00++;
-l_80ED:
- AC1_l = ReadDMEM(R02);
- R02++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80EE:
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_80EF:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_80F0:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80F1:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_80F2:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_80F3:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_80F4:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80F5:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_80F6:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_80F7:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_80F8:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80F9:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_80FA:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_80FB:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_80FC:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_80FD:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_80FE:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_80FF:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8100:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8101:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8102:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8103:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8104:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8105:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8106:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8107:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8108:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8109:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_810A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_810B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_810C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_810D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_810E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_810F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8110:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8111:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8112:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8113:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8114:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8115:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8116:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8117:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8118:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8119:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_811A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_811B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_811C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_811D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_811E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_811F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8120:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8121:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8122:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8123:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8124:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8125:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8126:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8127:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8128:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8129:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_812A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_812B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_812C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_812D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_812E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_812F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8130:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8131:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8132:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8133:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8134:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8135:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8136:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8137:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8138:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8139:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_813A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_813B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_813C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_813D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_813E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_813F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8140:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8141:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8142:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8143:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8144:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8145:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8146:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8147:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8148:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8149:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_814A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_814B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_814C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_814D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_814E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_814F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8150:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8151:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8152:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8153:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8154:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8155:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8156:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8157:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8158:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8159:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_815A:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_815B:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_815C:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_815D:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_815E:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_815F:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8160:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8161:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8162:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8163:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8164:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8165:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8166:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8167:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8168:
- WriteDMEM(R03, AC0_l);
- R03++;
-l_8169:
- ACC0 = PROD;
-l_816A:
- AX0_l = AC0_m;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_816B:
- R01++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_816C:
- WriteDMEM(R03, AC1_m);
- R03++;
-l_816D:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 = 0;
- Update_SR_Register(ACC0);
-l_816E:
- R00 = R04;
-l_816F:
- R02 = R05;
-l_8170:
- R03 = R02;
-l_8171:
- AX0_h = ReadDMEM(R00);
- R00++;
- ACC0 = 0;
- Update_SR_Register(ACC0);
-l_8172:
- AX1_l = ReadDMEM(R01);
- R01++;
- ACC1 = 0;
- Update_SR_Register(ACC1);
-l_8173:
- AC0_m = ReadDMEM(R02);
- R02++;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8174:
- AC0_l = ReadDMEM(R02);
- R02++;
- ACC1 = 0;
- Update_SR_Register(ACC1);
-l_8175:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
-l_8176:
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8177:
- AC1_l = ReadDMEM(R02);
- R02++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8178:
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8179:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_817A:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_817B:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_817C:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_817D:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_817E:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_817F:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8180:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8181:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8182:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8183:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8184:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8185:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8186:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8187:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8188:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8189:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_818A:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_818B:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_818C:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_818D:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_818E:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_818F:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8190:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8191:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8192:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8193:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_8194:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_8195:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_8196:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_8197:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_8198:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_8199:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_819A:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_819B:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_819C:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_819D:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_819E:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_819F:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81A0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81A1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81A2:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81A3:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81A4:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81A5:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81A6:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81A7:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81A8:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81A9:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81AA:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81AB:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81AC:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81AD:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81AE:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81AF:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81B0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81B1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81B2:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81B3:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81B4:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81B5:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81B6:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81B7:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81B8:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81B9:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81BA:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81BB:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81BC:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81BD:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81BE:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81BF:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81C0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81C1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81C2:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81C3:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81C4:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81C5:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81C6:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81C7:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81C8:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81C9:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81CA:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81CB:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81CC:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81CD:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81CE:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81CF:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81D0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81D1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81D2:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81D3:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81D4:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81D5:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81D6:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81D7:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81D8:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81D9:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81DA:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81DB:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81DC:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81DD:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81DE:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81DF:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81E0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81E1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81E2:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81E3:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81E4:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81E5:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81E6:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81E7:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81E8:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81E9:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81EA:
- WriteDMEM(R03, AC0_l);
- R03++;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81EB:
- AC0_m = ReadDMEM(R02);
- R02++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81EC:
- AC0_l = ReadDMEM(R02);
- R02++;
-l_81ED:
- WriteDMEM(R03, AC1_m);
- R03++;
- ACC0 <<= 16;
- Update_SR_Register(ACC0);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81EE:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81EF:
- AC1_m = ReadDMEM(R02);
- R02++;
- ACC0 >>= 16;
- Update_SR_Register(ACC0);
-l_81F0:
- AC1_l = ReadDMEM(R02);
- R02++;
-l_81F1:
- WriteDMEM(R03, AC0_m);
- R03++;
- ACC1 <<= 16;
- Update_SR_Register(ACC1);
- AX0_h = ReadDMEM(R00);
- R00++;
-l_81F2:
- WriteDMEM(R03, AC0_l);
- R03++;
-l_81F3:
- ACC0 = PROD;
-l_81F4:
- AX1_h = AC0_m;
- ACC1 += PROD;
- PROD = AX0_h * AX1_l * MultiplyModifier;
- Update_SR_Register(PROD);
-l_81F5:
- R01++;
- ACC1 >>= 16;
- Update_SR_Register(ACC1);
-l_81F6:
- WriteDMEM(R03, AC1_m);
- R03++;
-l_81F7:
- WriteDMEM(R03, AC1_l);
- R03++;
- ACC0 = 0;
- Update_SR_Register(ACC0);
-l_81F8:
+// l_80E7:
+ AX0_h = ReadDMEM(R00);
+ R00++;
+ ACC0 = 0;
+ Update_SR_Register(ACC0);
+// l_80E8:
+ AX1_l = ReadDMEM(R01);
+ R01++;
+ ACC1 = 0;
+ Update_SR_Register(ACC1);
+// l_80E9:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80EA:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+ ACC1 = 0;
+ Update_SR_Register(ACC1);
+// l_80EB:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+// l_80EC:
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_80ED:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80EE:
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_80EF:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_80F0:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80F1:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_80F2:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_80F3:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_80F4:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80F5:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_80F6:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_80F7:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_80F8:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80F9:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_80FA:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_80FB:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_80FC:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_80FD:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_80FE:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_80FF:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8100:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8101:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8102:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8103:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8104:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8105:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8106:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8107:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8108:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8109:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_810A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_810B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_810C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_810D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_810E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_810F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8110:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8111:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8112:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8113:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8114:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8115:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8116:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8117:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8118:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8119:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_811A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_811B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_811C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_811D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_811E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_811F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8120:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8121:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8122:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8123:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8124:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8125:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8126:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8127:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8128:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8129:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_812A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_812B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_812C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_812D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_812E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_812F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8130:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8131:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8132:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8133:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8134:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8135:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8136:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8137:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8138:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8139:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_813A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_813B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_813C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_813D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_813E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_813F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8140:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8141:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8142:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8143:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8144:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8145:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8146:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8147:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8148:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8149:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_814A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_814B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_814C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_814D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_814E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_814F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8150:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8151:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8152:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8153:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8154:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8155:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8156:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8157:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8158:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8159:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_815A:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_815B:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_815C:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_815D:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_815E:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_815F:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8160:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8161:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8162:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8163:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8164:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8165:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8166:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8167:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8168:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+// l_8169:
+ ACC0 = PROD;
+// l_816A:
+ AX0_l = AC0_m;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_816B:
+ R01++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_816C:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+// l_816D:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 = 0;
+ Update_SR_Register(ACC0);
+// l_816E:
+ R00 = R04;
+// l_816F:
+ R02 = R05;
+// l_8170:
+ R03 = R02;
+// l_8171:
+ AX0_h = ReadDMEM(R00);
+ R00++;
+ ACC0 = 0;
+ Update_SR_Register(ACC0);
+// l_8172:
+ AX1_l = ReadDMEM(R01);
+ R01++;
+ ACC1 = 0;
+ Update_SR_Register(ACC1);
+// l_8173:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8174:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+ ACC1 = 0;
+ Update_SR_Register(ACC1);
+// l_8175:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+// l_8176:
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8177:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8178:
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8179:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_817A:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_817B:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_817C:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_817D:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_817E:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_817F:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8180:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8181:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8182:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8183:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8184:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8185:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8186:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8187:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8188:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8189:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_818A:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_818B:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_818C:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_818D:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_818E:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_818F:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8190:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8191:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8192:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8193:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_8194:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_8195:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_8196:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_8197:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_8198:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_8199:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_819A:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_819B:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_819C:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_819D:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_819E:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_819F:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81A0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81A1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81A2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81A3:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81A4:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81A5:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81A6:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81A7:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81A8:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81A9:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81AA:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81AB:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81AC:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81AD:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81AE:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81AF:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81B0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81B1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81B2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81B3:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81B4:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81B5:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81B6:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81B7:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81B8:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81B9:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81BA:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81BB:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81BC:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81BD:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81BE:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81BF:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81C0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81C1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81C2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81C3:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81C4:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81C5:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81C6:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81C7:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81C8:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81C9:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81CA:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81CB:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81CC:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81CD:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81CE:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81CF:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81D0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81D1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81D2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81D3:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81D4:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81D5:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81D6:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81D7:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81D8:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81D9:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81DA:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81DB:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81DC:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81DD:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81DE:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81DF:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81E0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81E1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81E2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81E3:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81E4:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81E5:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81E6:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81E7:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81E8:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81E9:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81EA:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81EB:
+ AC0_m = ReadDMEM(R02);
+ R02++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81EC:
+ AC0_l = ReadDMEM(R02);
+ R02++;
+// l_81ED:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+ ACC0 <<= 16;
+ Update_SR_Register(ACC0);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81EE:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81EF:
+ AC1_m = ReadDMEM(R02);
+ R02++;
+ ACC0 >>= 16;
+ Update_SR_Register(ACC0);
+// l_81F0:
+ AC1_l = ReadDMEM(R02);
+ R02++;
+// l_81F1:
+ WriteDMEM(R03, AC0_m);
+ R03++;
+ ACC1 <<= 16;
+ Update_SR_Register(ACC1);
+ AX0_h = ReadDMEM(R00);
+ R00++;
+// l_81F2:
+ WriteDMEM(R03, AC0_l);
+ R03++;
+// l_81F3:
+ ACC0 = PROD;
+// l_81F4:
+ AX1_h = AC0_m;
+ ACC1 += PROD;
+ PROD = AX0_h * AX1_l * MultiplyModifier;
+ Update_SR_Register(PROD);
+// l_81F5:
+ R01++;
+ ACC1 >>= 16;
+ Update_SR_Register(ACC1);
+// l_81F6:
+ WriteDMEM(R03, AC1_m);
+ R03++;
+// l_81F7:
+ WriteDMEM(R03, AC1_l);
+ R03++;
+ ACC0 = 0;
+ Update_SR_Register(ACC0);
+// l_81F8:
//missing: dsp_opc_ret;
return 0x81f8;
diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.cpp
new file mode 100644
index 0000000000..ee82e38bdc
--- /dev/null
+++ b/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.cpp
@@ -0,0 +1,35 @@
+// Copyright (C) 2003-2008 Dolphin Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official SVN repository and contact information can be found at
+// http://code.google.com/p/dolphin-emu/
+
+#include "stdafx.h"
+
+#include "globals.h"
+#include "gdsp_interpreter.h"
+#include "gdsp_memory.h"
+#include "gdsp_opcodes_helper.h"
+
+
+bool WriteDMEM(uint16 addr, uint16 val)
+{
+ return dsp_dmem_write(addr, val);
+}
+
+uint16 ReadDMEM(uint16 addr)
+{
+ return dsp_dmem_read(addr);
+}
+
diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.h b/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.h
new file mode 100644
index 0000000000..f0e5abb76c
--- /dev/null
+++ b/Source/Plugins/Plugin_DSP_LLE/Src/HLE_Helper.h
@@ -0,0 +1,129 @@
+// Copyright (C) 2003-2008 Dolphin Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official SVN repository and contact information can be found at
+// http://code.google.com/p/dolphin-emu/
+
+#ifndef HLE_HELPER_H
+#define HLE_HELPER_H
+
+#include "gdsp_interpreter.h"
+
+bool WriteDMEM(uint16 addr, uint16 val);
+uint16 ReadDMEM(uint16 addr);
+void Update_SR_Register(sint64 _Value);
+sint8 GetMultiplyModifier();
+
+template
+class TAccumulator
+{
+public:
+
+ TAccumulator()
+ {
+ _dbg_assert_(N < 2);
+ }
+
+ void operator=(sint64 val)
+ {
+ setValue(val);
+ }
+
+ void operator<<=(sint64 value)
+ {
+ sint64 acc = getValue();
+ acc <<= value;
+ setValue(acc);
+ }
+
+ void operator>>=(sint64 value)
+ {
+ sint64 acc = getValue();
+ acc >>= value;
+ setValue(acc);
+ }
+
+ void operator+=(sint64 value)
+ {
+ sint64 acc = getValue();
+ acc += value;
+ setValue(acc);
+ }
+
+ operator sint64()
+ {
+ return getValue();
+ }
+
+ operator uint64()
+ {
+ return getValue();
+ }
+
+ inline void setValue(sint64 val)
+ {
+ g_dsp.r[0x1c + N] = (uint16)val;
+ val >>= 16;
+ g_dsp.r[0x1e + N] = (uint16)val;
+ val >>= 16;
+ g_dsp.r[0x10 + N] = (uint16)val;
+ }
+
+ inline sint64 getValue()
+ {
+ sint64 val;
+ sint64 low_acc;
+ val = (sint8)g_dsp.r[0x10 + N];
+ val <<= 32;
+ low_acc = g_dsp.r[0x1e + N];
+ low_acc <<= 16;
+ low_acc |= g_dsp.r[0x1c + N];
+ val |= low_acc;
+ return(val);
+ }
+};
+
+class CProd
+{
+public:
+ CProd()
+ {
+ }
+
+ void operator=(sint64 val)
+ {
+ g_dsp.r[0x14] = (uint16)val;
+ val >>= 16;
+ g_dsp.r[0x15] = (uint16)val;
+ val >>= 16;
+ g_dsp.r[0x16] = (uint16)val;
+ g_dsp.r[0x17] = 0;
+ }
+
+ operator sint64()
+ {
+ sint64 val;
+ sint64 low_prod;
+ val = (sint8)g_dsp.r[0x16];
+ val <<= 32;
+ low_prod = g_dsp.r[0x15];
+ low_prod += g_dsp.r[0x17];
+ low_prod <<= 16;
+ low_prod |= g_dsp.r[0x14];
+ val += low_prod;
+ return(val);
+ }
+};
+
+#endif
\ No newline at end of file