Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

IV. Примеры конкретных применений. Вычисление сопротивления датчика




Вычисление сопротивления датчика

Подпрограмма беззнакового умножения: MSTACK X TEN К? MRESLT_HW/MRESLT_LW

Использованы регистры MSTACK, TEN_K, MLTPLR_HW, MRESLT_LW, MRESLT_HW, BITTEST

Подпрограмма беззнакового умножения с накоплением: (MSTACK X TEN_K) + MRESLT_HW|MRESLT_LW -4 MRESLT_HW|MRESLT_LW


CALC RES

MPYU CLR CLR MACU CLR MOV L$002 BIT JZ ADD
L$01

MOV #10000,TEN_K

MRESLT_LW MRESLT_HW MLTPLR_HW #1,BITTEST BITTEST,MSTACK

L$01

TEN K,MRESLT LW

ADDC MLTPLR_HW,MRESLT

RLA TEN_K

RLC MLTPLR_HW

RLA BITTEST

JNC L$002


Загрузить 10,000 десятичное в TEN_K 0? LSBS результата 0? MSBS результата 0? MSBS множителя Регистр проверки бит

Проверить текущий бит

Если «0» ничего не делать

; Если «1» добавить множитель к резуль­тату

HW Множитель X 2

Проверить следующий

бит

Если бит в CARRY:

завершить


*****************************************************

Подпрограмма беззнакового деления 32-бита на 16-бит Использованы регистры (MSTACK+2), MRESLT_LW, RESULT, LPCNTR, MRESLT_HW MRESLT_HW MRESLT_LW/(MSTACK+2)? RESULT Остаток в MRESLT_HW По выходу: CARRY = 0: OK CARRY = 1: Частное > 16 Бит

DIVIDE CLR RESULT; Очистить RESULT MOV #17,LPCNTR; Инициализация

; счётчика

DIV1 CMP MSTACK+2,MRESLT_HW JLO DIV2 SUB MSTACK+2,MRESLT HW





Дата публикования: 2014-11-18; Прочитано: 347 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...