Май 2019
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  

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

Последние темы
» Эмулятор радио 86рк
автор parsec Вчера в 18:44

» Эмулятор ИРИШИ для тех, кто не имеет её реальной
автор barsik Вчера в 18:38

» Новинки. Книги. Часть 1.
автор Viktor2312 Вт Май 21 2019, 16:21

» Программирование для ИРИШИ
автор barsik Пн Май 20 2019, 21:14

» Новинки. Книги. Часть 3.
автор Viktor2312 Пн Май 20 2019, 16:38

» Модуль контроллера графического дисплея (МКГД).
автор barsik Вс Май 19 2019, 13:40

» ATM Turbo 2+ v7.10
автор alemorf Сб Май 18 2019, 20:03

» Схемы и документация на отечественные ЭВМ и ПЭВМ и комплектующие
автор Viktor2312 Сб Май 18 2019, 18:10

» Куплю микросхемы КР1818ВГ93 и КМ1810ВТ3.
автор Savoj Чт Май 16 2019, 07:51

» Радио-86РК: Расширение ОЗУ
автор barsik Чт Май 16 2019, 01:26

» Клавиатура ИРИШИ
автор barsik Ср Май 15 2019, 16:57

» ИРИША и магнитофон
автор barsik Пн Май 13 2019, 04:23

» Новости криптовалют: статьи, заметки, разное...
автор Viktor2312 Сб Май 11 2019, 03:01

» Жалобы/пожелания по работе форума
автор Viktor2312 Сб Май 11 2019, 00:50

» Альтернативные КНГМД для ИРИШИ
автор barsik Пт Май 10 2019, 01:12

» Видеокарты (GPU). Статьи, заметки, очерки, разное...
автор Viktor2312 Чт Май 09 2019, 19:55

» Алгоритм SHA-256 и др., хеш (hash), хеширование, майнинг.
автор Viktor2312 Чт Май 09 2019, 01:30

» Обсуждение желаемых новодельных плат расширения и мелких усовершенствований базовых плат
автор barsik Ср Май 08 2019, 16:06

» Разное
автор Viktor2312 Вт Май 07 2019, 19:19

» Для новичков (криптовалюта).
автор Viktor2312 Вт Май 07 2019, 17:32

» Ассемблер для современных CPU Intel.
автор Viktor2312 Вт Май 07 2019, 17:12

» МКНГМД Вариант-3. Версия на К1818ВГ93
автор barsik Вт Май 07 2019, 15:15

» Обзор крипто проектов.
автор Viktor2312 Вт Май 07 2019, 12:57

» 7 Мая. День Радио!
автор Viktor2312 Вт Май 07 2019, 12:00

» "Радио-86РК". Статьи, заметки, очерки, разное...
автор barsik Сб Май 04 2019, 20:20

Самые активные пользователи за месяц
Viktor2312
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
barsik
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
alemorf
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
demetrius2003
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
a.oleg.a
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
parsec
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
Savoj
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 
VladimirS
Микропроцессор КР580ВМ80А (i8080) Vote_lcapМикропроцессор КР580ВМ80А (i8080) Voting_barМикропроцессор КР580ВМ80А (i8080) Vote_rcap 

Поиск
 
 

Результаты :
 


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
Viktor2312
Гуру+

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

Посмотреть профиль

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

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

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

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

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

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

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

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

Посмотреть профиль

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

Микропроцессор КР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
Мастер+

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

Посмотреть профиль

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

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

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

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

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

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

Посмотреть профиль

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

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

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

Т.к всё адресное пространство 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
barsik
Мастер+

Сообщения : 458
Дата регистрации : 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
Мастер+

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

Посмотреть профиль

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

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

Сообщение  Спонсируемый контент

7

Спонсируемый контент


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

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


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