RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Апрель 2024
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930     

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Микропроцессор КР580ВМ80А (i8080)

Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Микропроцессор КР580ВМ80А (i8080)

Сообщение  Viktor2312 Чт Окт 01 2015, 22:55

1
Полезная, цветная табличка. Скачать Intel_8080_OPCODES.rar


Размещу ещё тут вот такую табличку, с системой команд микропроцессора КР580ВМ80А, красочная, красивая, полезная:

Микропроцессор КР580ВМ80А (i8080) 0_14343c_d1f6075a_L
Система_команд_КР580ВМ80А

Картинка кликабельна.


Последний раз редактировалось: Viktor2312 (Пт Апр 01 2016, 12:40), всего редактировалось 1 раз(а)

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Re: Микропроцессор КР580ВМ80А (i8080)

Сообщение  Viktor2312 Сб Дек 19 2015, 23:56

2
Хорошая книжка по программированию на ассемблере:

Скачать Левенталь Вар.1
Скачать Левенталь Вар.2
Скачать Левенталь Вар.3

Ещё одна, неплохая:

Скачать Гудыменко Вар.1

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Re: Микропроцессор КР580ВМ80А (i8080)

Сообщение  barsik Чт Сен 14 2017, 16:38

3
Viktor2312 пишет:табличка... красочная, красивая, полезная
А точнее - красочная, красивая и... бесполезная.

От этой таблички польза, если найдётся кто-то ненормальный, кто решит программировать в машинных кодах. Для реального использования нужна другая табличка, в которой были бы приведены флаги изменяемые конкретной командой и число машинных тактов. В журнале РАДИО такой таблички не было опубликовано. Не знаю, где найти такую таблицу для КР580, может быть в иностранном даташите. Но можно пользоваться аналогичной табличкой для Z80, если помнить о разном числе тактов команд и отличии в работе флага PARITY.

Ещё в этой теме полезно привести информацию о работе 12-ти недокументированных команд КР580 (кодов команд 244, а всего кодов 256). Эти команды очень хорошо себя зарекомендовали в борьбе с пиратами и кракерами, т.е для защиты кодов программ от модификаций.

На заре компьютеризации были такие придурки, которые находили в дампе программ титры автора и заменяли их на что-то своё и это называлось у них "кракнуть" программу. Такие деяния почему-то были популярны. Но когда некоторые программы специально защитили от модификаций, эти идиоты ничего не смогли сделать. А также кракнуть грамотную МГ-защиту от копирования также никому не удалось. Впрочем МГ-защиту в этом случае просто "обходили", используя слепок ОЗУ. Но вот защиту кода от модификаций без трудоёмкого крака сломать невозможно.

Относительно КР580 интересна тема оверклокинга. По моим данным КР580 без проблем работает на 3.5 МГЦ, даже без принятия каких либо мер. Лишь бы шина была не перегружена и дешифратор был серии 1533. Подняв питание до 5.25 В можно использовать КР580 и на такте 4 МГЦ, однако это требует наличия большого и медного радиатора. Вообще КР580 устойчив к перегреву, работает при температуре ~100'C, когда он разогрет так, что почти самовыпаивается из платы.


Последний раз редактировалось: barsik (Пн Окт 09 2017, 17:10), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Re: Микропроцессор КР580ВМ80А (i8080)

Сообщение  Viktor2312 Чт Сен 14 2017, 18:12

4
barsik пишет:От этой таблички польза, если найдётся кто-то ненормальный, кто решит программировать в машинных кодах.

Ну, смотрите на меня, смотрите, вот он я, тот не нормальный, кто это делает, так ещё и от этого получает удовольствие...

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Есть ли польза от недокументированных команд?

Сообщение  barsik Пн Окт 09 2017, 08:49

5
В микропроцессоре КР580 (насчёт Intel 8080 не знаю) имеются недокументированные команды. Из 256 возможных кодов 244 кода документированы в РТМ и исполняются как команды. А про 12 оставшихся кодов в документации ничего не указано. Логично предположить, что эти коды совсем недопустимы (например, в процессоре 6502 недокументированные команды вызывают завис). Но в КР580 это не так. Отечественные любители открыли, что эти 12 кодов в КР580 дублируют команды из основного набора команд, в частности NOP, JMP и CALL. Таким образом у КР580 есть три альтернативные команды NOP, JMP и CALL.

