Начал отпуск с того, что всю ночь играл в TIS-100 (игра про ассемблер и обработку сигналов).
Прошел первые десять уровней, проспал весь день, а сейчас снова засел, но уже не могу ни одного уровня пройти =( Мой мозг отказывается придумывать, как можно сделать умножение с помощью сложения, стека и операции сравнения с нулем.
AFAIK, ууу, не, на почти спящую голову я с этим не разберусь. На брейнфаке примерно так
+++++>+++++< 5x5 for example
[ start loop
<[->>+<<]>> move 5 to the 3rd cell as you cannot quite copy stuff directly in brainfuck cause origin cell gets zeroed
[->+<<<+>>] copy 5 to the 1st cell (back) and add to 4th cell (accumulator) 3rd cell gets zeroed in the process
<- reduce the second factor by one so now on the first step we have 5 by 4 and 5 total on the second 5 by 3 and 10 total etc
] end loop
result here
но брейнфак же легкий. Машину Тьюринга знаешь? с лентой с ячейками и "курсором" который по ней бегает
+ добавить 1 к ячейке под курсором
- отнять 1 от ячейки под курсором
курсор вправо
< курсор влево
. вывести значение под курсором
, ввести значение в ячейку под курсором
[ маркер для прыжка
] прыгнуть к парному маркеру если под курсором не ноль