Debugger w ZX Spin czasami głupieje, bo chce być inteligentny ;-)
Bo jest uparty, a nie inteligentny.

Przy przewijaniu w górę pamięci robi dobrze, zwiększając adres początku deasemblacji o tyle bajtów ile zajmowała instrukcja w pierwszej linii (bo inaczej się nie da!). Ale przy przewijaniu w dół pamięci powinien zmniejszać adres początku deasemblacji o 1, a nie o długość najdłuższej sensownej instrukcji (jak zdaje się robi).
MAD monitor na ZX-a robi to dobrze. Efekt uboczny jest taki, że przy skrolowaniu w dół pamięci w pierwszej linii ciągle się kotłuje, bo instrukcje się zmieniają.

Ale przynajmniej jest jedno ustawienie pokazujące poprawny program, a w Spinie nie ma.
Ta cecha jest wkurzająca, bo jeśli (jak w przytoczonym programie) ustawi się pułapkę na 40000, to nie będzie jej widać! Często w takim przypadku wpisuję w to miejsce NOP debuggerem.
Ale może nie było innego rozwiązania, skoro wpisywany adres początkowy deasemblacji nie jest na górze strony, tylko w połowie?
PS. LD A,xx to 62 ($3E). To jest, zdaje się, znacznik końca stosu BASICowego GO SUB.