Mam problem z implementacją asemblera *** dla codegolf.se. Udało mi się załadować ciąg znaków do pamięci, znaleźć jego długość wyłapać, wydrukować ciągi n razy itp., Ale nie mogę załadować do pamięci tylko małych liczb. Więc weźmy następującą pętlę, która wykonuje jakąś magię. (Hash marks debugujesz znaczników.)Wydajna implementacja pętli while w brainf ***
#,#[>#<[<]<<#+#>>>[>]#,#]<[<]
Zaczyna się wskaźnik 512 i zapisuje ciąg jako wartości ASCII na plamy po 512
Now if (z jakiegokolwiek powodu) Chciałbym rozebrać się małe litery to, będzie wyglądać tak w psuedo BF.
#,#[>#<[<]<<#+#>>>[>]#do{,(takes input and assigns it)}
while(input>=96/*Go arbitrarily to the right for this implementation but
make sure that the first non-lowercase number is stored at the index*/)#
//Also be sure to zero out any temporary cells used
<[<]
Teraz moje pytanie brzmi, jak mogę wdrożyć taki pętli while a tylko za pomocą spacji na prawo od 512 jako magazynowania i usuwania ich później. Dla ciekawych this jest problem, który chcę rozwiązać w branf ***.