русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Практическая работа № 1


Дата добавления: 2015-08-06; просмотров: 678; Нарушение авторских прав


Линейное программирование математических операций.

 

Задание.

1. Принять из ОЗУ два числа, хранящихся в соседних ячейках с адресами 027516

и 027716 и, вычислив их сумму, поместить в ОЗУ на место второго из суммиру-

емых чисел.

2. Заполнить таблицу с программой рассматриваемой задачи, представив ко-

манды кодовыми комбинациями; определить число циклов, тактов и время, не-

обходимые для выполнения программы, приняв период такта равным 0,5 мкс.

 

Адрес команды В ОП Команда   Пояснения
Кодовая комбинация Число байтов Число тактов
      Блок 1 (BC) ← 0276
       
       
      Блок 2 А ← [(ВС)]
      Блок 3 BС ← (ВС) + 1
      Блок 4 D ← (A)
      Блок 5 A ← [(ВС)]
      Блок 6 A ← (A) + (D)
      Блок 7 [(ВС)] ← (A)

 

Линейное программирование математических операций.

 

Программа и данные хранятся в ОП. Программу решаемой задачи размещаем в ячейках ОП с номерами 0050 и 0056 (программы других задач будем размещать в ЯП с другими номерами). При отсутствии условных и безусловных переходов (последо-вательные программы) команды размещаются в ячейках памяти с последовательно нарастающими адресами. Операнды хранятся в ячейках ОП с номерами 0276 и 0277. Указав в команде адрес ячейки памяти, получим доступ к её содержимому. Если адрес шестнадцатиразрядный, то он записывается в байтах В3 и В2, где В3. Пусть адрес ЯП [ЯП]16 → [0276]16, тогда 010 = 00002; 2 = 0010; 7= 0111; 6 = 0110 и окончательно:



[0276]16 = [0000 0010 0111 0110]2 ; [0277]16 = [0000 0010 0111 0111]2

Блок № 1. В пару регистров ВС (пара регистров ВС обозначается по первому из них, т. е. как В – 000) непосредственно загружается число 027616, являющееся адресом первого операнда. Структура трёхбайтовой команды пересылки 00 000 001 В3 В2, (см. систему команд), где два старших разряда 00 означают непосредственную загрузку пары регистров; 6, 5, 4 разряды – наименование регистра ВС; младшие разряды 001 – указаны в структуре кода команды. Мнемоническое обозначение команды: LXI ri. Команда трёхбайтовая, выполняется за три цикла и десять тактов.

Блок № 2В аккумулятор принимается содержимое ячейки ОЗУ (первое слово), адре-сом которой является содержимое пары регистров ВС; эта операция выполняется командой запоминание/загрузка А←[(ВС)], мнемоническое её обозначение LDAX B, обозначение 00 К1 010, где К1 = 001. LDAX B → 00 001 010. Команда однобайтовая, выполняется за 7 тактов.

Блок № 3.В паре регистров ВС формируетсяадрес второго числа; эта операция выполняется командой приращения пары регистров, мнемоника команды INХ ri обозначение 00 000 011. Команда однобайтовая, выполняется за 5/10 тактов.

Блок № 4.В регистр D принимается содержимое аккумулятора; эта операция выполняется командой пересылки регистр-регистр ri←(rj) или D← (А), мнемоническое обозначение МОV ri rj; обозначение 01 010 111. Команда однобайтовая, выполняется за 5/7 тактов.

Блок № 5. В регистр А (аккумулятор) принимается содержимое ячейки ОЗУ (второе слово), адресом которой является содержимое пары регистров ВС; эта операция выполняется командой запоминание/загрузка D ←[(ВС)], мнемоническое её обозначение LDAX B, обозначение 00 К1 010, где К1 = 001. LDAX B → 00 001 010.

Команда однобайтовая, выполняется за 7 тактов.

Блок № 6.Вычисляется сумма содержимого аккумулятора и содержимого регистра D. Операция выполняется командой суммирования ADD ri, обозначение 10 000 010.

Команда однобайтовая, выполняется за 4/7 тактов.

Блок № 7.Полученная в аккумуляторе сумма пересылается в ячейку памяти, адрес которой находится в паре регистров ВС по команде запоминание /загрузка; мнемони-ческое обозначение команды STAX B, обозначение 00 000 010. Команда однобай-товая, выполняется за 7 тактов.

Общее число тактов для выполнения приведённых пяти команд равно: 10 + 7 + 5/10 + 5/7 + 7 + 4/7 + 7 = 45/55. При длительности тактового периода 0,5 мкс общее время их исполнения составит 22,5/27,5 мкс.

 



<== предыдущая лекция | следующая лекция ==>
Направления и этапы развития МП | Апгоритм перемножения двоичных чисел без знака


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.046 сек.