"Из раннего"
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Сергей Борщ 06 апреля 2005 г. 15:36
В ответ на: Подскажите,плс, как перевести число из hex формата в bcd на асме для MSP430 отправлено Alexandr_Pol 06 апреля 2005 г. 14:13


extern void BCD (unsigned, uchar *);

RSEG CODE
PUBLIC BCD
; Input: unsigned in R12
; Output: 5 bytes at (0)R14... (4)R14

BCD:
push R12
clr R13
clr R12
MOV #16,R15
BCDLoop:
RLA 0(SP)
DADD R12,R12
DADD R13,R13
DEC R15
JNZ BCDLoop
mov.b R12,4(R14) ;Buffer[4]
and.b #0x0F,4(R14)
mov.b R13,0(R14) ;Buffer[0]
and.b #0x0F,0(R14)
swpb R12
mov.b R12,2(R14) ;Buffer[2]
and.b #0x0F,2(R14)
rra R12
rra R12
rra R12
rra R12
mov.b R12,1(R14) ;Buffer[3]
and.b #0x0F,1(R14)
swpb R12
mov.b R12,3(R14) ;Buffer[1]
and.b #0x0F,3(R14)
pop R12
ret


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru