Лабораторная работа №1
Цель работы: Изучить структуру и получить практические навыки работы с программой эмулятора микропроцессорной системы на базе мп КР580ВМ80 (Intel i8080).
Основные характеристики микропроцессора КР580ВМ80А.
Простейшую 8-разрядную микропроцессорную систему (МПС) можно построить на основе микропроцессорного комплекта (МПК) серии КР580 (табл. 1.1), выполненного по n-МДП и ТТЛШ- технологиям.
МПК серии КР580 характеризуется архитектурным единством и обеспечивает автономность и функциональную законченность отдельных интегральных микросхем (ИМС), унификацию их интерфейса, программируемость, логическую и электрическую совместимость.
Характеристика МПК серии КР580:
– фиксированный набор команд;
– большой выбор периферийных интегральных схем большой степени интеграции (БИС) различного назначения;
– относительно высокое быстродействие;
– умеренное потребление мощности.
Кристалл МП помещен в 40-контактный корпус с двухрядным расположением выводов с шагом 2,5 мм между ними (рис. 1.1). Допустимый диапазон температур для КР580ВМ80А: от -10 до +79°C; необходимое питание – три источника: — 5 В (ток потребления менее 1 мА), + 5 В (ток потребления менее 70 мА), +12 В (ток потребления менее 50 мА). Для синхронизации МП требуется наличие двухфазного внешнего генератора с амплитудой тактовых импульсов 12 В и частотой следования до 2,5 МГц.
Архитектура микропроцессора КР580ВМ80А: арифметико-логическое устройство (АЛУ), назначение аккумулятора A, блок регистров общего назначения (РОН), возможности регистровой пары HL;
Арифметико-логическое устройство АЛУ – восьмиразрядная комбинационная схема, выполняющая логические и арифметические операции с 8-разрядными числами в двоичной и десятичной системе счисления, а также операции с двойной точностью (с 16-разрядными числами).
АЛУ выполняет следующие операции:
арифметические операции – сложение, вычитание;
логические операции – логическое умножение, логическое сложение;
операции сдвигов – сдвиг содержимого аккумулятора влево или вправо на один разряд;
операцию двоично-десятичной коррекции.
Схема АЛУ всегда подключена к аккумулятору A и к регистру флагов F. В состав АЛУ входит регистр временного хранения, который используется в тех случаях, когда регистр операнда команды также является регистром результата операции. Также в составе АЛУ находится комбинационная схема десятичного корректора DA, используемого для выполнения операции двоично-десятичной коррекции.
Восьмиразрядный аккумулятор А используется в подавляющем большинстве команд логической и арифметической отработки. Обычно он адресуется неявно и служит как источником операнда, так и приемником результата. Благодаря этому в командах МП явно указывается только один операнд.
8-разрядные регистры F и A, вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Регистры C и E являются младшими регистрами пары, B и D – старшими. Обращение к парам регистров происходит по первому, старшему регистру пары (B, D, H).
Рисунок 1.3 – Набор регистров микропроцессора КР580ВМ80А
В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию.
16-разрядный регистр HL, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный адрес основной памяти. В этом случае к нему ссылаются с помощью мнемоники М (Memory), например:
MOV A, M; содержимое ячейки, адрес которой находиться в паре HL (H — High Byte и L — Low Byte) заносится в аккумулятор.
В некоторых командах старший и младший байты 16-разрядного регистра HL могут адресоваться независимо и использоваться как отдельные 8-разрядные регистры данных H и L соответственно.
Назначение регистров специальных функций: регистр указателя стека SP, регистр программного счетчика PC, регистр признаков (флагов) F.
Регистр SP (Stack Pointer) выполняют функцию указателя стека. Стек – специальным образом выделенная область памяти для временного хранения данных – в стеке хранятся слова (двухбайтные данные).
Стек оперирует связанными списками данных, а также данными с многоуровневыми вложениями и имеет определенную дисциплину доступа – LIFO (Last—in—first—out – последним вошел – первым вышел), характеризуется глубиной, т.е. количеством информации, сохраняемой в стеке.
Содержимое SP указывает на верхний элемент списка – адрес ячейки памяти, из которой информация будет извлекаться в МП при выполнении процедуры чтения стека.
Стек называют предекрементным / постинкрементным, если при занесении в стек слова содержимое SP декрементируется, а при извлечении слова – инкрементируется. В МП КР580ВМ80А реализован кольцевой стек – после адреса вершины 0000h устанавливается адрес FFFFh.
Регистр PC (Programm Counter) выполняет функцию счетчика команд. PC содержит адрес ячейки памяти, из которой выбирается следующая команда. При естественном ходе выборки команд, последовательно размещенных в памяти, содержимое счетчика увеличивается от команды к команде на число, равное количеству ячеек, занимаемых в памяти выполненной командой.
Регистр признаков (флагов) F Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд во флажковом регистре F (Flags). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word).
Эмуляторы советских процессорных систем
В этой статье я собрал обобщающую информацию по некоторым программным эмуляторам советских компьютерных систем — начиная от больших ЭВМ типа БЭСМ-6 и заканчивая микропроцессорными электронными играми.
Скриншот эмулятора калькулятора — записной книжки «Электроника МК-87»
Эмуляция — это воспроизведение работы одного устройства на другом, зачастую полностью не совместимому с ним.
Сейчас сложилась терминология, отличающая термины «эмуляция» от «симуляция». В симуляции происходит приблизительное воспроизведение работы одного устройства на другом. Например, есть популярная в СССР игра «Ну, погоди!». Программист, игравший в игру, может написать симулятор на современном железе, и почти точно её воспроизвести. Однако, он может либо не учесть каких-то особенностей, либо немного изменить геймплей по своему усмотрению. В эмуляции же используется точное воспроизведение оригинала. Это обеспечивается за счёт использования оригинальной прошивки с программным обеспечением и эмуляции работы оригинального процессора. В этом случае игра происходит точно так же, как и в оригинале, потому что программист не вносит каких-то субъективных артефактов.
Сами же прошивки добываются различными способами. Для каких-то можно просто взять микросхему ПЗУ, заботливо установленную производителем на панельку, считать её на программаторе и потом написать эмулятор. Для других извлечение прошивки — это отдельный увлекательный квест, порой очень сложный. Например, для эмуляции микрокалькулятора «Электроника МК-61» пришлось вскрывать микросхему, добираться до кристалла и через микроскоп считывать прошивку.
Фрагмент прошивки микросхемы К145ИК1301
Написание эмуляторов наверно можно отнести к отдельному виду компьютерного искусства. Если с простыми устройствам, например, с x86 или 8080 совместимым процессором всё ясно, то для того же калькулятора архитектура бывает порой настолько загадочной, что не помогают описания в литературе, где она описывается. Да и в создании одного эмулятора может понадобиться помощь не одного человека. Например, коллекционер где-то раздобудет редкий экспонат. Но коллекционер может не быть электронщиком. Электронщик знает как извлечь прошивку, но может не знать, как сделать эмулятор. И наконец, программист делает сам эмулятор. Но чаще эмуляторы делают в одном лице — и коллекционер, и электронщик, и программист — один потрясающе крутой человек.
Итак, на верхней картинке вы видели скриншот калькулятора — записной книжки «Электроника МК 87». Сами машинки довольно редки — их было выпущено что-то около 7000 штук, и все раздарены депутатам очередного съезда КПСС. Для их производства была закуплена в Японии целая линия по штамповке таких корпусов.
Эмулятор этой машинки написан Piotr Piatek. Его очень известный сайт. Сам эмулятор доступен по ссылке. Прошивка для Электроники МК 87 была написана Подоровым А.Н. — тем же программистом, который писал прошивку для Электроники МК 85. Известен факт, что фамилию разработчика можно в МК 85 вывести командой WHO. И только месяц назад мы узнали, что в МК 87 тоже заложена фича, которая выводит эту фамилию. Вы можете это проверить в эмуляторе.
Скриншот эмулятора калькулятора «Электроника МК 85»
Кроме эмулятора для МК 87, Piotr Piatek так же написал эмуляторы для «Электроники МК 85» и «Электроники МК 90».
«Электроника МК-85» — наш ответ Casio с его Casio fx-700P. Ответ на задачу разработчикам «сделать такой же». В итоге наши сделали как бы симулятор fx-700P, повторив внешний вид и принцип работы японского прототипа. Но в то же время, своё железо с 16-битным процессором и оригинальной прошивкой (добавив туда кириллицу и другие прикольные фичи) — сделали сами.
Эмулятор «Электроники МК 85» доступен там.
Скриншот эмулятора микро ЭВМ «Электроника МК 90»
Эмулятор «Электроники МК 90» доступен там.
Три описанных выше машинки работают на микропроцессорах с системой команд, аналогичной системе команд DEC PDP-11.
У калькулятора «Электроника МК-90» было продолжение — «Электроника МК-98». Их было выпущено совсем мало — порядка десяти штук — эту модель не успели довести до серийного изготовления. Зато недавно появился и её эмулятор, и можно посмотреть примерно как она работала. В отличие от МК-90, в МК-98 стоял отечественный микропроцессор, совместимый с Intel 80С86.
Скриншот эмулятора «Электроника МК-98»
Продолжая эмуляторы наших систем нельзя не упомянуть про эмулятор калькуляторов семейства «Электроника МК-61».
Скриншот окна эмулятора калькулятора «Электроника МК 61»
Наверно самый сложный эмулятор, которые я встречал. Сделан благодаря Феликсу Лазареву — он смог извлечь и прошивку из скана кристалла, и понять как работает процессор, и написать основу эмулятора.
Примерно узнать, как работает его процессор, архитектура которого в его предшественнике «Электроника Б3-09» заработала аж в 1973-м году, вы можете в моей статье на Хабре.
В начале статьи я написал об эмуляторе БЭСМ-6. Советский суперкомпьютер 1960-х годов, в своё время конкурировавший с американскими и европейскими компьютерами, ближе всего с CDC 1604 или Atlas. Их архитектурные решения имели общие детали, но БЭСМ-6 не является близкой копией ни того, ни другого.
Эмулятору БЭСМ-6 посвящен целый сайт.
Игры типа «Ну, погоди!» нельзя назвать отечественной микропроцессорной системой из-за того, что внутри неё стоит прошивка от Nintendo. Сейчас пока нет сведений, получена ли технология выпуска этих игр по лицензии от самой Nintendo (как например, в своё время закупили завод по производству калькуляторов у General Instrument или в Японии линию по производству Электроники МК-87) или сами справились.
Однако, и для этого семейства тоже удалось сделать эмулятор. Это оказалось возможным из-за того, что процессор может войти в режим отладки с возможностью считывания прошивки. http://www.emu-land.net/forum/index.php/topic,73493.0.html
Кроме эмулятора семейства «Ну, погоди!» есть даже отладчик.
Скриншот отладчика игр типа «Ну, погоди!»
То ли калькулятор, то ли компьютер «Электроника Д3-28» тоже обзавёлся эмулятором (имитатором, как его называют авторы). Он вышел от Wang 700, но доработан нашими разработчиками до такой степени, что на нём стало возможно запускать интерпретатор языка Бейсик, чем активно и пользовались.
Первый советский персональный компьютер — ПЭВМ «АГАТ» сделан на основе Apple ][. Но из-за того, что там другая графика, другие дисководы на 840 килобайт, другая организация памяти, его можно считать копией Apple ][ суммарно где-то только на 50%. Из-за этих отличий на АГАТе не шли напрямую программы от Apple ][, и их либо приходилось переделывать, либо использовать дополнительные аппаратные платы совместимости, либо режим совместимости с Apple ][, реализованным в модификации «АГАТ-9». Соответственно эмулятор Apple и АГАТ — не одно и тоже.
Лучший ресурс по этому компьютеру находится по этому адресу: http://agatcomp.ru/
Как же без эмуляторов семейства ДВК?
Никита Зимин https://github.com/nzeemin написал несколько эмуляторов для наших оригинальных компьютеров на базе процессоров с системой команд DEC PDP-11.
Эмулятор компьютера «Электроника МС0511» УКНЦ, очень популярного школьного компьютера.
Компьютер «Электроника МС0515» очень нечастый компьютер, и тем интереснее для него посмотреть эмулятор.
Компьютер «Немига» разрабатывался в Белоруссии тоже для школ, и тоже есть для него эмулятор.
Шахматный компьютер «Интеллект 02» сделан на базе процессора КР580ВМ80А (аналог Intel 8080A). Прошивка для игр — шахматы, калах и гран находились в ПЗУ, оформленных в виде картриджей.
И ещё один эмулятор шахматных компьютеров — включает «Электроника ИМ-01», «Электроника ИМ-01Т» и «Электроника ИМ-05». Они выпущены на базе платформы «Электроника С5-41» объединением «Светлана» с использованием микропроцессоров К1801ВМ1 и К1801ВМ2, такими же как в семействе ДВК.
Эмуляторов на самом деле много. Нет возможности все запустить и все описать. Вот несколько ссылок, пройдя по которым вы можете узнать и о других эмуляторах:
Возможно есть и другие источники с эмуляторами типа MESS, MAME и других.
Коллекционирование компьютеров — увлекательное занятие. Хотелось бы конечно, всем показать компьютеры не только в виде сайта. Но хорошо, что есть эмуляторы, и можно «погонять» эти компьютеры в виртуале.
Если у вас есть информация о каком-нибудь интересном эмуляторе, напишите в комментарии. Также можно обсудить их в ретрочате.
Эмулятор мп системы на базе мп кр580вм80 как работать
Эмулятор микропроцессорной системы на базе микропроцессора КР580ВМ80А (Intel 8080)
Простейшую 8-разрядную микропроцессорную систему (МПС) можно построить на основе микропроцессорного комплекта (МПК) серии КР580.
МПК КР580 выполнен по n-МДП и ТТЛШ- технологиям. Он характеризуется архитектурным единством, обеспечиваемым автономностью и функциональной законченностью отдельных интегральных микросхем (ИМС), унификацией их интерфейса, программируемостью, их логической и электрической совместимостью.
- 8-разрядная организация;
- фиксированный набор команд;
- большой выбор периферийных больших интегральных схем (БИС) различного назначения;
- относительно высокое быстродействие;
- умеренное потребление мощности.
- 8-разрядная шина данных;
- 16-разрядная шина адреса (позволяет адресовать до 64КБ памяти);
- возможность организации обратного стека;
- система команд состоит из 78 базовых команд, содержащих 111 кодовых операций;
- позволяет работать с 256-ю внешними устройствами;
- интеграция — 4500 транзисторов;
- 40-выводный корпус;
- тактовая частота — 3.125МГц.
Для облегчения изучения принципов программирования МП-систем на низком уровне на языке ассемблера, а также приобретения базовых понятий в области организации ЭВМ и МПС, мной и моим коллегой была разработана программная модель-эмулятор МПС, построенная на базе особенностей рассматриваемого микропроцессора.
Данный эмулятор позволяет: написание программ на языке ассемблера, используя систему команд МП КР580ВМ80А, их отладку и выполнение в тактовом, командном и сквозном режимах; изучить принципы и порядок выполнения команд; приобрести навыки работы с внешними устройствами МП-системы; получить представления об организации внешней и внутренней (регистровой) памяти и стековой области.
Программа обладает дружественным и приятным интерфейсом, удобна в использовании и имеет функции сохранения, экспорта и печати данных. Всё это позволяет легко и удобно освоиться в ней, а также, получить все необходимые вышерассмотренные навыки.
Также, эмулятор может быть полезен и для опытных людей, к примеру, в качестве визуализированного помощника в программировании разрабатываемой ими МП-системы на базе КР580ВМ80 (i8080).
В возможности эмулятора входит: работа с 5-ю внешними устройствами, такими, как монитор, НГМД, НЖМД, сетевой адаптер и принтер; отладка и выполнение программ в тактовом, командном и сквозном режимах; работа со всем спектром системы команд данного МП; сохранение, загрузка и печать данных и результатов; ручной ввод данных в ОЗУ и РОН. Также, в состав дистрибутива включено подробное руководство пользователя, описание системы команд и файлы-образы ОЗУ эмулятора для примера.
- процессор — не ниже PIII 450МГц;
- ОЗУ — не менее 128МБ ;
- флоппи-дисковод;
- жёсткий диск со свободным пространством — не менее 5МБ;
- сетевой адаптер 10/100Мб/с;
- принтер.
- ОС MS Windows семейства NT;
- пакет программ MS Office: MS Word, MS Excel;
- программа «Блокнот», входящая в состав дистрибутива требуемой ОС;
- MS Internet Explorer версии — не ниже 4.0.
Скачать прогамму-эмулятор бесплатно можно здесь.
Все отзывы, предложения и пожелания по работе и улучшению последней какого-либо характера, прошу мне на E-mail.
Заранее выражаю благодарность за пользование данным продуктом и Ваши мнения.
Тем, кто считает себя особо одарённым и блестающим огромным потенциалом интелекта, настоятельно рекомендую покинуть эту страницу и удалить все копии файлов дистрибутива этой программы со своего компьютера.
Эмулятор мп системы на базе мп кр580вм80 как работать
Микропроцессор 8080 (КР580ИК80, позже КР580ВМ80А) у многих ассоциируется с домашними компьютерами "Радио-86РК", "Орион-128", "Вектор-06Ц" и другими. Но область его применения значительно шире, чем одна "бытовуха". Он применён в качестве основного в компьютерах СМ1800, "ВЭФ-Микро" и "Океан-240", а в качестве вспомогательного — в "Искре-226", а это — машины вполне профессионального назначения. Даже на такой "чужой" ему платформе, как ДВК, этот микропроцессор нашёл применение в контроллерах КСД и КСМ — соответственно, контроллере символьного дисплея и контроллере символьного монитора. Понятно, что тогда под дисплеем и монитором понимали одно и то же, просто эти платы — разработки разных лет, несколько отличающиеся устройством и возможностями. Так, например, во второй из них добавлена возможность подмешивания сигнала от КГД — контроллера графического дисплея.
Компьютеры ПК8000 и "Корвет" занимали промежуточное положение между домашними и профессиональными — они были учебными. Во втором из них видеоконтроллер превосходил по возможностям EGA. Первый же был попроще, но надёжнее.
Данный микропроцессор использовался и в качестве встроенного — т.е., с той целью, с которой сегодня применяются микроконтроллеры. Например, в громоздком, прожорливом, но весьма надёжном принтере "Электроника МС6304", многоголосных аналоговых синтезаторах с цифровым управлением "Маэстро" и RMIF TI-3, LD-проигрывателях "Русь" и "Амфитон" ВП-201, пишущей машинке "Элема".
В отличие от других популярных восьмибитных микропроцессоров, 8080 и его аналоги требовали трёх напряжений питания, подаваемых и снимаемых либо одновременно, либо в определённой последовательности, иначе микросхема выходила из строя. Поздние выпуски КР580ВМ80А могли работать от одного напряжения, но этот режим не считался штатным — если микропроцессор всё же выйдет из строя от несоблюдения правил эксплуатации, с гарантии он снимался. Затем был выпущен микропроцессор КР580ВМ1 с расширенными возможностями, для которого питание одним напряжением является штатным режимом.
В конце девяностых начались первые признаки ностальгии пользователей по различной технике с применением данного процессора. К тому времени начали устаревать ПК даже на процессорах 80386. Владельцы "пней" начали продавать "трёшки" по доступным ценам, и многие из них попадали к программистам, среди которых оказался житель Нижнего Новгорода Виктор Пыхонин. Он начал работу над EMU80 — эмулятором "Радио-86РК" и других компьютеров на микропроцессоре КР580ВМ80А. Этот эмулятор довольно долго был мегахитом, "широко известным в узких кругах". Вскоре последовали аналогичные эмуляторы и от других разработчиков.
Позже эмулировать системы с данным микропроцессором начали другими способами. "Специалист" — на Java, "Орион-128" — на Flash. Но постепенно обе технологии начали исчезать из браузеров пользователей. Web 2.0 медленно наступал, и программист Александр Дёмин написал эмулятор "Радио-86РК" на JavaScript, а за ним другой программист Shaos адаптировал эту разработку к планшетам, не имеющим физической клавиатуры.
А потянут ли эмуляцию КР580ВМ80А современные микроконтроллеры? Одним из первых такой эксперимент провёл тот же Александр Дёмин, написавший эмулятор "Радио-86РК" для платы Maximite на контроллере PIC32. Через несколько лет программист Алексей Пресняков написал эмулятор того же компьютера для недорогой платы ESP-01S.
А что же Arduino, хватит ли для тех же целей возможности этой, как известно, не самой мощной в мире платформы? Оказывается, впритык, но хватит. Программист под ником companje, объединив наработки Даниэля Карлинга и того же Александра Дёмина, сделал на её основе функциональный аналог компьютера MITS Altair 8800, но для его работы потребовалось подключить к плате слишком уж много периферийных устройств. Об этой конструкции можно почитать здесь: https://github.com/companje/Altair8800/blob/master/README.md
Другой программист, под ником maly, решил данную разработку значительно упростить — так, чтобы кроме Arduino, потребовалось только любое устройство с USB-хостом — ПК, смартфон или планшет с возможностью запуска терминальной программы. Эмулятору 8080 выделено 4 кБ ПЗУ и 1 кБ ОЗУ с возможностью расширения до 1,5. Всё это внутри микроконтроллера уже имеется — периферия не требуется. Вот только очень удобный Бейсик "Микрон", к которому привыкли пользователи "Радио-86РК", туда не поместится. Нужен Tiny Basic — очень компактный интерпретатор, разработанный программистом Ли-Ченом Вангом ещё в 1976 году. О том, как maly всё это объединил, он рассказывает здесь: https://www.uelectronics.info/2017. arduino
Краткий рассказ о том, как он всё это реализовал.
1. Взял за основу уже упомянутую выше разработку companje.
2. Написал слой аппаратных абстракций, где выделил для ПЗУ адресное пространство от 0x0000 до 0x0fff, для ОЗУ — от 0x1000 до 0x13ff. Конечный адрес ОЗУ можно сдвинуть, увеличив его объём до упомянутого выше 1,5 кБ.
3. Скачал исходники Tiny Basic здесь: http://www.autometer.de/unix4fun/z80pack/ftp/altair/ и немного поправил код в части MACRO.
4. Пропустил через онлайновый ассемблер (теперь есть и такой) здесь: https://www.asm80.com/
5. Из полученного при ассемблировании двоичного кода сделал заголовочный файл basic.h
Что ж, посмотрим, что будет, если всё это залить в Arduino-совместимую плату с характеристиками не хуже, чем у Uno, и запустить на устройстве, к которому через USB-хост подключена плата, терминальную программу.
Как видим, эмулятор работает, и без подключения чего-либо к GPIO. Задействованным у Arduino оказался только USB-интерфейс. Можно попробовать набрать в терминале несколько строк и запустить.
Самый неудобный в применении из-за трёх напряжений питания, но и самый романтичный из восьмибитных микропроцессоров обрёл новый, виртуальный дом, возможно, и в вашем Arduino. И здесь он уже не так требователен к питанию, но работает ничуть не хуже. Разве это не здорово?
Эмулятор микропроцессора КР580ВМ80
Если кто-нибудь работал с эмулятором 8-ми разрядного микропроцессора КР580ВМ80, то, пожалуйста, если можно ответьте на несколько вопросов.
1. В популярной форме изложите, что такое регистр процессора.
2. Что такое регистровая пара и зачем она нужна.
3. Что такое аккумулятор и для чего он используется.
4. Что такое PWS?
5. Чем отличаются регистры B, C, D, E, H и L.
6. Пожалуйста, в доходчивой форме объясните про форматы команд: однобайтные, двухбайтные и трехбайтные.
Микропроцессор КР580ВМ80 (Эмулятор)
Задание: Даны три числа, уменьшить каждое на 42(decimal). Нужно написать код для ассамблера.
Массивы в РОН (Эмулятор МП КР580ВМ80)
Есть задача : Записать массив из 6 элементов (1,2,3,4,5,6) в РОН. Если элемент масс. >3 то.
[Микропроцессор КР580ВМ80 (Эмулятор)] Даны три числа, уменьшить каждое на 42
Задание: Даны три числа, уменьшить каждое на 42(decimal). Нужно написать код для ассамблера.
Массивы в эмуляторе МП КР580ВМ80
Здравствуйте, подскажите как разработать программу, которая считает количество старших бит.
CPU580.rar (14.0 Кб, 1349 просмотров) |
Кстати, а вот эти команды, вы их просто для наглядности пишете. Я так понял там нет редактора куда их можно вбить, чтобы они сработали.
Я ещё не понял как правильно эти команды читать.
Например: lxi h,0 — это команда 21 LXI H, d16?
И что по этой команде мы записывает в регистровую пару HL? И не понял, почему именно эта команда используется. У нас 60 (3С), зачем ей 16 байт?
Сообщение от alexcoder
Можете более подробно прокомментировать код. Хочется доскональна разобраться.
И останов надо делать в конце программы или он тут сам по себе получается?
Добавлено через 18 минут
Что такое сложение с двойной точностью? Объясните пожалуйста.
Добавлено через 4 минуты
И за чем под 60 мы отводим два регистра? Разве одного не достаточно будет?
Добавлено через 13 минут
И расскажите про флаги. В каких случаях они устанавливаются и что значат.
Добавлено через 6 минут
И не подкинете ссылочку на пример блок-схемы описания подобных алгоритмов. Именно для ассемблеров.
Изучаем цифровую технику
Симулятор учебного микропроцессорного комплекта УМПК-80 позволяет изучить принципы программирования на ассемблере КР580ВМ80.
Установите симулятор на свой домашний компьютер и выполните задания по программированию после изучения моих инструкций:
К странице дисциплины К заданиям по программированию
Эта запись защищена паролем. Введите пароль, чтобы посмотреть комментарии.