From 1c8ceec85d5ed4ad6126ac0d82cfe285cff7eb7a Mon Sep 17 00:00:00 2001 From: WlodekM Date: Wed, 2 Apr 2025 21:30:39 +0300 Subject: instructions --- instructions/SED.ts | 6 ++++++ instructions/SEI.ts | 6 ++++++ instructions/STA.ts | 8 ++++++++ instructions/STX.ts | 8 ++++++++ instructions/STY.ts | 8 ++++++++ 5 files changed, 36 insertions(+) create mode 100644 instructions/SED.ts create mode 100644 instructions/SEI.ts create mode 100644 instructions/STA.ts create mode 100644 instructions/STX.ts create mode 100644 instructions/STY.ts (limited to 'instructions') diff --git a/instructions/SED.ts b/instructions/SED.ts new file mode 100644 index 0000000..f738907 --- /dev/null +++ b/instructions/SED.ts @@ -0,0 +1,6 @@ +import type The65c02 from "../65c02.ts"; + +export default function (this: The65c02) { + this.decimalMode = true; + this.programCounter.increment(); +} \ No newline at end of file diff --git a/instructions/SEI.ts b/instructions/SEI.ts new file mode 100644 index 0000000..9854874 --- /dev/null +++ b/instructions/SEI.ts @@ -0,0 +1,6 @@ +import type The65c02 from "../65c02.ts"; + +export default function (this: The65c02) { + this.IRQBDisable = true; + this.programCounter.increment(); +} \ No newline at end of file diff --git a/instructions/STA.ts b/instructions/STA.ts new file mode 100644 index 0000000..d83da17 --- /dev/null +++ b/instructions/STA.ts @@ -0,0 +1,8 @@ +import type The65c02 from "../65c02.ts"; + +export default function (this: The65c02, mode: string) { + const addr = this.getAddr(mode); + this.io.address.set(addr); + this.io.data.set(this.regA.num()) + this.write(); +} \ No newline at end of file diff --git a/instructions/STX.ts b/instructions/STX.ts new file mode 100644 index 0000000..b428325 --- /dev/null +++ b/instructions/STX.ts @@ -0,0 +1,8 @@ +import type The65c02 from "../65c02.ts"; + +export default function (this: The65c02, mode: string) { + const addr = this.getAddr(mode); + this.io.address.set(addr); + this.io.data.set(this.regX.num()) + this.write(); +} \ No newline at end of file diff --git a/instructions/STY.ts b/instructions/STY.ts new file mode 100644 index 0000000..e1ca943 --- /dev/null +++ b/instructions/STY.ts @@ -0,0 +1,8 @@ +import type The65c02 from "../65c02.ts"; + +export default function (this: The65c02, mode: string) { + const addr = this.getAddr(mode); + this.io.address.set(addr); + this.io.data.set(this.regY.num()) + this.write(); +} \ No newline at end of file -- cgit 1.4.1-2-gfad0