Ниже перечислены команды языка Befunge. Каждая команда кодируется одним ASCII-символом. Для стековых операций в скобках дан их эквивалент в языке Forth. Команды, берущие параметры из стека, удаляют их со стека.
| перемещение: |
| > |
Двигаться вправо |
| < |
Двигаться влево |
| ^ |
Двигаться вверх |
| v |
Двигаться вниз |
| _ |
Двигаться вправо, если на вершине стека 0, иначе — влево. |
| | |
Двигаться вниз, если на вершине стека 0, иначе — вверх. |
| ? |
Двигаться в случайном направлении |
| # |
Пропустить следующую ячейку |
| @ |
Конец программы |
| манипулирование со стеком: |
| : |
Поместить в стек копию вершины |
| \ |
Обменять местами вершину и подвершину |
| $ |
Удалить вершину |
| модификация кода программы: |
| p |
"PUT": со стека извлекаются координаты ячейки и ASCII-код символа, которой помещается по этим координатам |
| g |
"GET": со стека извлекаются координаты ячейки; ASCII-код символа по этим координатам помещается в стек |
| константы: |
| 0-9 |
Поместить число в стек |
| " |
Начало/конец символьного режима, в котором ACSII-коды всех текущих символов программы помещаются в стек |
| стековые арифметические операции: |
| + |
Сложение вершины и подвершины |
| - |
Вычитание вершины и подвершины |
| * |
Умножение вершины и подвершины |
| / |
Целочисленное деление |
| % |
Остаток от деления |
| стековые логические операции: |
| ! |
Отрицание: нуль на вершине заменяется на 1, ненулевое значение — на 0 |
| ` |
Сравнение "больше, чем": если подвершина больше вершины, в стек помещается 1, иначе 0 |
| ввод-вывод: |
| & |
Запросить у пользователя число и поместить его в стек |
| ~ |
Запросить у пользователя символ и поместить в стек его ASCII-код |
| . |
Распечатать вершину стека как целое число |
| , |
Распечатать символ, соответствующий ASCII-коду на вершине стека |