ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 29 сен 2020, 06:46

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 4 сообщения ] 
Автор Сообщение
 Заголовок сообщения: Команды процессора RST0...RST7, DI,EI
СообщениеДобавлено: 27 ноя 2019, 17:14 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщения: 69
Как-то однажды на просторах форума (или еще где-то), я прочитал что
команды процессора RST0...RST7, DI, EI - во "ЛЬВОВ"-е не реализованы!
Я не заострил тогда внимания на том, что "не реализованы", это ж не значит что они не работают?!
Можна ли их реализовать в программах? т.е. имеется ввиду будут ли они работать на реальном ПК-01 если их задействовать.
Реализовывали ли их в играх (если да каких именно, если нет, то почему) ?

(тонкости работы данных команд их я еще не рассматривал, но насколько я понял, то каждая RST "привязана" к конкретному адресу начала памяти = ( (RST0...RST7) *8 ) и при применении их в программе, они ведут себя подобно CALL с разницей, что адрес фиксированный)
EI - Разрешение прерываний.
DI - Запрет прерываний.
Т.е. насколько я понял при применении DI, EI, будет включаться или выключаться (игнорироваться) команды RST0...RST7 ?


Вернуться к началу
 Заголовок сообщения: Re: Команды процессора RST0...RST7, DI,EI
СообщениеДобавлено: 28 ноя 2019, 13:08 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщения: 1025
RST0...RST7 - это команды прерываний. Их вызов будет аналогичен
CALL 0
CALL 8
CALL 16
и т.д.

Основная идея заключается в том, что к процессору можно подключить какую-нибудь аппаратную приблуду, которая будет вызывать их сама.
Чаще всего, это - таймер. Например, если подключить аппаратный таймер, скажем 50Гц, к прерыванию №2, то каждые 20 мс у нас автоматически будет вызываться код расположенный по адресу 16.

Увы, в ПК-01 это все не реализировано. Т.е. нет ни одной приблуды, которая бы вызывала прерывания аппаратно.

Их можно вызвать програмно. Хотя, обычно их редко используют. Единственный известный мне пример, это перекомпиляции с Z80. CALL c адресом занимает 3 байта, а RST - один байт, что позволяет экономить место в макросах, которые заменяют расширенные команды Z80.


EI и DI в 8080 не реализированы (только в 8085), стало быть в ПК-01 Львов они не работают. Но, если мне не изменяет память, они блокируют только аппаратные прерывания. Софтверные RST будут работать, как и прежде (но на 100% не уверен).


Вернуться к началу
 Заголовок сообщения: Re: Команды процессора RST0...RST7, DI,EI
СообщениеДобавлено: 28 ноя 2019, 13:22 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщения: 69
Спасибо за разъяснения.
В общем, проще выражаясь - выкинуть их из внимания и никогда не возвращаться к ним!


Вернуться к началу
 Заголовок сообщения: Re: Команды процессора RST0...RST7, DI,EI
СообщениеДобавлено: 26 июл 2020, 10:41 
Не в сети

Зарегистрирован: 07 дек 2010, 16:54
Сообщения: 225
Цитата:
Их можно вызвать програмно. Хотя, обычно их редко используют. Единственный известный мне пример, это перекомпиляции с Z80.
микрософтовский бейсик в ПЗУ их использует для парсинга (там 2 байта получается вместе с данными: RST не_помню_номер 'ожидаемый_символ')
Цитата:
EI и DI в 8080 не реализированы (только в 8085), стало быть в ПК-01 Львов они не работают. Но, если мне не изменяет память, они блокируют только аппаратные прерывания. Софтверные RST будут работать, как и прежде (но на 100% не уверен).
всё так, но в ПЗУ они почему-то используются и, кстати, по прерыванию процессору на шину выставляется команда, так что фактически по прерываниям процессор мог бы выполнять любую однобайтовую команду (например INR B) без захода в подпрограммы.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 4 сообщения ] 

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB