summaryrefslogtreecommitdiff
path: root/tnslc/hello.tnsl
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/hello.tnsl')
-rw-r--r--tnslc/hello.tnsl33
1 files changed, 0 insertions, 33 deletions
diff --git a/tnslc/hello.tnsl b/tnslc/hello.tnsl
deleted file mode 100644
index 6a6313a..0000000
--- a/tnslc/hello.tnsl
+++ /dev/null
@@ -1,33 +0,0 @@
-:include "c_wrap_linux.tnsl"
-
-{}uint8 star = "*\0"
-{}uint8 space = " \0"
-{}uint8 new_line = "\n\0"
-
-/; print_triangle (int argc)
- /; loop (int i = 0; i < argc) [i++]
- /; loop (int j = 0; j < argc - i) [j++]
- _printf(~space{0})
- ;/
- /; loop (int j = 0; j < 1 + 2*i) [j++]
- _printf(~star{0})
- ;/
- _printf(~new_line{0})
- ;/
-;/
-
-/; main (int argc, ~~uint8 argv) [int]
- # On windows, the first two arguments are passed in RCX and RDX, so we need to
- # update their positions here or else tnsl will have garbage values in r8 and r9
- # asm "mov r8, rcx"
- # asm "mov r9, rdx"
-
- # If on linux, you would use rdi and rsi instead of rcx and rdx, respectively
- # simply comment out the bove asm, and uncomment the below lines
- asm "mov r8, rdi"
- asm "mov r9, rsi"
-
- print_triangle(argc)
-
- return 0
-;/