PIC /汇编,复制和旋转寄存器之间的10位

时间:2016-11-06 18:41:29

标签: assembly microcontroller pic bits

PIC18F252

汇编:

从A / D转换开始,我在结果寄存器ADRESH和ADRESL中进行了左或右调整的10位结果。

从位5到TMR0L位4将这10位进入TMR0H的聪明方法是什么?

更具体地说,前面有两个11:

XXXX XXXX XX00 0000 ADRESH ADRESL => 
11XX XXXX XXXX 0000 TMR0H TMR0L

1 个答案:

答案 0 :(得分:2)

没有经过测试......

bsf     STATUS, _C    ;Set Carry 
rrcf    ADRESH, f     ;Do 16 bit shift right of ADRES 
rrcf    ADRESL, f
bsf     STATUS, _C    ;Set Carry 
rrcf    ADRESH, w     ;Do high byte shift right
movwf   TMR0H         ;Copy WREG to destination 
rrcf    ADRESL, w     ;Do low byte shift right 
movwf   TMR0L         ;Copy WREG to destination 

另请阅读数据表如何更新TMR0: 10.4 16位模式定时器读取和 写入