diff options
Diffstat (limited to 'examples/hello-world.bf')
-rw-r--r-- | examples/hello-world.bf | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/examples/hello-world.bf b/examples/hello-world.bf index dce24e2..eab99ed 100644 --- a/examples/hello-world.bf +++ b/examples/hello-world.bf | |||
@@ -8,38 +8,37 @@ ignored, the "[" and "]" characters just have to be balanced. This | |||
8 | loop and the commands it contains are ignored because the current cell | 8 | loop and the commands it contains are ignored because the current cell |
9 | defaults to a value of 0; the 0 value causes this loop to be skipped. | 9 | defaults to a value of 0; the 0 value causes this loop to be skipped. |
10 | 10 | ||
11 | from https://en.wikipedia.org/wiki/Brainfuck#Hello_World! | 11 | from https://en.wikipedia.org/wiki/Brainfuck#Hello_World! ] |
12 | ] | 12 | ++++++++ Set Cell #0 to 8 |
13 | ++++++++ Set Cell #0 to 8 | ||
14 | [ | 13 | [ |
15 | >++++ Add 4 to Cell #1; this will always set Cell #1 to 4 | 14 | >++++ Add 4 to Cell #1; this will always set Cell #1 to 4 |
16 | [ as the cell will be cleared by the loop | 15 | [ as the cell will be cleared by the loop |
17 | >++ Add 2 to Cell #2 | 16 | >++ Add 2 to Cell #2 |
18 | >+++ Add 3 to Cell #3 | 17 | >+++ Add 3 to Cell #3 |
19 | >+++ Add 3 to Cell #4 | 18 | >+++ Add 3 to Cell #4 |
20 | >+ Add 1 to Cell #5 | 19 | >+ Add 1 to Cell #5 |
21 | <<<<- Decrement the loop counter in Cell #1 | 20 | <<<<- Decrement the loop counter in Cell #1 |
22 | ] Loop until Cell #1 is zero; number of iterations is 4 | 21 | ] Loop until Cell #1 is zero; number of iterations is 4 |
23 | >+ Add 1 to Cell #2 | 22 | >+ Add 1 to Cell #2 |
24 | >+ Add 1 to Cell #3 | 23 | >+ Add 1 to Cell #3 |
25 | >- Subtract 1 from Cell #4 | 24 | >- Subtract 1 from Cell #4 |
26 | >>+ Add 1 to Cell #6 | 25 | >>+ Add 1 to Cell #6 |
27 | [<] Move back to the first zero cell you find; this will | 26 | [<] Move back to the first zero cell you find; this will |
28 | be Cell #1 which was cleared by the previous loop | 27 | be Cell #1 which was cleared by the previous loop |
29 | <- Decrement the loop Counter in Cell #0 | 28 | <- Decrement the loop Counter in Cell #0 |
30 | ] Loop until Cell #0 is zero; number of iterations is 8 | 29 | ] Loop until Cell #0 is zero; number of iterations is 8 |
31 | 30 | ||
32 | The result of this is: | 31 | The result of this is: |
33 | Cell no : 0 1 2 3 4 5 6 | 32 | Cell no : 0 1 2 3 4 5 6 |
34 | Contents: 0 0 72 104 88 32 8 | 33 | Contents: 0 0 72 104 88 32 8 |
35 | Pointer : ^ | 34 | Pointer : ^ |
36 | 35 | ||
37 | >>. Cell #2 has value 72 which is 'H' | 36 | >>. Cell #2 has value 72 which is 'H' |
38 | >---. Subtract 3 from Cell #3 to get 101 which is 'e' | 37 | >---. Subtract 3 from Cell #3 to get 101 which is 'e' |
39 | +++++++..+++. Likewise for 'llo' from Cell #3 | 38 | +++++++..+++. Likewise for 'llo' from Cell #3 |
40 | >>. Cell #5 is 32 for the space | 39 | >>. Cell #5 is 32 for the space |
41 | <-. Subtract 1 from Cell #4 for 87 to give a 'W' | 40 | <-. Subtract 1 from Cell #4 for 87 to give a 'W' |
42 | <. Cell #3 was set to 'o' from the end of 'Hello' | 41 | <. Cell #3 was set to 'o' from the end of 'Hello' |
43 | +++.------.--------. Cell #3 for 'rl' and 'd' | 42 | +++.------.--------. Cell #3 for 'rl' and 'd' |
44 | >>+. Add 1 to Cell #5 gives us an exclamation point | 43 | >>+. Add 1 to Cell #5 gives us an exclamation point |
45 | >++. And finally a newline from Cell #6 | 44 | >++. And finally a newline from Cell #6 |