преобразование из двоичного в двоич-десятичное
сами команды понятно,но суть программы не могу уловить,так все работает,но все равно хочется разобратся,может кто подскажет
особено подпрограмма adjBCD,там все преобразование идет
Bin2_10 bcf Status,C
movlw .32
movwf Count
clrf LED0
clrf LED1
clrf LED2
clrf LED3
clrf LED4
clrf LED5
clrf LED6
clrf LED7
Loop16 rlf TimerL,F
rlf TimerM,F
rlf TimerH,F
rlf TimerHH,F
rlf LED0,F
rlf LED1,F
rlf LED2,F
rlf LED3,F
decfsz Count,F
goto adjDEC
swapf LED3,W
andlw 0Fh
movwf LED7
movfw LED3
andlw 0Fh
movwf LED6
swapf LED2,W
andlw 0Fh
movwf LED5
movfw LED2
andlw 0Fh
movwf LED4
swapf LED1,W
andlw 0Fh
movwf LED3
movfw LED1
andlw 0Fh
movwf LED2
swapf LED0,W
andlw 0Fh
movwf LED1
movfw LED0
andlw 0Fh
movwf LED0
GOTO MAIN
adjDEC movlw LED0
movwf FSR
call adjBCD
movlw LED1
movwf FSR
call adjBCD
movlw LED2
movwf FSR
call adjBCD
movlw LED3
movwf FSR
call adjBCD
goto Loop16
adjBCD movlw 3
addwf 0,W
movwf Mem
btfsc Mem,3
movwf 0
movlw 30
addwf 0,W
movwf Mem
btfsc Mem,7
movwf 0
retlw 0
|