Насколько я помню по книге "Как написать игру на ассемблере", при выходе в Бейсик нужно восстанавливать регистровые пары IY и HL' вроде. Но лучше уточнить в книге.
Насколько я помню по книге "Как написать игру на ассемблере", при выходе в Бейсик нужно восстанавливать регистровые пары IY и HL' вроде. Но лучше уточнить в книге.
Последний раз редактировалось Andrew771; 18.10.2020 в 00:37.
Barmaley_m(18.10.2020)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хорошо, что напомнил. Устанавливать IY на значение 0x5C3A - это, конечно, необходимо при любых делах с бейсиком. Даже при работе прерываний для опроса клавиатуры бейсик использует этот регистр и требует, чтобы в нём содержалось это значение.
Но вот насчёт HL' - это зависит от точки входа в бейсик. Вероятно, в книге "Как написать игру" имелся в виду возврат из функции USR - а это происходит куда-то в недра "калькулятора" и процедуры вычисления выражений. Вход же в бейсик на точку STMT-R-1 - это совсем другое дело, и там содержимое регистра HL' роли не играет.
Последний раз редактировалось Barmaley_m; 18.10.2020 в 11:51.
Заяц-прусак
zxbyte.ru- компьютер Байт и прочий хлам
Дело в том, что из бутов, коммандеров и навигаторов программа часто запускается путём исполнения команды "RUN" в TR-DOS. Это самый простой способ. И тогда уже TR-DOS занимается выделением памяти и запуском, а не коммандер. Если ты уверен, что в коммандере программа запускается именно на низком уровне, наподобие того, как я рекомендовал - то подскажи. В противном случае жизни не хватит копаться во всех коммандерах и разочаровываться.
Prusak, как твои успехи? Ты поборол проблему сбоя по завершении программы?
Заяц-прусак
zxbyte.ru- компьютер Байт и прочий хлам
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)