четверг, 11 марта 2010 г.

Кремневый язык или ассемблер i8080

В микропроцессоре КР580ИК80А программно-доступными являются 8-битовые регистры A,B,C,D,E,H,L; 16-битовые - слово состояния PSW (регистры А и F), пары регистров B,D,H, обозначаемые по первому регистру пары BC,DE,HL соответственно, указатель стека SP и программный счетчик РС, а также отдельные признаки рeгистра F (см.рис.5).
Система команд микропроцессора содержит 78 команд и может быть разбита на следующие группы:
  1. группа команд пересылки, осуществляющих передачу информации между регистрами (11 команд);
  2. группа арифметических команд (14 команд);
  3. группа логических команд (15 команд);
  4. группа команд передачи управления (29 команд);
  5. группа команд работы со стеком, ввода-вывода и управления регистрами процессора (9 команд);
Список всех команд процессора приведен в следующих таблицах:




В этих таблицах точно есть опечаки будьте осторожны, однако именно эти таблицы самые информативные. Я засек следующие опечатки:
MOV D, B  58 вместо 50
MOV D, C 59 вместо 51
MOV D, D  5A вместо 52
MOV D, E  5B вместо 53
MOV D, H  5C вместо 54
MOV D, L  5D вместо 55

В дополнение к посту вот ссылки на:
Описание Ассемблера КР580ВМ80А:  assembler.rar
Описание ЦПУ КР580ВМ80А и i8080: processor8080.rar
                                                                 KP580BM80A.pdf


4 комментария:

Alexeys комментирует...

Нашел табличку
http://ezsk.org/programming/K580.html

kosmoflyko комментирует...

Спасибо, отличная страничка. Уже распечатал и прикрепил к посту (на всякий случай).

Alexeys комментирует...

Будь осторожен с флагами полно неточностей. Мне пришлось выкачать в сети старинную книгу Щелкунов Н.Н., Дианов А.П. "Микропроцессорные средства и системы" (К580, К1810, К1816), что бы разобраться с флагами. Мой трехтомник "Микропроцессоры" которым я до сих пор гордился оказался слабоват :). Надо будет закупиться если такие справочники еще в продаже.

P.S. Кстати твой второй хзаход на "Спеца" вдохновил меня сделать симмулятор i8080 (К580) на базе Atmel AVR по принципу виртуальной машины, и я тебе доложу совершенно таки потрясающие результаты. Самое глубокое расхождение по тактам на команду не более чем в 2,5 больше для AVR. На одной и той же тактовой частоте несомненно симмулятор проиграет в среднем в 2 раза. Но прелесть в том что на AVR F = 2,5*3 = 7,5 ~ 8МГц достижима даже с встроенным осциллятором! Представляешь какие возможности открываются при построении на ATMega161 или 8515 где разрешено подключать внешнюю память данных? Фактически можно воссоздать платформу Специалиста, Радио-86РК, Орион-128 на очень не дорогой и простой в наладке базе. Сам симмулятор 8080 занял порядка 3,5К слов. Оставшихся для 8515 4К слов (8Кб) более чем достаточно для записи и разворачивания из флеш хоть Монитора, хоть других программ. Думаю отдать то что получилось в свободный доступ после проверки. Есть желание поработать совместно?

kosmoflyko комментирует...

Круто. Очень интересная идея. Проблема в том что сейчас времени ноль, даже Спец еле идет все работа съедает... Поэтому в ближайшие 2-3 месяца точно не смогу чем либо помочь.