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

Примеры использования команд арифметических операций

Арифметико-логический блок | Регистр указателя стека | Блок последовательного интерфейса и прерываний | Начальная установка и режимы работы МК51 | Система команд микроконтроллера 1830ВЕ51 | Команды пересылки данных | Команды арифметических операций | Команды передачи управления | Подключение внешней памяти | Типовые структуры схем алгоритмов обработки данных |


Читайте также:
  1. FC - команда сравнения файлов
  2. I УРОВЕНЬ - КОМАНДЫ ПО ОЧЕРЕДИ ВЫХОДЯТ НА ТАНЦПОЛ.
  3. I. Отчет составляется по строго установленной форме с учетом возможности использования вычислительной техники для ее обработки.
  4. I. Примеры неподлинных или устаревших принципов пространства
  5. III.В браузере, который отображает ваш html-документ, выбрать команду меню ВИД -> ПРОСМОТР HTML-КОДА
  6. Quot;ОТКОМАНДИРОВЫВАНИЕ" СВОЕГО КЛЮЧЕВОГО ЧЕЛОВЕКА НА ПРЕЗЕНТАЦИЮ БИЗНЕСА, ПРОВОДИМУЮ ДАЛЕКО ОТ ВАШЕГО ГОРОДА, С ЦЕЛЬЮ РЕКРУТИРОВАНИЯ
  7. SIMD-команды

Пример 2.7. Сложить два двоичных многобайтных числа. Оба слагаемых располагаются в РПД, начиная с младшего байта. Начальные адреса слагаемых заданы в R0 и R1. Формат слагаемых в байтах задан в R2:

CLR C; сброс переноса

LOOP: MOV A, @R0; загрузка в аккумулятор

; текущего байта первого

; слагаемого

ADDC A, @R1; сложение байт с учетом

; переноса

MOV @R0, A; размещение байта результата

INC R0; увеличение указателей

INC R!;

DJNZ R2, LOOP; цикл, если не все байты

; просуммированы

При сложении чисел без знака на переполнение укажет флаг C, а в случае сложения чисел со знаком – флаг OV.

Пример 2.8. Умножить целое двоичное число произвольного формата на константу 173. Исходное число размещается в РПД, адрес младшего байта находится в регистре R0. Формат числа в байтах хранится в регистре R1:

MOV A, #0; сброс аккумулятора

LOOP: ADD A, @R0; загрузка множимого

MOV B, #173; загрузка множителя

MUL AB; умножение

MOV @R0, A; запись младшего байта

; частичного произведения

INC R0; увеличение адреса

MOV A, B; пересылка старшего байта

; частичного произведения в

; аккумулятор

XCH A, @R0; предварительное

; формирование очередного

; байта произведения

DJNZ R2, LOOP; цикл, если не все биты

; исходного числа умножены

; на константу

Полученное произведение размещается на месте исходного числа и занимает на один байт больше.

Пример 2.9. Перевести двоичное число, содержащееся в аккумуляторе в двоично-десятичную систему. При таком преобразовании может получиться трехразрядное двоично-десятичное число. Старшая цифра будет размещена в регистре R0, а две младшие в аккумуляторе.

MOV B, #100; загрузка B для вычисления

; количества сотен в числе

DIV AB; определение старшей цифры

MOV R0, A; пересылка в R0 старшей

; цифры

XCH A, B; пересылка остатка исходного

; числа в аккумулятор

MOV B, #10; загрузка B для вычисления

; количества десятков в числе

DIV AB; определение числа десятков

SWAP A; размещение числа десятков

; в старшей тетраде A

ADD A, B; подсуммирование остатка в

; A обе младшие цифры числа

Примеры использования команд логических операций

Пример 2.10. Установить биты 0 – 3 порта 1:

ORL P1, #00001111B; установка P1.0 – P1.3 в 1

Пример 2.11. Сбросить биты 0, 2, 6 порта P2:

ANL P2, #10111010B; сброс битов 0, 2, 6 порта P2

Пример 2.12. Выбрать нулевой регистровый банк:

ANL PSW, #11100111B; сброс битов RS1 и RS0

Пример 2.13. Проинвертировать биты порта 1, соответствующие единичным битам аккумулятора:

XRL P2, A; исключающее ИЛИ порта P2

; и аккумулятора

Пример 2.14. Проинвертировать биты 7, 6, 5 порта 0:

XRL P0, #11100000B; исключающее ИЛИ порта P0

; и константы

Пример 2.15. Проинвертировать биты 0 – 3 аккумулятора:

XRL A, #0FH; исключающее ИЛИ

; аккумулятора и константы

 

 

Применение микропроцессорных информационно-управляющих систем на железнодорожном транспорте


Дата добавления: 2015-10-24; просмотров: 224 | Нарушение авторских прав


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

mybiblioteka.su - 2015-2024 год. (0.005 сек.)