Здравствуйте. У меня вопрос, а как собственно работает Z80? Если он выполняет программу из ROM, то как тогда он загружает программы из различных источников? Можете объяснить новичку? Спасибо.
Вид для печати
Здравствуйте. У меня вопрос, а как собственно работает Z80? Если он выполняет программу из ROM, то как тогда он загружает программы из различных источников? Можете объяснить новичку? Спасибо.
radioegor146, в двух словах - такое не рассказать.
Общие принципы работы CPU в ZX-SPECTRUM описаны в книжке "...для пользователей и программистов".
Судя по заданному вопросу, следует начать с мануалов описывающих работу z80 или кр580.
В двух словах - сначала выполняется программа из ROM, которая грузит с внешнего носителя в RAM другие программы и запускает их (переходит к их выполнению).
Действительно, лучше почитать всякие книжки (и не только эти).
radioegor146, поделись, пожалуйста, примерно какой уровень знаний о Спектруме или других 8-битных компьютерах у тебя есть - нам проще будет понять как понятнее объяснить. В целом после сборса процессор ZX Spectrum начинает исполнять программу в машинных кодах с адреса 0. У классического ZX Spectrum там находится ПЗУ (ROM), в которой прошит интерпретатор языка Sinclair Basic, являющийся по совместительству и операционной системой. Команды Bacis'а реализуются подпрограммами в машинных кодах, хранящимися тоже в ПЗУ. Одной из таких команд является LOAD. Соответствующая подпрограмма с большой частотой опрашивает бит 6 порта 254 (к нему подключен сигнал с магнитофона), и, обнаружив на нем изменяющийся сигнал, интерпретирует его как закодированные данные, которые можно раскодировать и поместить в оперативную память (RAM). Если загружается Basic-программа, интерпретатор может начать ее выполнение. Если загружается машинокодовая программа, специальной функцией Basic'а USR можно запустить выполнение машинного кода по указанному адресу.
Благодарю за ответ. Всё что вы написали - мне и было нужно. Спасибо.