Что-то я не понимаю смысла возни с SCRATCH2(current track) и SCRATCH3(current sector) в TRKSEC2. В комментах указано, что SCRATCH3=current_sector, накой из него в цикле вычитать SPT(SECTORS), и делать это пока BLKNMBR меньше SCRATCH3(current_sector)?
Понять не могу что там на что делится и зачем. SCRATCH-и тоже надо что ли 24 битными заводить?

