mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-12-20 09:55:58 +00:00
Division by zero triggers INT #231
This commit is contained in:
@@ -154,7 +154,6 @@ public class CPU implements MongoSerializable {
|
||||
|
||||
registerSetSize = registerSet.size();
|
||||
|
||||
// status.breakFlag = true;
|
||||
while (!status.isBreakFlag()) {
|
||||
counter++;
|
||||
|
||||
|
||||
@@ -32,9 +32,7 @@ public class DivInstruction extends Instruction {
|
||||
(cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF);
|
||||
|
||||
if (src.get(srcIndex) == 0) {
|
||||
//Division by 0
|
||||
status.setBreakFlag(true);
|
||||
status.setErrorFlag(true);
|
||||
cpu.interrupt(IntInstruction.INT_DIVISION_BY_ZERO);
|
||||
} else {
|
||||
cpu.getRegisterSet().getRegister("A").setValue((char) (source / (char) src.get(srcIndex)));
|
||||
cpu.getRegisterSet().getRegister("Y").setValue((char) (source % (char) src.get(srcIndex)));
|
||||
@@ -52,15 +50,12 @@ public class DivInstruction extends Instruction {
|
||||
(cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF);
|
||||
|
||||
if (src == 0) {
|
||||
//Division by 0
|
||||
status.setBreakFlag(true);
|
||||
status.setErrorFlag(true);
|
||||
cpu.interrupt(IntInstruction.INT_DIVISION_BY_ZERO);
|
||||
} else {
|
||||
cpu.getRegisterSet().getRegister("A").setValue((char) (source / (char) src));
|
||||
cpu.getRegisterSet().getRegister("Y").setValue((char) (source % (char) src));
|
||||
}
|
||||
|
||||
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user