package asm import "strconv" // MemoryNumber operates with a memory address and a number. type MemoryNumber struct { Address Memory Number int } // String returns a human readable version. func (data *MemoryNumber) String() string { return data.Address.Format(strconv.Itoa(data.Number)) } // MemoryNumber adds an instruction with a memory address and a number. func (a *Assembler) MemoryNumber(mnemonic Mnemonic, address Memory, number int) { a.Instructions = append(a.Instructions, Instruction{ Mnemonic: mnemonic, Type: TypeMemoryNumber, Index: Index(len(a.Param.MemoryNumber)), }) a.Param.MemoryNumber = append(a.Param.MemoryNumber, MemoryNumber{ Address: address, Number: number, }) }