q/src/asm/DataString.go

29 lines
802 B
Go

package asm
func (x Instruction) DataString(a *Assembler) string {
switch x.Type {
case TypeLabel:
return a.Param.Label[x.Index].String()
case TypeNumber:
return a.Param.Number[x.Index].String()
case TypeRegister:
return a.Param.Register[x.Index].String()
case TypeRegisterLabel:
return a.Param.RegisterLabel[x.Index].String()
case TypeRegisterNumber:
return a.Param.RegisterNumber[x.Index].String()
case TypeRegisterRegister:
return a.Param.RegisterRegister[x.Index].String()
case TypeMemory:
return a.Param.Memory[x.Index].String()
case TypeMemoryLabel:
return a.Param.MemoryLabel[x.Index].String()
case TypeMemoryNumber:
return a.Param.MemoryNumber[x.Index].String()
case TypeMemoryRegister:
return a.Param.MemoryRegister[x.Index].String()
default:
return ""
}
}