From 7232f95f7afc10cd7bde6ad43f35c797a181f94f Mon Sep 17 00:00:00 2001 From: zongor Date: Sat, 4 Jul 2026 15:01:29 -0700 Subject: [PATCH] wip array test file --- bmin.ul | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bmin.ul diff --git a/bmin.ul b/bmin.ul new file mode 100644 index 0000000..0f8022e --- /dev/null +++ b/bmin.ul @@ -0,0 +1,50 @@ +str code = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."; +byte[10000] memory; + +nat mp = 0; // memory pointer +nat ip = 0; // instruction pointer + +while (ip < code.length) { + if (code[ip] == '>') { + mp = mp + 1; + } else if (code[ip] == '<') { + mp = mp - 1; + } else if (code[ip] == '+') { + memory[mp] = memory[mp] + 1; + } else if (code[ip] == '-') { + memory[mp] = memory[mp] - 1; + } else if (code[ip] == '.') { + // console.write = memory[mp]; + write = memory[mp]; + } else if (code[ip] == ',') { + // memory[mp] = console.read; + memory[mp] = read; + } else if (code[ip] == '[') { + if(!memory[mp]) { + nat nc = 1; + while (nc > 0) { + ip = ip + 1; + if (code[ip] == '[') { + nc = nc + 1; + } else if (code[ip] == ']') { + nc = nc - 1; + } + } + } + } else if (code[ip] == ']') { + if (memory[mp]) { + nat nc = 1; + while (nc > 0) { + ip = ip - 1; + if (code[ip] == ']') { + nc = nc + 1; + } else if (code[ip] == '[') { + nc = nc - 1; + } + } + } + } + ip = ip + 1; +} + +halt;