code cleanup
This commit is contained in:
parent
cbcede499a
commit
16cd77ddb6
1 changed files with 7 additions and 26 deletions
33
cpu.cpp
33
cpu.cpp
|
@ -940,10 +940,7 @@ bool cpu::condition_code_operations(const uint16_t instr)
|
||||||
setPSW_spl(level);
|
setPSW_spl(level);
|
||||||
|
|
||||||
// trap via vector 010
|
// trap via vector 010
|
||||||
pushStack(getPSW());
|
trap(010);
|
||||||
pushStack(getPC());
|
|
||||||
setPSW(b->readWord(012));
|
|
||||||
setPC(b->readWord(010));
|
|
||||||
|
|
||||||
fprintf(stderr, "SPL%d, new pc: %06o\n", level, getPC());
|
fprintf(stderr, "SPL%d, new pc: %06o\n", level, getPC());
|
||||||
|
|
||||||
|
@ -1010,17 +1007,11 @@ bool cpu::misc_operations(const uint16_t instr)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case 0b0000000000000011: // BPT
|
case 0b0000000000000011: // BPT
|
||||||
pushStack(getPSW());
|
trap(014);
|
||||||
pushStack(getPC());
|
|
||||||
setPC(b -> readWord(014));
|
|
||||||
setPSW(b -> readWord(016));
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case 0b0000000000000100: // IOT
|
case 0b0000000000000100: // IOT
|
||||||
pushStack(getPSW());
|
trap(020);
|
||||||
pushStack(getPC());
|
|
||||||
setPC(b -> readWord(020));
|
|
||||||
setPSW(b -> readWord(022));
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case 0b0000000000000110: // RTT
|
case 0b0000000000000110: // RTT
|
||||||
|
@ -1031,12 +1022,8 @@ bool cpu::misc_operations(const uint16_t instr)
|
||||||
case 0b0000000000000111: // MFPT
|
case 0b0000000000000111: // MFPT
|
||||||
if (emulateMFPT)
|
if (emulateMFPT)
|
||||||
setRegister(0, true, 1); // PDP-11/44
|
setRegister(0, true, 1); // PDP-11/44
|
||||||
else {
|
else
|
||||||
pushStack(getPSW());
|
trap(012);
|
||||||
pushStack(getPC());
|
|
||||||
setPC(b -> readWord(012));
|
|
||||||
setPSW(b -> readWord(014));
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case 0b0000000000000101: // RESET
|
case 0b0000000000000101: // RESET
|
||||||
|
@ -1045,19 +1032,13 @@ bool cpu::misc_operations(const uint16_t instr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((instr >> 8) == 0b10001000) { // EMT
|
if ((instr >> 8) == 0b10001000) { // EMT
|
||||||
pushStack(getPSW());
|
trap(030);
|
||||||
pushStack(getPC());
|
|
||||||
setPC(b -> readWord(030));
|
|
||||||
setPSW(b -> readWord(032));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((instr >> 8) == 0b10001001) { // TRAP
|
if ((instr >> 8) == 0b10001001) { // TRAP
|
||||||
pushStack(getPSW());
|
trap(034);
|
||||||
pushStack(getPC());
|
|
||||||
switchModeToKernel();
|
switchModeToKernel();
|
||||||
setPC(b -> readWord(034));
|
|
||||||
setPSW(b -> readWord(036));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue