Hello George.
Fri Jun 23 2006 10:31, George Shepelev wrote to me:
DT>> И что, для обращения к "внешней" памяти там не надо использовать movx DT>> a,@DPTR? :)
GS> Понимаешь ли, внешняя память работает _медленно_, это физические GS> ограничения интерфейса. И с этим "игольным ушком" бороться трудно...
Hа многих кристаллах имеется обычная статическая память, обращение к которой организовано как к внешней. Работает она не медленнее "внутренней". Проблема именно в неудобстве обращения через DPTR.
DT>> Или "внутреннюю" более 256 байт можно адресовать?
GS> Можно, причём разными способами. Возможен "страничный" доступ, GS> используя специальный регистр, задающий номер страницы, возможна GS> "линейная" адресация с помощью команд MOVX
Про MOVX и я говорил, это примерно как из файла читать. И хорошо если DPTR-ов больше одного...
Так или иначе, работать полноценно можно только с 256 (а точнее даже со 128) байтами, ещё 128 байт хорошо идут под стек. Работа же с остальной памятью сильно затруднена.
Кроме того, быстродействие: типично - 12-24 такта на команду, есть варианты с x2 и x3, но существенно дороже. Внутренних умножителей частоты нет.
Так что смысл работать с 51 серией есть только тогда, когда уже наработано много софта (а софт для 51-х писался, в основном, на ассемблере) и нет смысла его портировать на другие кристаллы.
Dimmy.