|
me40
Ранг: Новодошъл
Регистриран на: Пет Авг 25, 2006 11:31 pm Мнения: 168 Местоположение: Русе
|
 Други предложения за делене (PIC18)
Интересувам се от начини за делене при Pic процесорите (напр. 18 серия)
Използвам начин с командата rlcf. Има ли и други начини ?
(ARGA_24)/(ARGB_24) -> (RES_2:RES_1:RES_0) + (REM_2:REM_1:REM_0)
DIVAB2424 macro ARGA_24, ARGB_24
movlw D'24'
movwf MTEMP
clrf REM_0
clrf REM_1
clrf REM_2
clrf RES_0
CLRF RES_1
CLRF RES_2
div_loop
bcf STATUS,C
rlcf ARGA_24,f
rlcf ARGA_24+1,f
rlcf ARGA_24+2,f
rlcf REM_0,f
rlcf REM_1,f
rlcf REM_2,f
movf ARGB_24,w
subwf REM_0,w
movf ARGB_24+1,w
subwfb REM_1,w
movf ARGB_24+2,w
subwfb REM_2,w
bnc no_set
movf ARGB_24,w
subwf REM_0,f
movf ARGB_24+1,w
subwfb REM_1,f
movf ARGB_24+2,w
subwfb REM_2,f
bsf STATUS,C
no_set rlcf RES_0,f
rlcf RES_1,f
rlcf RES_2,f
decfsz MTEMP,f
bra div_loop
endm
|