diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-09-26 21:58:47 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-09-26 21:59:50 -0700 |
commit | ebb93c6d58ab087c581948acfc054e91a02047f9 (patch) | |
tree | c856a4a1e4ca7565983b2f5caf2a709bd1a3e31b /apps/tile/main.mu | |
parent | 65e6633b79e97fdbaab37a47b8246d2726ae5907 (diff) | |
download | mu-ebb93c6d58ab087c581948acfc054e91a02047f9.tar.gz |
6870
Emit a stack of not ints but more complex objects containing the int payload. Function calls again segfaulting.
Diffstat (limited to 'apps/tile/main.mu')
-rw-r--r-- | apps/tile/main.mu | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/tile/main.mu b/apps/tile/main.mu index afefc4b5..8d44ba80 100644 --- a/apps/tile/main.mu +++ b/apps/tile/main.mu @@ -67,24 +67,24 @@ fn repl { var env-storage: environment var env/esi: (addr environment) <- address env-storage initialize-environment env - var stack-storage: int-stack - var stack/edi: (addr int-stack) <- address stack-storage - initialize-int-stack stack, 0x10 + var stack-storage: value-stack + var stack/edi: (addr value-stack) <- address stack-storage + initialize-value-stack stack, 0x10 print-string-to-real-screen "> " $repl:loop: { var key/eax: grapheme <- read-key-from-real-keyboard print-grapheme-to-real-screen key compare key, 4 # ctrl-d break-if-= - compare key, 0xa # 'q' + compare key, 0xa # newline { break-if-!= evaluate-environment env, stack - var empty?/eax: boolean <- int-stack-empty? stack + var empty?/eax: boolean <- value-stack-empty? stack { compare empty?, 0 # false break-if-!= - var result/eax: int <- pop-int-stack stack + var result/eax: int <- pop-int-from-value-stack stack print-int32-decimal-to-real-screen result print-string-to-real-screen "\n" } |