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

Пример 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 обе младшие цифры числа








Дата добавления: 2015-09-11; просмотров: 1285;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.