Первыми эти недокументированные команды КР580 в 1988 обнаружили и стали использовать пионеры компьютеризации Лукин и Титков из КООП "SP-580" для защиты от копирования программ СПЕЦИАЛИСТА. Это сработало потому что, во-первых, никто не знал о таких командах, а во-вторых, отладчики и дизассемблеры сбивались при этих командах, что затрудняет крак.

Впрочем, МГ-защита в программах КООП SP-580 была слабой.  А вот защиты программ некоторых других программистов с использованием того же принципа никто не сумел сломать до сих пор, даже в эмуляторе. Для защиты программы от модификации одновременно используется контроль на целостность кода и запутанность самого кода с использованием недокументированных команд (что исключает использование отладчика - требуется очень трудоёмкий анализ на уровне машинных кодов, причём код программы специально запутан). Заменить байты на документированные нельзя, т.к этот код не только прогоняется, но ещё и хитрым способом проверяется на немодифицированность. В итоге, оказываетчя проще написать свою аналогичную программу с нуля, чем пытаться взломать чужую.

О недокументированных командах стало известно в 1989, когда кракеры в процессе взлома МГ-защит коммерческих программ для СПЕЦИАЛИСТА, обнаружили эти команды. Долгое время эта тайна держалась в большом секрете, но в середине 1990-тых эта информация стала известной многим пользователям ОРИОНА.

В базовых отечественных компьютерах, кроме как для вредительства, использовать эти команды нельзя. Однако при несложной доработке схемы, можно всё-же получить пользу. В многих отечественных компьютерах сдуру применено слишком маленькое ПЗУ, что не позволяет разместить там много подпрограмм. Особенно это фатально для ОРИОНА, где в крошечное ПЗУ невозможно уместить поддержку богатых графических возможностей. Из-за этого системные программы ОРДОС имеют убогий дизайн.

Т.к всё адресное пространство CPU занято, то расширять ПЗУ можно только за счёт его включения в участке памяти вместо ОЗУ с помощью хитроумного диспетчера памяти. Используя недокумментируемые команды можно сделать процесс включения/отключения "теневого" ПЗУ без специально программно управляемого диспетчера ОЗУ.

Команда JMP имеет код C3. Однако недокумментированный код CB делает то же самое. Потому схему можно изменить так, чтобы при чтении кода команды CB происходило автоматическое переключение конфигурации (например, включение в адресах 0000...7FFF теневого ПЗУ). Процессор КР580 специально для таких целей в слове состояния по биту D5 выводит флаг, что идёт чтение команды. Защёлкнув D5 по SYNC на триггере получаем сигнал М1, сигнализирующий о том, что на шину читается код команды. Добавив схему совпадения на код CB (удобнее всего на 556 РТ4) и триггер ТМ2 формирующий сигнал ROM_ON, при выполнении альтернативной команды JMP (с нестандартным кодом CB), включение доп.ПЗУ будет происходить автоматически. Разместив в ОЗУ выше 8000 табличку входов, например F300, F303, F306..., по вызову этих входов, ПЗУ будет включаться автоматически. Для этого на адресах F300, F303, F306 вместо стандартной команды JMP с кодом C3 должны стоять альтернативные команды JMP, т.е байты CB, за которыми следуют адреса исполнительных частей подпрограмм в дополнительном ПЗУ. Для отключения ПЗУ, выход из подпрограмм в доп.ПЗУ делается на одну точку (например в ПЗУ F800), где стоят лишь две команды STA FB00 и RET. Сигнал строба по STA FB00 в схеме ОРИОНА есть. Достаточно завести его на вход R триггера ROM_ON. Тогда отключение ПЗУ также происходит автоматически при возврате из п/п-ммы в теневом ПЗУ. Можно для этих целей использовать альтернативный RET (D9), но это невыгодно, т.к деталей больше.

Для программ это выглядит так, как будто прямо в адресное просторанство добавлено 32 кб ПЗУ, причём оно совершенно не мешает программам (как будто процессор адресует не 64 кб, а 96). При нужде аналогично можно использовать альтернативные команды CALL с кодами DD, ED и FD. Это, например, позволит автоматически включать три банки ПЗУ. Т.е, если вставить в программу, например, CALL с кодом DD, то включается одно ПЗУ, а с кодом ED - другое ПЗУ, с кодом FD - третье ПЗУ. А альтернативные команды NOP можно использовать для управления однобитовыми портами. Например, код 08 устанавливает бит, а код 10 сбрасывает. Причём, если для выделения кода альтернативной команды используется 556 РТ4, то число деталей даже не растёт.

