А вы обратили внимание, что там только две команды - передача в ОЗУ ПП (код 020) и запуск в ОЗУ ПП (код 030). Отсутствует команда выделения блока памяти в ОЗУ ПП (код 1). Здесь естественно сработает, т.к. функции 020 и 030 не меняют ваш блок параметров. А функция 1 после исполнения передаёт в ваш блок параметров результат операции.
- - - Добавлено - - -
Да уж, задержка будет ужасной. И выигрыш в задержке будет только при запуске кода по команде 030. В случае передачи команды 020 и не ожидания установки бита готовности придётся ждать его перед командой 030. Вот собственно и весь выигрыш. А так ожидание ещё может уйти на синхронизацию с запуском кода в ПП, если кодам в ЦП и ПП надо взаимодействовать между собой.
- - - Добавлено - - -
Ещё столовую ложку дёгтя в бочку мёда. По поводу последовательной подачи команд 020 и 030. Всё сработает и с циклом на четыре, если адрес запуска в ПП будет равен адресу загрузки. А вот если не равны, то вы в блоке параметров пропишите уже новый адрес, а в ПП ещё не успел обработаться запрос 020. Тогда загрузка в ПП начнётся уже с нового адреса.
Я писал несколько программ, которые оставались резидентами в ПП, так у меня получалось, что адрес запуска не был равен адресу загрузки. В младших адресах был резидент, а в более старших осуществлялась инициализация и уменьшение занимаемого блока памяти под объём резидента.





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