PIC汇编学习时的小问题(如何取模)

2020-02-08 12:17发布

小弟最近偶然机会接触了PIC汇编,以前就听说汇编的重要,一学才知道里面内涵。

所以决定把汇编学好。

正的驱动数码管,要求num从0加到100,再从0加,如此反复。

C语言很简单,shi=num/10 ,ge=num%10;  

可PIC汇编该怎么弄啊,知道的帮小弟一下。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
woshigeshuai
2020-02-09 13:25
把 PIC单片机的 STATUS寄存器 的Z ,C 位搞熟练后。

按照自己的思路搞。

用减法。比如num-10  ,然后判断C位和Z位 就知道num是大于10,还是小于10,还是等于10

这样就OK了。

num=27 ,num-10,判断C位,C=1,说明num>=10.C=0,说明num<10,然后shi++
然后再num这时候是17,再num-10,判断。就知道了。希望对初学汇编的朋友有帮助
MOD
;{***********************MOD****************
                        INCF NUM,F        ;NUM+=NUM
                        MOVLW .10
                        XORWF NUM,W                ;W=W^20
                        BZ Z_1
                        RETURN
Z_1
                        CLRF NUM
                        INCF NUM1,F
                        CLRF SHI
                        CLRF GE
                        MOVF NUM1,W
                        MOVWF GE
                        MOVLW .100
                        XORWF NUM1,W
                        BZ Z_1_1
                        GOTO Z_0                ;Z==1 GOTO Z_1_1
Z_1_1
                        CLRF NUM1                        ;IF(Z)NUM1=0
                        CLRF GE
Z_0
        ;                MOVF NUM1,W
        ;                MOVWF GE                        ;SAVE NUM1,IF NUM1<10
                        MOVLW .10
                        SUBWF GE,F        ;GE=GE-10
                        BC C1                                ;IF(C==1)
                        MOVLW .10
                        ADDWF GE,F        ;GE=GE+10
                        RETURN                        ;IF(C==0) OUT
C1
                        BZ Z1
                        GOTO Z0
Z1
                        INCF SHI,F
                        RETURN
Z0
                        INCF SHI,F
                        GOTO Z_0
;}**********************************MOD*************

一周热门 更多>