package core import ( "bytes" "fmt" "git.akyoto.dev/cli/q/src/asm" "git.akyoto.dev/go/color/ansi" ) // PrintInstructions shows the assembly instructions. func (f *Function) PrintInstructions() { ansi.Dim.Println("╭──────────────────────────────────────────────────────────────────────────────╮") for i, x := range f.Assembler.Instructions { ansi.Dim.Print("│ ") switch x.Mnemonic { case asm.LABEL: ansi.Yellow.Printf("%-44s", x.Data.String()+":") case asm.COMMENT: ansi.Dim.Printf("%-44s", x.Data.String()) default: ansi.Green.Printf("%-12s", x.Mnemonic.String()) if x.Data != nil { fmt.Printf("%-32s", x.Data.String()) } else { fmt.Printf("%-32s", "") } } registers := bytes.Buffer{} used := f.RegisterHistory[i] for _, reg := range f.CPU.All { if used&(1<