Dokładnie tak, nie rozumiem jak one działają z:
Pewnie tak, że w przypadku DOW ewaluacja not %eof
następuje przed wejściem do pętli, zaś DOU przy zakończeniu obrotu pętli. W efekcie w drugim przypadku pętlę wykonasz przynajmniej raz.
Twój program się może wywalić w "podejściu DOU", np. plik jest pusty, to najpierw wykonasz "doStuff" oraz "read", zaś ewaluacja %eof
nastąpi po odczycie. Innymi słowy, "read" może się wywalić na czytaniu z pustego pliku. W przypadku "DOW", najpierw sprawdzane jest czy plik jest niepusty i dopiero wówczas pętla jest wykonywana.
p.s.
Nie znam się na RPG, więc może ktoś odpowie Ci sensowniej ;)