Cleaned up PDP register dump code

This commit is contained in:
Jeff Parsons 2017-02-23 16:56:08 -08:00 committed by Jeff Parsons
commit 884b74d96f
7 changed files with 574 additions and 616 deletions

View file

@ -912,7 +912,9 @@ class DebuggerPDP11 extends Debugger {
*/
getRegName(iReg)
{
return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC"));
var sReg;
if (iReg < DebuggerPDP11.REG_AR || this.panel) sReg = DebuggerPDP11.REGNAMES[iReg];
return sReg || "";
}
/**
@ -2273,63 +2275,10 @@ class DebuggerPDP11 extends Debugger {
*/
getRegOutput(iReg)
{
var sReg = "";
var cpu = this.cpu;
if (iReg < 8) {
sReg = this.getRegName(iReg);
sReg += '=' + this.toStrBase(cpu.regsGen[iReg]);
var sReg = this.getRegName(iReg);
if (sReg) {
sReg += '=' + this.toStrBase(this.getRegValue(iReg)) + ' ';
}
else if (iReg < 13) {
sReg = "A" + (iReg - 8) + '=' + this.toStrBase(cpu.regsAlt[iReg - 8]);
}
else if (iReg >= 16 && iReg < 20) {
sReg = "S" + (iReg - 16) + '=' + this.toStrBase(cpu.regsAltStack[iReg - 16]);
}
else {
switch(iReg) {
case DebuggerPDP11.REG_PS:
sReg = "PS=" + this.toStrBase(cpu.getPSW());
break;
case DebuggerPDP11.REG_PI:
sReg = "PI=" + this.toStrBase(cpu.getPIR());
break;
case DebuggerPDP11.REG_ER:
sReg = "ER=" + this.toStrBase(cpu.regErr);
break;
case DebuggerPDP11.REG_SL:
sReg = "SL=" + this.toStrBase(cpu.getSLR());
break;
case DebuggerPDP11.REG_M0:
sReg = "M0=" + this.toStrBase(cpu.getMMR0());
break;
case DebuggerPDP11.REG_M1:
sReg = "M1=" + this.toStrBase(cpu.getMMR1());
break;
case DebuggerPDP11.REG_M2:
sReg = "M2=" + this.toStrBase(cpu.getMMR2());
break;
case DebuggerPDP11.REG_M3:
sReg = "M3=" + this.toStrBase(cpu.getMMR3());
break;
case DebuggerPDP11.REG_AR:
if (this.panel) {
sReg = "AR=" + this.toStrBase(this.panel.getAR(), 3);
}
break;
case DebuggerPDP11.REG_DR:
if (this.panel) {
sReg = "DR=" + this.toStrBase(this.panel.getDR());
}
break;
case DebuggerPDP11.REG_SR:
if (this.panel) {
sReg = "SR=" + this.toStrBase(this.panel.getSR(), 3);
}
break;
}
}
if (sReg) sReg += ' ';
return sReg;
}
@ -4181,6 +4130,14 @@ if (DEBUGGER) {
"SR": DebuggerPDP11.REG_SR
};
DebuggerPDP11.REGNAMES = [
"R0", "R1", "R2", "R3", "R4", "R5", "SP", "PC",
"A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7",
"S0", "S1", "S2", "S3",
"PS", "PI", "ER", "SL", "M0", "M1", "M2", "M3",
"AR", "DR", "SR"
];
DebuggerPDP11.MODES = ["KI","KD","SI","SD","??","??","UI","UD"];
/*