User Tag List

Показано с 1 по 10 из 107

Тема: Вопросы по архитектуре "Специалиста"

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,641
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Далее для собственного удобства я буду оперировать мнемониками Z80, так как мнемоники 8080 я забыл и сейчас они для меня совсем непонятны.

    Прошу знающих людей указать на неточности, если они есть, а также ответить на вопрос.

    У Специалиста область ПЗУ начинается с адреса 0xC000. Соответственно, после включения компьютера для подготовки его к работе должна начать выполняться программа из ПЗУ, то есть с адреса 0xC000. Однако процессор Intel 8080 (КР580ВМ80А) после сброса передаёт управление на адрес 0x0000. И тем не менее код, находящийся в ПЗУ по адресу 0xC000, запускается и работает.

    Начало кода в ПЗУ выглядит так:

    Код:
    0xC000: JP 0xC003
    0xC003: LD SP, 0x7FFF
    0xC006: LD A, 0x82
    0xC008: LD (0xFF03), A
    0xC00B: JP 0xC4444
    На первый взгляд команда JP 0xC003 совсем лишняя, так как она всего лишь передаёт управление на следующую строку. Однако именно эта команда и передаёт управление на код, размещающийся в ПЗУ. Дело в том, что сразу после включения компьютера эта команда как раз и находится по адресу 0x0000. То есть как раз там, куда передаёт управление процессор сразу после его сброса.

    Как же так получается? А всё дело в том, что после сброса компьютера ПЗУ помимо своего стандартного положения по адресу 0xC000 дополнительно проецируется в начальную область памяти, начиная с адреса 0x0000. Таким образом, код, зашитый в ПЗУ одновременно находится и по адресу 0xC000, и по адресу 0x0000.

    За переключение расположения ПЗУ отвечает штатная микросхема программируемого параллельного интерфейса Intel 8255 (КР580ВВ55А).

    В коде ПЗУ две команды, следующие за командой установки стека, отключают это дублирование ПЗУ в ОЗУ и переводят память в штатный режим:

    Код:
    0xC006: LD A, 0x82
    0xC008: LD (0xFF03), A
    Эта операция обратима. При большом желании можно затем и вручную снова включить ПЗУ в область ОЗУ, подав следующие команды:

    Код:
    LD A, 0x10  ; 00010000 - включен 4-й бит порта С (PC4)
    LD (0xFF02), A
    Остаётся вопрос, на который мне не удалось найти ответа, а принципиальная схема компьютера мне ни о чём не говорит. Какой объём памяти после включения Специалиста дублируется с 0xC000 на адрес 0x0000? Вся вторая половина адресного пространства, то есть 0xC000-0xFFFF? Только область Загрузчика - 0xC000-0xС7FF? Какой-то другой вариант?
    С уважением, Станислав.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. RK-КНГМД для "Специалиста"
    от zx_ в разделе Специалист
    Ответов: 136
    Последнее: 14.09.2025, 07:03
  2. Плёночная клавиатура Специалиста "Экспресс"
    от HardWareMan в разделе Специалист
    Ответов: 1
    Последнее: 06.02.2023, 22:59
  3. Симуляция "ЛИКа" (модификации Специалиста)
    от apofig в разделе Специалист
    Ответов: 27
    Последнее: 06.06.2022, 20:31
  4. Ответов: 5
    Последнее: 03.07.2015, 00:22
  5. Продам плату ПК "УЦА" (клон "Специалиста")
    от riogen в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 25.01.2011, 11:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •