Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программа № 18.






Адрес Машинный код Метка Мнемокод Комментарий
  AF SBN XRA A Очистить аккумулятор и флаг C
  1A CNT LDAX D Загрузить в аккумулятор уменьшаемое
  9E   SBB M Вычесть из содержимого аккумулятора вычитаемое
      MOV M, A Записать разность на место вычитаемого
      INX H Указать на следующий байт вычитаемого
      INX D Указать на следующий байт уменьшаемого
  0D   DCR D Уменьшить содержимое счетчика длины числа
  C2 0109   JNZ CNT Если не последний (старший байт числа), идти на CNT
090A     NOP Если байт старший и результат без заема (C=0), то возврат
090B DC 1200   CC BEEP Если был заем (С=1), то подать сигнал
090E CF   RST1 Прервать выполнение программы

 

Выполнение команд MOV М, A; INX D не воздействует на разряд С. В программе SBN подпрограмма звукового сигнала (ВЕЕР) начинается с адреса 0012. При исследовании программы SBN необходимо перед началом ее выполнения осуществить начальную установку всех входных параметров.

 

Умножение чисел. Существует несколько алгоритмов умножения чисел. При первом алгоритме умножение можно заменить многократным сложением, например, 14*3 = 14+14+14. Существенный недостаток этого способа — значительная длительность процесса вычисления. При втором алгоритме умножение осуществляется в столбец. Этот алгоритм применим и для умножения двоичных чисел, например:

При вычислении результата по второму алгоритму необходимо осуществить многократное суммирование со сдвигом влево множимого при одновременной проверке содержимого разрядов множителя, начиная со стороны его младшего разряда. При этом, если в очередном разряде множителя записана 1, то множимое прибавляется к сумме и сдвигается влево на один разряд, а если в разряде записан 0, то произойдет только сдвиг множимого. Сдвиг множимого влево можно заменить сдвигом суммы вправо. По этому алгоритму (рис. 2.7.б) работает программа умножения двух однобайтных чисел с получением двухбайтного результата (программа 19). Начальный адрес подпрограммы—04Е1; входные параметры: регистр D — множимое, регистр B — множитель. Результат перемножения записывается в регистры B, С.

 

Рис. 2.7. Алгоритмы сложения (а) и умножения (б)

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.