Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Вычисление сопротивления датчика
Подпрограмма беззнакового умножения: 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!