package register

import (
	"git.akyoto.dev/cli/q/src/build/asm"
	"git.akyoto.dev/cli/q/src/build/cpu"
)

func (f *Machine) RegisterRegister(mnemonic asm.Mnemonic, a cpu.Register, b cpu.Register) {
	if mnemonic == asm.MOVE && a == b {
		return
	}

	f.Assembler.RegisterRegister(mnemonic, a, b)

	if mnemonic == asm.MOVE {
		f.UseRegister(a)
	}

	f.postInstruction()
}