From 1d88443cea795d51b8940ca3dc8e73d5d2e0095f Mon Sep 17 00:00:00 2001 From: Elvis Adomnica Date: Sun, 4 Feb 2024 22:12:38 +0100 Subject: [PATCH] Remove code repetition on unknown OP --- src/lib/emulator.ts | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/lib/emulator.ts b/src/lib/emulator.ts index 5f7ff4f..de7b115 100644 --- a/src/lib/emulator.ts +++ b/src/lib/emulator.ts @@ -212,6 +212,12 @@ export default class Emulator { } } + private errorOnUnknownOp(op: number) { + throw new Error( + `Unknown instruction 0x${op.toString(16).padStart(4, "0")}` + ); + } + private executeOp(op: number) { const o = (op >> 12) & 0x000f; const x = (op >> 8) & 0x000f; @@ -326,9 +332,7 @@ export default class Emulator { break; } default: - throw new Error( - `Unknown instruction 0x${op.toString(16).padStart(4, "0")}` - ); + this.errorOnUnknownOp(op); } break; } @@ -358,9 +362,7 @@ export default class Emulator { } break; default: - throw new Error( - `Unknown instruction 0x${op.toString(16).padStart(4, "0")}` - ); + this.errorOnUnknownOp(op); } break; } @@ -414,16 +416,12 @@ export default class Emulator { } break; default: - throw new Error( - `Unknown instruction 0x${op.toString(16).padStart(4, "0")}` - ); + this.errorOnUnknownOp(op); } break; } default: - throw new Error( - `Unknown instruction 0x${op.toString(16).padStart(4, "0")}` - ); + this.errorOnUnknownOp(op); } }