summary refs log tree commit diff
path: root/instructions
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2025-04-02 21:30:39 +0300
committerWlodekM <[email protected]>2025-04-02 21:30:39 +0300
commit1c8ceec85d5ed4ad6126ac0d82cfe285cff7eb7a (patch)
treeab79247f35408f2e5a7e1995c10e608125ac43e4 /instructions
parent9164665373091fb06ecb06431338118079f4b129 (diff)
instructions
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