Skip to content

Commit 3a0c9e2

Browse files
committed
PUSH/POP FL instead of SP
1 parent dd974a5 commit 3a0c9e2

2 files changed

Lines changed: 8 additions & 16 deletions

File tree

src/HomemadeCPU_execute.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -279,12 +279,8 @@ void HomemadeCPU::execute() {
279279
memory[SP--] = AB;
280280
break;
281281

282-
case 0xD2: // PUSH SL
283-
memory[SP--] = getSL();
284-
break;
285-
286-
case 0xD3: // PUSH SH
287-
memory[SP--] = getSH();
282+
case 0xD2: // PUSH FL
283+
memory[SP--] = FL;
288284
break;
289285

290286
case 0xD4: // PUSH ML
@@ -311,12 +307,8 @@ void HomemadeCPU::execute() {
311307
AB = memory[++SP];
312308
break;
313309

314-
case 0xDA: // POP SL
315-
setSL(memory[++SP]);
316-
break;
317-
318-
case 0xDB: // POP SH
319-
setSH(memory[++SP]);
310+
case 0xDA: // POP FL
311+
FL = memory[++SP];
320312
break;
321313

322314
case 0xDC: // POP ML

src/HomemadeCPU_opcodes.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,16 +242,16 @@ const Homemade_CPU_opcodes opcodes[] = {
242242
{OO, "STOR JH"}, // 0xCF
243243
{OO, "PUSH AA"}, // 0xD0
244244
{OO, "PUSH AB"}, // 0xD1
245-
{OO, "PUSH SL"}, // 0xD2
246-
{OO, "PUSH SH"}, // 0xD3
245+
{OO, "PUSH FL"}, // 0xD2
246+
{NN, "DEFB $%02x ;Invalid opcode"}, // 0xD3
247247
{OO, "PUSH ML"}, // 0xD4
248248
{OO, "PUSH MH"}, // 0xD5
249249
{OO, "PUSH JL"}, // 0xD6
250250
{OO, "PUSH JH"}, // 0xD7
251251
{OO, "POPP AA"}, // 0xD8
252252
{OO, "POPP AB"}, // 0xD9
253-
{OO, "POPP SL"}, // 0xDA
254-
{OO, "POPP SH"}, // 0xDB
253+
{OO, "POPP FL"}, // 0xDA
254+
{NN, "DEFB $%02x ;Invalid opcode"}, // 0xDB
255255
{OO, "POPP ML"}, // 0xDC
256256
{OO, "POPP MH"}, // 0xDD
257257
{OO, "POPP JL"}, // 0xDE

0 commit comments

Comments
 (0)