package asm import ( "fmt" "git.akyoto.dev/cli/q/src/build/cpu" ) // RegisterLabel operates with a register and a label. type RegisterLabel struct { Label string Register cpu.Register } // String returns a human readable version. func (data *RegisterLabel) String() string { return fmt.Sprintf("%s, %s", data.Register, data.Label) } // RegisterLabel adds an instruction with a register and a label. func (a *Assembler) RegisterLabel(mnemonic Mnemonic, reg cpu.Register, label string) { a.Instructions = append(a.Instructions, Instruction{ Mnemonic: mnemonic, Data: &RegisterLabel{ Register: reg, Label: label, }, }) }