Improved formatting of load and store commands

This commit is contained in:
2025-02-16 19:29:22 +01:00
parent c633f94d29
commit dc3ba6504f
4 changed files with 36 additions and 23 deletions

View File

@ -1,10 +1,5 @@
package asm
import (
"fmt"
"math"
)
// MemoryLabel operates with a memory address and a number.
type MemoryLabel struct {
Label string
@ -13,11 +8,7 @@ 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)
return data.Address.Format(data.Label)
}
// MemoryLabel adds an instruction with a memory address and a label.