Added assembler syntax highlighting
This commit is contained in:
parent
a62006b4c8
commit
61024bb133
@ -227,21 +227,27 @@ func (f *Function) TokenToRegister(t token.Token, register cpu.Register) error {
|
|||||||
|
|
||||||
// PrintAsm shows the assembly instructions.
|
// PrintAsm shows the assembly instructions.
|
||||||
func (f *Function) PrintAsm() {
|
func (f *Function) PrintAsm() {
|
||||||
ansi.Bold.Println(f.Name)
|
ansi.Dim.Println("╭────────────────────────────────────────────────╮")
|
||||||
ansi.Dim.Println("╭────────────────────────────────────────────────────────────")
|
|
||||||
|
|
||||||
for _, x := range f.Assembler.Instructions {
|
for _, x := range f.Assembler.Instructions {
|
||||||
ansi.Dim.Print("│ ")
|
ansi.Dim.Print("│ ")
|
||||||
fmt.Print(x.Mnemonic.String())
|
|
||||||
|
|
||||||
if x.Data != nil {
|
if x.Mnemonic == asm.LABEL {
|
||||||
fmt.Print(" " + x.Data.String())
|
ansi.Yellow.Printf("%-46s", x.Data.String()+":")
|
||||||
|
} else {
|
||||||
|
ansi.Green.Printf("%-8s", x.Mnemonic.String())
|
||||||
|
|
||||||
|
if x.Data != nil {
|
||||||
|
fmt.Printf("%-38s", x.Data.String())
|
||||||
|
} else {
|
||||||
|
fmt.Printf("%-38s", "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Print("\n")
|
ansi.Dim.Print(" │\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
ansi.Dim.Println("╰────────────────────────────────────────────────────────────")
|
ansi.Dim.Println("╰────────────────────────────────────────────────╯")
|
||||||
}
|
}
|
||||||
|
|
||||||
// String returns the function name.
|
// String returns the function name.
|
||||||
|
Loading…
Reference in New Issue
Block a user