MC6809: Correct transfer and exchange instruction 8/16 bit specification error

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon 2019-05-04 17:35:58 +01:00
parent 430ecd8a7a
commit 34d10352b9

View File

@ -1310,17 +1310,17 @@
}
if (type1 == 0)
{
ref var register1 = ref this.ReferenceTransfer8(specifier1);
ref var register2 = ref this.ReferenceTransfer8(specifier2);
(register1, register2) = (register2, register1);
}
else
{
var register1 = this.ReferenceTransfer16(specifier1);
var register2 = this.ReferenceTransfer16(specifier2);
(register1.Word, register2.Word) = (register2.Word, register1.Word);
}
else
{
ref var register1 = ref this.ReferenceTransfer8(specifier1);
ref var register2 = ref this.ReferenceTransfer8(specifier2);
(register1, register2) = (register2, register1);
}
}
private byte INC(byte operand)
@ -1547,17 +1547,17 @@
}
if (type1 == 0)
{
ref var register1 = ref this.ReferenceTransfer8(specifier1);
ref var register2 = ref this.ReferenceTransfer8(specifier2);
register2 = register1;
}
else
{
var register1 = this.ReferenceTransfer16(specifier1);
var register2 = this.ReferenceTransfer16(specifier2);
register2.Word = register1.Word;
}
else
{
ref var register1 = ref this.ReferenceTransfer8(specifier1);
ref var register2 = ref this.ReferenceTransfer8(specifier2);
register2 = register1;
}
}
private void TST(byte data) => this.CMP(data, 0);