Subleq: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: added highlighting to the REXX header section.) |
|||
Line 426: | Line 426: | ||
Hello, world! |
Hello, world! |
||
</pre> |
</pre> |
||
=={{header|C#|C sharp}}== |
|||
{{trans|Java}} |
|||
<lang csharp>using System; |
|||
namespace Subleq { |
|||
class Program { |
|||
static void Main(string[] args) { |
|||
int[] mem = { |
|||
15, 17, -1, 17, -1, -1, 16, 1, -1, 16, |
|||
3, -1, 15, 15, 0, 0, -1, 72, 101, 108, |
|||
108, 111, 44, 32, 119, 111, 114, 108, 100, 33, |
|||
10, 0, |
|||
}; |
|||
int instructionPointer = 0; |
|||
do { |
|||
int a = mem[instructionPointer]; |
|||
int b = mem[instructionPointer + 1]; |
|||
if (a == -1) { |
|||
mem[b] = Console.Read(); |
|||
} |
|||
else if (b == -1) { |
|||
Console.Write((char)mem[a]); |
|||
} |
|||
else { |
|||
mem[b] -= mem[a]; |
|||
if (mem[b] < 1) { |
|||
instructionPointer = mem[instructionPointer + 2]; |
|||
continue; |
|||
} |
|||
} |
|||
instructionPointer += 3; |
|||
} while (instructionPointer >= 0); |
|||
} |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre>Hello, world!</pre> |
|||
=={{header|COBOL}}== |
=={{header|COBOL}}== |