summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/mc68hc11/hc11ops.c
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-06-19 14:54:40 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-06-19 14:54:40 +0000
commite3fab21720943abbd3e72e9d65431a46c52aaf0a (patch)
tree724cb84da5a2fdb532df58d5af73cb4f8d0e8206 /src/emu/cpu/mc68hc11/hc11ops.c
parent2fdf957bd55d87ae56123dd79dcc5e6d4634e988 (diff)
mc68hc11: added TXS, TYS, TSX, TSY
Diffstat (limited to 'src/emu/cpu/mc68hc11/hc11ops.c')
-rw-r--r--src/emu/cpu/mc68hc11/hc11ops.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/emu/cpu/mc68hc11/hc11ops.c b/src/emu/cpu/mc68hc11/hc11ops.c
index 320231a52c2..d67825c1360 100644
--- a/src/emu/cpu/mc68hc11/hc11ops.c
+++ b/src/emu/cpu/mc68hc11/hc11ops.c
@@ -2202,6 +2202,33 @@ static void HC11OP(tst_indy)(hc11_state *cpustate)
CYCLES(cpustate, 6);
}
+/* TSX 0x30 */
+static void HC11OP(tsx)(hc11_state *cpustate)
+{
+ cpustate->ix = cpustate->sp + 1;
+ CYCLES(cpustate, 3);
+}
+
+/* TSY 0x18 0x30 */
+static void HC11OP(tsy)(hc11_state *cpustate)
+{
+ cpustate->iy = cpustate->sp + 1;
+ CYCLES(cpustate, 4);
+}
+
+/* TXS 0x35 */
+static void HC11OP(txs)(hc11_state *cpustate)
+{
+ cpustate->sp = cpustate->ix - 1;
+ CYCLES(cpustate, 3);
+}
+
+/* TYS 0x18 0x35 */
+static void HC11OP(tys)(hc11_state *cpustate)
+{
+ cpustate->sp = cpustate->iy - 1;
+ CYCLES(cpustate, 4);
+}
/* XGDX 0x8F */
static void HC11OP(xgdx)(hc11_state *cpustate)