11/70 has no MFPS instruction
This commit is contained in:
parent
8b82095d49
commit
7e916a652e
1 changed files with 4 additions and 2 deletions
6
cpu.cpp
6
cpu.cpp
|
@ -1308,10 +1308,10 @@ bool cpu::single_operand_instructions(const uint16_t instr)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0b000110111: { // MFPS (get PSW to something) / SXT
|
case 0b000110111: { // MFPS (get PSW to something) / SXT
|
||||||
auto g_dst = getGAM(dst_mode, dst_reg, word_mode, false);
|
|
||||||
|
|
||||||
if (word_mode) { // MFPS
|
if (word_mode) { // MFPS
|
||||||
#if 0 // not in the PDP-11/70
|
#if 0 // not in the PDP-11/70
|
||||||
|
auto g_dst = getGAM(dst_mode, dst_reg, word_mode, false);
|
||||||
|
|
||||||
uint16_t temp = psw & 0xff;
|
uint16_t temp = psw & 0xff;
|
||||||
bool extend_b7 = psw & 128;
|
bool extend_b7 = psw & 128;
|
||||||
|
|
||||||
|
@ -1330,6 +1330,8 @@ bool cpu::single_operand_instructions(const uint16_t instr)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else { // SXT
|
else { // SXT
|
||||||
|
auto g_dst = getGAM(dst_mode, dst_reg, word_mode, false);
|
||||||
|
|
||||||
int32_t vl = -getPSW_n();
|
int32_t vl = -getPSW_n();
|
||||||
|
|
||||||
if (put_result(g_dst, vl)) {
|
if (put_result(g_dst, vl)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue