Sikor napisał/a:to do kolekcji:
150 REPEAT:UNTIL PEEK(53279)=6
Bez negacji, tylko znak równości
150 ON PEEK(53279)<>6 GOTO 150
Mamy goto, ale działanie dokładnie takie samo
150 #START:ON PEEK(53279)<>6 GO# START
Z tych przykładów wyżej w asemblerze wnioskuję, że negacja znika po kompilacji w kodzie maszynowym, więc czy z NOT, czy bez, realizuje to porównanie logiczne odpowiedni rozkaz CPU. Czyli kod wynikowy dla <>, lub NOT = powinien być tożsamy (w sensie "obciążenia", dopisuję, bo ktoś by się czepiał może), tak mi się myśli. Czyli zależy pewnie od jakości kompilatora, który robi kod wynikowy dobrze, lub zależy, oczywiste.
Natomiast te przykłady z goto - znowu trzeba wiedzieć, jak to kompiluje kompilator, możliwe, że te same kody wynikowe by były (w sensie "obciążenia"), co dla WHILE i REPEAT z NOT lub bez, ale nie koniecznie - ciężka robota badać takie drobiazgi, a w grach, które nie wymagają takich oszczędności cykli, chyba nie miałoby to większego sensu, jak w wypowiedzi "Sikor", wyżej.
Ciekawi mnie od początku tego wątku o tej pętli POKE, w jaki sposób komórka pamięci 53279 może kiedykolwiek i jakkolwiek zmienić swoją wartość? To nie jest przypadkiem obszar ROM-u?