From 11a18a9d570f9bcfd8d543d0ad8e507bd3257db8 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Wed, 1 Jan 2025 13:04:21 +0400 Subject: strings updated --- src/main.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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") -- cgit v1.2.3