PDA

Просмотр полной версии : Возможно ли как-то понять принцип работы Z80?



radioegor146
15.10.2016, 19:17
Здравствуйте. У меня вопрос, а как собственно работает Z80? Если он выполняет программу из ROM, то как тогда он загружает программы из различных источников? Можете объяснить новичку? Спасибо.

null_device
15.10.2016, 19:34
radioegor146, в двух словах - такое не рассказать.
Общие принципы работы CPU в ZX-SPECTRUM описаны в книжке "...для пользователей и программистов".
Судя по заданному вопросу, следует начать с мануалов описывающих работу z80 или кр580.

Spectramine
15.10.2016, 19:58
В двух словах - сначала выполняется программа из ROM, которая грузит с внешнего носителя в RAM другие программы и запускает их (переходит к их выполнению).

Alex Rider
15.10.2016, 20:57
В двух словах - сначала выполняется программа из ROM, которая грузит с внешнего носителя в RAM другие программы и запускает их (переходит к их выполнению).
Действительно, лучше почитать (http://zxpress.ru/book.php?id=132) всякие (http://zxpress.ru/book.php?id=2) книжки (http://zxpress.ru/book.php?id=18) (и не только эти).
radioegor146, поделись, пожалуйста, примерно какой уровень знаний о Спектруме или других 8-битных компьютерах у тебя есть - нам проще будет понять как понятнее объяснить. В целом после сборса процессор ZX Spectrum начинает исполнять программу в машинных кодах с адреса 0. У классического ZX Spectrum там находится ПЗУ (ROM), в которой прошит интерпретатор языка Sinclair Basic, являющийся по совместительству и операционной системой. Команды Bacis'а реализуются подпрограммами в машинных кодах, хранящимися тоже в ПЗУ. Одной из таких команд является LOAD. Соответствующая подпрограмма с большой частотой опрашивает бит 6 порта 254 (к нему подключен сигнал с магнитофона), и, обнаружив на нем изменяющийся сигнал, интерпретирует его как закодированные данные, которые можно раскодировать и поместить в оперативную память (RAM). Если загружается Basic-программа, интерпретатор может начать ее выполнение. Если загружается машинокодовая программа, специальной функцией Basic'а USR можно запустить выполнение машинного кода по указанному адресу.

radioegor146
15.10.2016, 20:58
Благодарю за ответ. Всё что вы написали - мне и было нужно. Спасибо.