bcf status, c ; Set ’0’ on LSB.
rlf indf, f ; Lower.
incf fsr, f
rlf indf, f ; Upper.
decf fsr, f
btfsc status, c
bsf indf, 0 ; Set ’1’ on LSB if CF = ’1’.
; *** Return from subroutine ***
return
;-------------------------------------------------------------------------
; General: Rotate right. (16 bits length)
; Input : W (Pointer of entry)
;-------------------------------------------------------------------------
rr16
; *** Rotate right ***
MOV wf fsr
incf fsr, f
bcf status, c ; Set ’0’ on MSB.
rrf indf, f ; Upper.
decf fsr, f
rrf indf, f ; Lower.
incf fsr, f
btfsc status, c
bsf indf, 7 ; Set ’1’ on MSB if CF = ’1’.
; *** Return from subroutine ***
return
;-------------------------------------------------------------------------
; General: Rotate left. (32 bits length)
; Input : W (Pointer of entry)
;-------------------------------------------------------------------------
rl32
; *** Rotate left ***
MOV wf fsr
bcf status, c ; Set ’0’ on LSB.
rlf indf, f ; Lower.
incf fsr, f
rlf indf, f ; Middle lower.
incf fsr, f
rlf indf, f ; Middle upper.
incf fsr, f
rlf indf, f ; Upper.
decf fsr, f
decf fsr, f
decf fsr, f
btfsc status, c
bsf indf, 0 ; Set ’1’ on LSB if CF = ’1’.
; *** Return from subroutine ***
return
;-------------------------------------------------------------------------
; General: Rotate right. (32 bits length)
; Input : W (Pointer of entry)
;-------------------------------------------------------------------------
rr32
; *** Rotate right ***
MOV wf fsr
incf fsr, f
incf fsr, f
incf fsr, f
bcf status, c ; Set ’0’ on MSB.
rrf indf, f ; Upper.
decf fsr, f
rrf indf, f ; Middle upper.
decf fsr, f
rrf indf, f ; Middle lower.
decf fsr, f
rrf indf, f ; Lower.
incf fsr, f
incf fsr, f
incf fsr, f
btfsc status, c
bsf indf, 7 ; Set ’1’ on MSB if CF = ’1’.
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] 下一页
本文关键字:单片机 PIC单片机,单片机-工控设备 - PIC单片机