Никто, как раз один из способов. просто надо иметь в виду, что мы стек меняем, а не ломать потом голову на тему: почему же это она не работает?
1. положим, не на этот, а на -1 ;-)
2. это мы с тобой понимаем, а начинающий может не понимать до конца этих моментов, вот для них и объясняется
По поводу TR-DOS:
ld hl, addr ;в hl указываем адрес для загрузки
ld bc, nn05 ;nn = количество секторов для загрузки, с = 5 - операция 5 (последовательное чтение nn секторов)
ld de (#5CF4) - в идеале в d указываем номер дорожки, а в e - номер сектора, с короых будем производить чтение. Но в #5CF4 (системная переменная TR-DOS) у нас хранятся эти значения после последней операции (то бишь, если последней операцией было чтение или запись 3-х секторов 2-й дорожки, начиная с 5-го, то после её завершения в #5CF4 у нас будет храниться следующее значение: дорожка 2 сектор 8 (ведь мы считали/записали последовательно 5-й, 6-й и 7-й сектора и после чтения 7-го сектора головка переместилась на 8-й). Соответственно, считав один файл головка у нас всегда стоит на начале следующего (естественно, не работает в ситуации когда следующий файл стёрт, а диск не уплотнён).
Как-то так...![]()



Ответить с цитированием
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
как только сектор затрет стек (даже не догрузив запрошенное до конца!), ты куда-нить вылетишь. можно, конечно, так приколоться, но радости мало. другое дело отмочить такой "пакованный хрустом" блок, который при его простой распаковке самозапустится