From e458ba03aab8a2eeac50bb133a6ad4847c0e79a5 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Sat, 13 May 2023 22:21:58 -0400 Subject: Add tmp variables, break calls --- tnslc/simpler.tnsl | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tnslc/simpler.tnsl (limited to 'tnslc/simpler.tnsl') diff --git a/tnslc/simpler.tnsl b/tnslc/simpler.tnsl new file mode 100644 index 0000000..847e316 --- /dev/null +++ b/tnslc/simpler.tnsl @@ -0,0 +1,39 @@ + +{}uint8 str1 = "abcd" +{}uint8 str2 = "abcd" + +/; method Test + /; mamba [int] + return 1 + ;/ + + /; wamba [int] + return self.i + self.j + self.mamba() + ;/ +;/ + +struct Test { + int i, j, k +} + +/; main (int argc, ~~uint 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" + + + /; if (argc > 8) + argc = 90 + ;/ + + + # return 3 + return str1{1} +;/ + -- cgit v1.2.3