Всех с наступающим новым годом.
Это набросок статьи, поэтому тезисно.
Постановка задачи: имеем z80 и ARM. Хотим писать программы для z80, используя его программное и аппаратное окружение ( ZX Spectrum), но в то же время используя возможности ARM. Писать каждый раз вместо одной программы две неудобно. Как облегчить себе жизнь?
Ясно что нужно автоматизировать процесс получения кода. Если процессоры соединены не через память (КПДП, менеджер памяти, двухпортовая память с механизмами разделения), а через каналы связи(RS-232, бит параллельного порта, параллельный порт), требуется организовать пересылку данных через протоколы обмена с помощью специальных библиотечных процедур (С), или макросов ассемблера.
Можно ли обойтись без СРВ? Можно, когда z80 доходит до вызова процедуры, которая на нем выполняется медленно, он останавливается (и обрабатывает прерывания)или переходит на цикл обработки ввода/вывода до получения прерывания от "процедурного процессора", в качестве которого выступает ARM. В случае использования компилятора C, можно вместо обычной стандартной библиотеки подключать специализированную ( в случае ассемблера вызывать макросы). А как быть с "процедурным процессором"? Тот же самый исходный код повторно компилируется и для него. Только сами функции и процедуры снабжаются интерфейсом для получения вызовов и параметров от основного "клиентского" и передачи ему результатов обработки(вычислений). Это тоже можно сделать с помощью специализированной библиотеки. Для автоматизации и согласования обоих процессов можно написать драйвер компиляции. Если используются разные операционные системы, необходимо использовать различные наборы библиотек.