6502Android/app/src/main/kotlin/android/emu6502/instructions/impl/LDA.kt

24 lines
599 B
Kotlin

package android.emu6502.instructions.impl
import android.emu6502.CPU
import android.emu6502.instructions.BaseInstruction
import android.emu6502.instructions.Instruction
/** LoaD Accumulator */
class LDA(private val cpu: CPU) : BaseInstruction(Instruction.LDA, cpu.instructionList) {
override fun immediate() {
cpu.A = cpu.popByte()
cpu.setSZFlagsForRegA()
}
override fun zeroPage() {
cpu.A = cpu.memory.get(cpu.popByte())
cpu.setSZFlagsForRegA()
}
override fun zeroPageX() {
cpu.A = cpu.memory.get(cpu.popByte() + cpu.X).and(0xff)
cpu.setSZFlagsForRegA()
}
}