Касаемо F86C, который т.н. "Тёплый старт". Быстрый просмотр статей о РК показал, что там нигде явно не указывается, что F86C является возвратом в монитор (или "тёплым стартом"), хотя именно этот адрес таковым я и является (оборудование уже настроено, происходит только сброс указателя стэка и начинается вывод приветствия с последующим ожиданием команды). Но Монитор сохраняет этот адрес в стеке и в примерах программирования указан возврат в Монитор по команде RET (код 21 6C F8 E5 что в ассемблере означает LXI H,0F86CH/PUSH H):
Вложение 58995
А вот в описании монитора Ориона, само словосочетание "тёплый старт" применяется, но в рамках описания расширенных (по сравнению с РК86) подпрограмм Монитора и касаемо ячеек, хранящих этот самый адрес "тёплого старта". Однако, Монитор все так же сохраняет F86С в стеке перед парсингом команды, для обеспечения возврата в Монитор по команде RET:
Вложение 58994
Если честно, я не понимаю сохранения именно F86C как адрес возврата в Монитор ("тёплый старт"), учитывая предложенную идеологию возврата в монитор по RET при условии сохранения стэка (в вершине стека адрес возврата при запуске программы), либо переход по адресу, хранящегося в стандартных документированных ячейках. Т.е., только какие-то гики могли захардкодить выход из программы как F86C и оглядываясь на них этот адрес был сохранен. А вот на Спеце мы не парились: C800 и всего делов.
PS А в CP/M возврат из программы тоже по RET при условии сохранения стэка?





Ответить с цитированием