diff options
Diffstat (limited to 'apps/tile/main.mu')
-rw-r--r-- | apps/tile/main.mu | 247 |
1 files changed, 10 insertions, 237 deletions
diff --git a/apps/tile/main.mu b/apps/tile/main.mu index 2f559918..2336b37b 100644 --- a/apps/tile/main.mu +++ b/apps/tile/main.mu @@ -81,114 +81,18 @@ fn test { process env, g g <- copy 0x32 # '2' process env, g - g <- copy 0x2a # '*' + g <- copy 0x2b # '+' process env, g g <- copy 0xa # <enter> process env, g - g <- copy 0x20 # space - process env, g - g <- copy 0x32 # '2' - process env, g - g <- copy 0x2a # '*' - process env, g - g <- copy 0xa # <enter> - process env, g - # 12 arrows to return to end of first call - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g { - print-string-to-real-screen "==\n" + print-string 0, "== before enter\n" var functions/ecx: (addr handle function) <- get env, functions var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah @@ -198,7 +102,7 @@ fn test { var foo/ecx: (addr call-path-element) <- copy _foo var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -206,127 +110,12 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow + g <- copy 0xa # <enter> process env, g { - print-string-to-real-screen "==\n" + print-string 0, "== after enter\n" var functions/ecx: (addr handle function) <- get env, functions var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah @@ -336,7 +125,7 @@ fn test { var foo/ecx: (addr call-path-element) <- copy _foo var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -344,22 +133,7 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -367,10 +141,9 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" } - g <- copy 0x445b1b # left-arrow - process env, g + print-string 0, "== render\n" render env } |