русс | укр

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

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

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

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


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

Общие сведения


Дата добавления: 2014-11-28; просмотров: 794; Нарушение авторских прав


Алгоритм разветвленной структуры — алгоритм, в котором предусмотрено изменение естественного порядка выполнения действий в зависимости от результата проверки какого-то условия. Изменять естественный порядок выполнения команд программы позволяют команды перехода (ветвления) и вызова программ. Существуют два способа изменения порядка выполнения команд программы: безусловный и условный переход.

При безусловном способе последовательность выполнения программы изменяется всякий раз, когда встречается команда безусловного перехода (JMP).

В соответствии со вторым способом последовательность изменяется только в том случае, если значение указанного условия совпадает с заданным. Для организации такого изменения служат команды условного перехода (см. лабораторную работу №4).

Обычно алгоритмы с ветвящейся структурой содержат в себе циклические элементы. Пример алгоритма с ветвящейся структурой можно рассматривать на примере многобайтных чисел. Диапазон чисел, представляемых в машинах с микропроцессором К580ИК80А, небольшой. Поэтому при сложении больших чисел (число байт больше двух) применяется побайтное сложение с переносом (ADC), причем операция начинается со сложения младших байтов. Все последующие байты складываются с переносом предыдущего сложения. Схема алгоритма сложения многобайтовых чисел приведена на рис.5.1.

Рис.5.1

Так, при сложении младших байтов входной перенос должен быть равен нулю, вводится команда очистки бита переноса.

Загрузка адресов памяти, в которых хранится значение байтов слагаемых чисел, производится с помощью команд LXI.

Запоминание результата можно осуществлять командой STAX.

В блоке 6 алгоритма осуществляется условный переход, который определяет по условию равенства нулю содержимое счетчика. Если счетчик не равен нулю, процесс сложения продолжается. При этом в седьмом блоке с помощью команд инкремента в регистрах адресов слагаемых байтов устанавливается следующий адрес и, используя команду безусловного перехода JMP, происходит возврат к блоку 4 для выполнения операции сложения. В случае равенства 0 содержимое счетчика вычислительный процесс прекращается и происходит переход на конец программы.



Программа сложения приведена в табл.5.1.

В программе N — количество байтов слагаемого числа, FIRST — адрес младшего байта 1-го слагаемого, SECND — адрес младшего байта 2-го слагаемого, LOOP, DONE — метки программы. Байты слагаемых чисел расположены в следующих друг за другом ячейках памяти, причем младший байт находится в ячейке с меньшим номером.

 

Таблица 5.1

  MVI E, N Организация счетчика до N
  XRA A   Очистка бита перехода
  LXI B, FIRST Загрузка адреса младших байтов обоих слагаемых в регистры BC и HL
  LXI H, SECOND
LOOP: LDAX B   Загрузка байта из регистра BC в аккумулятор
  ADC M   Сложение байтов запомнить в BC
  STAX B    
  DCR E   Уменьшить счетчик на 1
  JZ DONE   Условный переход по «0»
  INX B   Увеличение BC на 1
  INX H   Увеличение HL на 1
  JMP LOOP   Перейти на метку
DONE: HLT   Выход


<== предыдущая лекция | следующая лекция ==>
Общие указания | Общие сведения


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


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

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

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


 


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

 
 

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

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