diff options
author | 2009-06-19 14:54:40 +0000 | |
---|---|---|
committer | 2009-06-19 14:54:40 +0000 | |
commit | e3fab21720943abbd3e72e9d65431a46c52aaf0a (patch) | |
tree | 724cb84da5a2fdb532df58d5af73cb4f8d0e8206 /src/emu/cpu/mc68hc11/hc11ops.c | |
parent | 2fdf957bd55d87ae56123dd79dcc5e6d4634e988 (diff) |
mc68hc11: added TXS, TYS, TSX, TSY
Diffstat (limited to 'src/emu/cpu/mc68hc11/hc11ops.c')
-rw-r--r-- | src/emu/cpu/mc68hc11/hc11ops.c | 27 |
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) |