aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/cpu/Registers.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/cpu/Registers.kt')
-rw-r--r--src/main/kotlin/cpu/Registers.kt8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/kotlin/cpu/Registers.kt b/src/main/kotlin/cpu/Registers.kt
index 54539a8..81db1b0 100644
--- a/src/main/kotlin/cpu/Registers.kt
+++ b/src/main/kotlin/cpu/Registers.kt
@@ -131,6 +131,14 @@ class Registers {
return currentSP
}
+ fun addSignedByteToPC(byte: Int) {
+ PC = if (bm.isSignedByteNegative(byte)) {
+ (PC - bm.getAbsoluteValue(byte)) and 0xFFFF
+ } else {
+ (PC + bm.getAbsoluteValue(byte)) and 0xFFFF
+ }
+ }
+
fun getFlag(flag: Flag): Int {
return (F shr flag.bitPosition) and 0x01
}