Implemented a load more Z80 OpCodes
This commit is contained in:
@@ -208,9 +208,27 @@ namespace Desktop
|
||||
mnemonic = $"LD DE, 0x{deHigh:X2}{deLow:X2}";
|
||||
instructionLength = 3;
|
||||
break;
|
||||
case 0x19:
|
||||
mnemonic = "ADD HL, DE";
|
||||
break;
|
||||
case 0x20:
|
||||
sbyte jrOffset = (sbyte)_memoryBus.Read((ushort)(currentPc + 1));
|
||||
ushort destination = (ushort)(currentPc + 2 + jrOffset);
|
||||
mnemonic = $"JR NZ, 0x{destination:X4}";
|
||||
instructionLength = 2;
|
||||
break;
|
||||
case 0x23:
|
||||
mnemonic = "INC HL";
|
||||
break;
|
||||
case 0x2B:
|
||||
mnemonic = "DEC HL";
|
||||
break;
|
||||
case 0x30:
|
||||
sbyte jrNcOffset = (sbyte)_memoryBus.Read((ushort)(currentPc + 1));
|
||||
ushort dest = (ushort)(currentPc + 2 + jrNcOffset);
|
||||
mnemonic = $"JR NC, 0x{dest:X4}";
|
||||
instructionLength = 2;
|
||||
break;
|
||||
case 0x36:
|
||||
byte memValue = _memoryBus.Read((ushort)(currentPc + 1));
|
||||
mnemonic = $"LD (HL), 0x{memValue:X2}";
|
||||
@@ -229,9 +247,15 @@ namespace Desktop
|
||||
case 0x6B:
|
||||
mnemonic = "LD L, E";
|
||||
break;
|
||||
case 0xA7:
|
||||
mnemonic = "AND A";
|
||||
break;
|
||||
case 0xAF:
|
||||
mnemonic = "XOR A";
|
||||
break;
|
||||
case 0xBC:
|
||||
mnemonic = "CP H";
|
||||
break;
|
||||
case 0xC3:
|
||||
// JP nn
|
||||
byte jpLow = _memoryBus.Read((ushort)(currentPc + 1));
|
||||
@@ -259,7 +283,10 @@ namespace Desktop
|
||||
mnemonic = "LD I, A";
|
||||
instructionLength = 2; // 0xED + 0x47
|
||||
break;
|
||||
|
||||
case 0x52:
|
||||
mnemonic = "SBC HL, DE";
|
||||
instructionLength = 2; // ED 52
|
||||
break;
|
||||
// Example: ED B0 is LDIR (a massive block copy instruction)
|
||||
case 0xB0:
|
||||
mnemonic = "LDIR";
|
||||
|
||||
Reference in New Issue
Block a user