Применения альтернативных кодов можно найти и для РК86. Например, можно точно также использовать альтернативный JMP для автоматического включения дополнительного ПЗУ. Например, чтобы часть стандартных подпрограмм ПЗУ F800 перенести в доп.ПЗУ. Тогда на входах F803, F806, F809... код C3 меняем на CB, отчего при вызове этих п/п-рамм будет переход в доп.ПЗУ (установленное например на 8000...BFFF).  Можно так же автоматически переключать в окне 0...7FFF ОЗУ, если оно на 565 РУ5. Например, альтернативный JMP (CB) включает в этом окне вторую "невидимую" полубанку из РУ5. Сделав в ПЗУ подпрограммы F836/39 для чтения и записи байта из "теневой" полубанки, без изменения архитектуры получается дополнительные 32 кб для данных.


Последний раз редактировалось: barsik (Ср Янв 06 2021, 00:05), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty Управляющее слово для РУС ППА в режиме 0

Сообщение  barsik Сб Фев 02 2019, 17:12

6
Intel 8255 нашла широкое применение даже для неродных процессоров - Z80, 8088 и 6502, т.к она удобнее, чем Z80PIO (UB855) или 6821/6521, т.к у неё три порта, а не два.

В 99 процентах случаев ППА ВВ55 в любительских самоделках используется в режиме 0. Хотя ВВ55 имеет ещё режимы 1 и 2, в котором биты порта C используются как сигналы стробирования, квиттирования и готовности. Единственно, где встречается ВВ55 в другом режиме это в РК-КНГМД А.Мельникова из 1989 года (не путать с РК-КНГМД Е.Седова из 1993). Там для ускорения обмена использован именно такой режим аппаратной поддержки параллельного интерфейса.

Для не особо извращающегося над ВВ55 программиста достаточно иметь перед глазами нижеприведённую табличку (которой, кстати, в виденных мной книгах нет). Пока я не имел этой таблички, то вынужденно тратил много времени, чтобы разобраться в режиме ВВ55 по книгам.


          Таблица для выбора УС для записи в РУС 580ВВ55
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Управляющее   Порт А        Порт С (ст.)   Порт B         Порт C (мл.)
слово         (PA0...PA7)   (PC4...PC7)    (PB0...PB7)    (PC0...PC3)
                                                         
80H           Вывод         Вывод          Вывод          Вывод
81H           Вывод         Вывод          Вывод          Ввод
82H           Вывод         Вывод          Ввод           Вывод
83H           Вывод         Вывод          Ввод           Ввод
88H           Вывод         Ввод           Вывод          Вывод
89H           Вывод         Ввод           Вывод          Ввод
8AH           Вывод         Ввод           Ввод           Вывод
8BH           Вывод         Ввод           Ввод           Ввод
90H           Ввод          Вывод          Вывод          Вывод
91H           Ввод          Вывод          Вывод          Ввод
92H           Ввод          Вывод          Ввод           Вывод
93H           Ввод          Вывод          Ввод           Ввод
98H           Ввод          Ввод           Вывод          Вывод
99H           Ввод          Ввод           Вывод          Ввод
9AH           Ввод          Ввод           Ввод           Вывод
9BH           Ввод          Ввод           Ввод           Ввод

В таблице приведены байты лишь для наиболее популярного режима 0 (уст. по сбросу). Одно из этих управляющих слов необходимо записать в регистр управляющего слова ВВ55 (который для ОРИОНА равен F403, F503, F603, а для РК - 8003 и A003).
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Микропроцессор КР580ВМ80А (i8080) Empty .

Сообщение  barsik Вт Янв 05 2021, 23:05

7
Несколько интересных мне ссылок про микро процессоры.

Любопытно, что вот здесь утверждается, что практически все страны выпуская клоны 8080 пиратствовали, т.е производили клоны процессора не купив лицензию, не только СССР это практиковала. А вот странность, что, за исключением 573 РФ1, все вот эти микросхемы у меня есть.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения