最近整体PIC 设计开发,摘录几个精炼的程序代码:
1)除以3运算
将一个正整数除以3的算法。简称“3等分”。
X/3=X/2-X/4+X/8-X/16+X/32-X/64.......
DIV3: ; 'w' 中的内容被3除
MOVWF
CLRF Quotient
DIV3_LOOP ; 直到被除数等于0,循环结束
bcf STATUS,C
rrf Dividend, F ;被除数除以2
movf dividend, f ; = 0 ?
btfsc STATUS,Z
goto Div3_Done
addwf Quotient ; 值加到商上
rrf Divident,F
movf Divident, W
btfsc STATUS,Z
goto Div3_Done
subwf Quotient,F
goto DIV3_LOOP
Div3_Done
movf Quotient, W
return
2)检测寄存器内的变化
检测I/O 接口、定时器或其它寄存器的变化。
MOVF reg,w
andlw mask ; 屏蔽未使用的位
xorwf old,w ; 与前一个值比较
btfsc STATUS,Z ; 如果结果为0,没有变化
goto no_change
xorwf old
3) 交换 “W" 和其它寄存器的内容
xorwf reg, F
xorwf reg, W
xorwf reg, F ; end swap w and reg
4) 交换 两个寄存器的内容
movf X,w
subwf Y,w ; w = Y-w
addwf X,f ; X= X+(Y-X)
subwf Y,f ; Y="Y-"(Y-X)
文章评论(0条评论)
登录后参与讨论