29 lines
802 B
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 ""
|
|
}
|
|
}
|