diff options
author | Suleyman Farajli <suleyman@farajli.net> | 2025-01-01 13:04:21 +0400 |
---|---|---|
committer | Suleyman Farajli <suleyman@farajli.net> | 2025-01-01 13:04:21 +0400 |
commit | 11a18a9d570f9bcfd8d543d0ad8e507bd3257db8 (patch) | |
tree | 04fae3d223ef73937f6d7152158178913a7f4270 /src | |
parent | af61c71518baa787bec26d2c7d0afaeb7f640ca8 (diff) |
strings updated
Diffstat (limited to 'src')
-rw-r--r-- | src/main.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main.go b/src/main.go index 636b90f..19332c9 100644 --- a/src/main.go +++ b/src/main.go @@ -218,7 +218,7 @@ func X86_64map(op Operation) string{ case "done": return fmt.Sprintf("\tjmp %s\n%s:\n", op.crosslabel, op.label) case "string": - /*TODO: add string*/ + return fmt.Sprintf("\tpush %d\n\tpush %s\n", op.intData, op.label) case "number": return fmt.Sprintf("\tpush %d\n", op.intData) case "syscall": @@ -236,6 +236,10 @@ func compileX86_64(ops[] Operation) { for i := 0; i < len(ops); i++ { fmt.Printf("\t;; %s\n", ops[i].name) fmt.Printf(X86_64map(ops[i])) + if (ops[i].name == "string") { + strings = append(strings, [2]string{ops[i].strData, ops[i].label}) + } + } print(" ;; EXIT") |