summary refs log tree commit diff
path: root/instructions
diff options
context:
space:
mode:
Diffstat (limited to 'instructions')
-rw-r--r--instructions/SED.ts6
-rw-r--r--instructions/SEI.ts6
-rw-r--r--instructions/STA.ts8
-rw-r--r--instructions/STX.ts8
-rw-r--r--instructions/STY.ts8
5 files changed, 36 insertions, 0 deletions
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