Напрямую это невозможно, т.к разная система команд. А значит используется принцип эмуляции, когда программа анализирует код команды (естественно таблично) и для каждой команды выполняет подпрограмму имитирующую работу команды 6502. Конечно, благодаря тому, что у 6502 очень мало регистров такая эмуляция проста (а вот эмулировать наоборот 8080, не говоря уже о Z80, на 6502 очень сложно, т.к 6502 вообще не поддерживает 16-ти разрядность). Но любая эмуляция фатально тормозит, и минимум в 25-30 раз. Поэтому для использования на Z80 программ (или просто участков кода) написанных для 6502, желательно иметь такт Z80 в 20 МГЦ. Что уж говорить о КР580 с тактом 2.5 МГЦ. При таком такте программа 6502 эмулируется с эквивалентым тактом в 100 КГЦ.Сообщение от rw6hrm
Кстати, есть C8080A с тактом в 4 МГЦ, которые очень удобны для турбирования СПЕЦИАЛИСТА, в котором базовый такт 2 МГЦ. Тогда СПЕЦИАЛИСТ легко турбировать на 200% (когда ОЗУ тоже на 4 МГЦ) или на 142% (по схеме с WAIT, когда ОЗУ остаётся на низком такте).
Разработчики 6800 не стремились увеличивать число регистров, введя вместо этого адресацию ZERO-page, потому, что затем они выпустили 6802 в котором 128 ячеек ZERO-page включено внутрь микропроцессора, т.е получился микропроцессор с реальными 128+3 регистрами (что ускорило работу), а 6502 в итоге так и остался со своими всего 3-мя регистрами.
Впрочем, это не трагедия, т.к благодаря адресации в ZERO-page в 6502 есть как бы 256 регистров, т.е реально программист для 6502 не особо страдает от малого числа регистров непосредственно внутри CPU (потеря только на том, что команды для ZERO-page не однобайтовые, а двухбайтовые, т.е реально лишь вдвое медленнее, чем регистровые команды). Но 6502 неудобен от того, что он вообще не поддерживает 16-ти разрядность и нет адресации к ОЗУ через (HL) или (IX), (IY).




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