diff options
-rw-r--r-- | instructions/SED.ts | 6 | ||||
-rw-r--r-- | instructions/SEI.ts | 6 | ||||
-rw-r--r-- | instructions/STA.ts | 8 | ||||
-rw-r--r-- | instructions/STX.ts | 8 | ||||
-rw-r--r-- | instructions/STY.ts | 8 | ||||
-rw-r--r-- | thing.s | 4 |
6 files changed, 38 insertions, 2 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 diff --git a/thing.s b/thing.s index 5fefcd3..d7fabea 100644 --- a/thing.s +++ b/thing.s @@ -1,3 +1,3 @@ - lda #$55 - sta $00 + lda #$55 ; put 55 into A + sta $00 ; put A into $0 brk \ No newline at end of file |