Implemented structs
This commit is contained in:
@ -2,6 +2,7 @@ package asm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
)
|
||||
|
||||
// MemoryLabel operates with a memory address and a number.
|
||||
@ -12,6 +13,10 @@ type MemoryLabel struct {
|
||||
|
||||
// String returns a human readable version.
|
||||
func (data *MemoryLabel) String() string {
|
||||
if data.Address.OffsetRegister == math.MaxUint8 {
|
||||
return fmt.Sprintf("%dB [%s+%d], %s", data.Address.Length, data.Address.Base, data.Address.Offset, data.Label)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%dB [%s+%s+%d], %s", data.Address.Length, data.Address.Base, data.Address.OffsetRegister, data.Address.Offset, data.Label)
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ package asm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
)
|
||||
|
||||
// MemoryNumber operates with a memory address and a number.
|
||||
@ -12,6 +13,10 @@ type MemoryNumber struct {
|
||||
|
||||
// String returns a human readable version.
|
||||
func (data *MemoryNumber) String() string {
|
||||
if data.Address.OffsetRegister == math.MaxUint8 {
|
||||
return fmt.Sprintf("%dB [%s+%d], %d", data.Address.Length, data.Address.Base, data.Address.Offset, data.Number)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%dB [%s+%s+%d], %d", data.Address.Length, data.Address.Base, data.Address.OffsetRegister, data.Address.Offset, data.Number)
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ package asm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"git.akyoto.dev/cli/q/src/cpu"
|
||||
)
|
||||
@ -14,6 +15,10 @@ type MemoryRegister struct {
|
||||
|
||||
// String returns a human readable version.
|
||||
func (data *MemoryRegister) String() string {
|
||||
if data.Address.OffsetRegister == math.MaxUint8 {
|
||||
return fmt.Sprintf("%dB [%s+%d], %s", data.Address.Length, data.Address.Base, data.Address.Offset, data.Register)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%dB [%s+%s+%d], %s", data.Address.Length, data.Address.Base, data.Address.OffsetRegister, data.Address.Offset, data.Register)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user