Refer to all 11/45+ instructions as 11/45, rather than 11/70, since the 11/70 doesn't appear to have added any instructions to the 11/45's set

This commit is contained in:
Jeff Parsons 2016-10-15 13:34:02 -07:00 committed by Jeff Parsons
commit 2ce661e141
4 changed files with 48 additions and 48 deletions

View file

@ -107,7 +107,7 @@ function BusPDP11(parmsBus, cpu, dbg)
/*
* WARNING: Instead of dynamically calculating nBlockShift based on nBusWidth, as described above, we
* now force nBlockSize to IOPAGE_LENGTH, because that's what our IOController functions currently require.
* now force nBlockSize to IOPAGE_LENGTH, because that's what our IOController functions currently assume.
*
* this.nBlockShift = (this.nBusWidth >> 1) + 2;
* if (this.nBlockShift < 10) this.nBlockShift = 10;

View file

@ -37,7 +37,7 @@ if (NODE) {
}
/*
* Decoding starts at the bottom of this file, in op1120() and op1170().
* Decoding starts at the bottom of this file, in op1120() and op1145().
*
* The basic decoding approach is to dispatch on the top 4 bits of the opcode, and if further
* decoding is required, the dispatched function will dispatch on the next 4 bits, and so on
@ -2088,103 +2088,103 @@ PDP11.aOp8CXn_1120 = [
];
/**
* op1170(opCode)
* op1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1170 = function(opCode)
PDP11.op1145 = function(opCode)
{
PDP11.aOpXnnn_1170[opCode >> 12].call(this, opCode);
PDP11.aOpXnnn_1145[opCode >> 12].call(this, opCode);
};
/**
* op0Xnn_1170(opCode)
* op0Xnn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0Xnn_1170 = function(opCode)
PDP11.op0Xnn_1145 = function(opCode)
{
PDP11.aOp0Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp0Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op0DXn_1170(opCode)
* op0DXn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0DXn_1170 = function(opCode)
PDP11.op0DXn_1145 = function(opCode)
{
PDP11.aOp0DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
PDP11.aOp0DXn_1145[(opCode >> 6) & 0x3].call(this, opCode);
};
/**
* op00Xn_1170(opCode)
* op00Xn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op00Xn_1170 = function(opCode)
PDP11.op00Xn_1145 = function(opCode)
{
PDP11.aOp00Xn_1170[(opCode >> 4) & 0xf].call(this, opCode);
PDP11.aOp00Xn_1145[(opCode >> 4) & 0xf].call(this, opCode);
};
/**
* op000X_1170(opCode)
* op000X_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op000X_1170 = function(opCode)
PDP11.op000X_1145 = function(opCode)
{
PDP11.aOp000X_1170[opCode & 0xf].call(this, opCode);
PDP11.aOp000X_1145[opCode & 0xf].call(this, opCode);
};
/**
* op7Xnn_1170(opCode)
* op7Xnn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op7Xnn_1170 = function(opCode)
PDP11.op7Xnn_1145 = function(opCode)
{
PDP11.aOp7Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp7Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8Xnn_1170(opCode)
* op8Xnn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8Xnn_1170 = function(opCode)
PDP11.op8Xnn_1145 = function(opCode)
{
PDP11.aOp8Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp8Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8DXn_1170(opCode)
* op8DXn_1145(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8DXn_1170 = function(opCode)
PDP11.op8DXn_1145 = function(opCode)
{
PDP11.aOp8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
PDP11.aOp8DXn_1145[(opCode >> 6) & 0x3].call(this, opCode);
};
PDP11.aOpXnnn_1170 = [
PDP11.op0Xnn_1170, // 0x0nnn
PDP11.aOpXnnn_1145 = [
PDP11.op0Xnn_1145, // 0x0nnn
PDP11.opMOV, // 0x1nnn 01SSDD 11/20+ 2.3
PDP11.opCMP, // 0x2nnn 02SSDD 11/20+ 2.3*
PDP11.opBIT, // 0x3nnn 03SSDD 11/20+ 2.9*
PDP11.opBIC, // 0x4nnn 04SSDD 11/20+ 2.9
PDP11.opBIS, // 0x5nnn 05SSDD 11/20+ 2.3
PDP11.opADD, // 0x6nnn 06SSDD 11/20+ 2.3
PDP11.op7Xnn_1170, // 0x7nnn
PDP11.op8Xnn_1170, // 0x8nnn
PDP11.op7Xnn_1145, // 0x7nnn
PDP11.op8Xnn_1145, // 0x8nnn
PDP11.opMOVB, // 0x9nnn 11SSDD 11/20+ 2.3
PDP11.opCMPB, // 0xAnnn 12SSDD 11/20+ 2.3
PDP11.opBITB, // 0xBnnn 13SSDD 11/20+ 2.9
@ -2194,8 +2194,8 @@ PDP11.aOpXnnn_1170 = [
PDP11.opUndefined // 0xFnnn
];
PDP11.aOp0Xnn_1170 = [
PDP11.op00Xn_1170, // 0x00nn
PDP11.aOp0Xnn_1145 = [
PDP11.op00Xn_1145, // 0x00nn
PDP11.opBR, // 0x01nn 0004XX 11/20+ 2.6
PDP11.opBNE, // 0x02nn 0010XX 11/20+ 2.6**
PDP11.opBEQ, // 0x03nn 0014XX 11/20+ 2.6**
@ -2208,20 +2208,20 @@ PDP11.aOp0Xnn_1170 = [
PDP11.op0AXn_1120, // 0x0Ann
PDP11.op0BXn_1120, // 0x0Bnn
PDP11.op0CXn_1120, // 0x0Cnn
PDP11.op0DXn_1170, // 0x0Dnn
PDP11.op0DXn_1145, // 0x0Dnn
PDP11.opUndefined, // 0x0Enn
PDP11.opUndefined // 0x0Fnn
];
PDP11.aOp0DXn_1170 = [
PDP11.aOp0DXn_1145 = [
PDP11.opMARK, // 0x0D0n 11/45+
PDP11.opMFPI, // 0x0D4n 11/45+
PDP11.opMTPI, // 0x0D8n 11/45+
PDP11.opSXT // 0x0DCn 11/45+
];
PDP11.aOp00Xn_1170 = [
PDP11.op000X_1170, // 0x000n 000000-000017
PDP11.aOp00Xn_1145 = [
PDP11.op000X_1145, // 0x000n 000000-000017
PDP11.opUndefined, // 0x001n 000020-000037
PDP11.opUndefined, // 0x002n 000040-000057
PDP11.opUndefined, // 0x003n 000060-000077
@ -2239,7 +2239,7 @@ PDP11.aOp00Xn_1170 = [
PDP11.opSWAB // 0x00Fn 0003DD 11/20+ 2.3
];
PDP11.aOp000X_1170 = [
PDP11.aOp000X_1145 = [
PDP11.opHALT, // 0x0000 000000 11/20+ 1.8
PDP11.opWAIT, // 0x0001 000001 11/20+ 1.8
PDP11.opRTI, // 0x0002 000002 11/20+ 4.8
@ -2258,7 +2258,7 @@ PDP11.aOp000X_1170 = [
PDP11.opUndefined // 0x000F
];
PDP11.aOp7Xnn_1170 = [
PDP11.aOp7Xnn_1145 = [
PDP11.opMUL, // 0x70nn 11/45+
PDP11.opMUL, // 0x71nn 11/45+
PDP11.opDIV, // 0x72nn 11/45+
@ -2277,7 +2277,7 @@ PDP11.aOp7Xnn_1170 = [
PDP11.opSOB // 0x7Fnn 11/45+
];
PDP11.aOp8Xnn_1170 = [
PDP11.aOp8Xnn_1145 = [
PDP11.opBPL, // 0x80nn 1000XX 11/20+ 2.6**
PDP11.opBMI, // 0x81nn 1004XX 11/20+ 2.6**
PDP11.opBHI, // 0x82nn 1010XX 11/20+ 2.6**
@ -2291,12 +2291,12 @@ PDP11.aOp8Xnn_1170 = [
PDP11.op8AXn_1120, // 0x8Ann
PDP11.op8BXn_1120, // 0x8Bnn
PDP11.op8CXn_1120, // 0x8Cnn
PDP11.op8DXn_1170, // 0x8Dnn
PDP11.op8DXn_1145, // 0x8Dnn
PDP11.opUndefined, // 0x8Enn
PDP11.opUndefined // 0x8Fnn
];
PDP11.aOp8DXn_1170 = [
PDP11.aOp8DXn_1145 = [
PDP11.opUndefined, // 0x8D0n
PDP11.opMFPD, // 0x8D4n 11/45+
PDP11.opMTPD, // 0x8D8n 11/45+

View file

@ -126,7 +126,7 @@ CPUStatePDP11.prototype.initProcessor = function()
if (this.model == PDP11.MODEL_1120) {
this.decode = PDP11.op1120.bind(this);
} else {
this.decode = PDP11.op1170.bind(this);
this.decode = PDP11.op1145.bind(this);
}
this.initRegs();