summary refs log tree commit diff
path: root/instructions/DEC.ts
blob: 19f40f9825957bf40661f6a9256ba95fe9de2ccb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import type The65c02 from "../65c02.ts";

export default function (this: The65c02, mode: string) {
    if (mode == 'implicit') {
        this.flagZN(this.regA.num() - 1)
        this.regA.decrement();
        this.programCounter.increment()
        return;
    }
    const addr = this.getAddr(mode);
    this.io.address.set(addr);
    this.read();
    const res = this.io.data.num() - 1;
    this.io.data.set(res & 0xFF);
    this.write();
    this.flagZN(res & 0xFF)
}