From cccb99226d3951fd9dfe1c4cf1c43126a1309d51 Mon Sep 17 00:00:00 2001 From: WlodekM Date: Mon, 31 Mar 2025 19:47:54 +0300 Subject: move to pc-thing/ --- pc-thing/the_e_programming_language/test.e.txt | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 pc-thing/the_e_programming_language/test.e.txt (limited to 'pc-thing/the_e_programming_language/test.e.txt') diff --git a/pc-thing/the_e_programming_language/test.e.txt b/pc-thing/the_e_programming_language/test.e.txt new file mode 100755 index 0000000..c8d09c5 --- /dev/null +++ b/pc-thing/the_e_programming_language/test.e.txt @@ -0,0 +1,43 @@ +// comments exist +// +// types (in addresses (they store 2 bytes if you forgot)): +// int - 1 +// char - 1 +// bool - 1 +// uuh yeah,, theyre all 1 address ;-; +// +// $VARNAME is the address of the var, when used in mov it means that we get that var +// [$VARNAME] is the address of the var, but when it's used in mov it means we set to the address + +// translates to: +// mov a 0 +// mov $counter a +// prob not gonna make it do assembly tho +int counter = 0 +int[4] buff = 0 + +fn _start { + // translates to + // + // mov a $counter + // mov b 4 + // cmp a b + // jz $start_of_inner_code + while (counter < 4) { + // translates to + // mov a [$buff] + // mov b [$counter] + // add a a b + // mov b $counter + // str a b + buff[counter] = counter + // translates to + // mov a $counter ; further translates to: + // ; mov a $counter + // ; ld a a + // mov b 1 + // add a a b + // str $counter a + counter = counter + 1 + } +} \ No newline at end of file -- cgit 1.4.1-2-gfad0