Assembly PIC/组装,在寄存器之间复制和旋转10位

Assembly PIC/组装,在寄存器之间复制和旋转10位,assembly,microcontroller,pic,bits,Assembly,Microcontroller,Pic,Bits,PIC18F252 在汇编中: 从A/D转换中,我在结果寄存器ADRESH和ADRESL处得到了一个10位左右调整的结果 将这10位从第5位到第4位转换到TMR0H的聪明方法是什么 更具体地说,前面有两个11: XXXX XXXX XX00 0000 ADRESH ADRESL => 11XX XXXX XXXX 0000 TMR0H TMR0L 没有测试 bsf STATUS, _C ;Set Carry rrcf ADRESH, f ;Do 16 bi

PIC18F252

在汇编中:

从A/D转换中,我在结果寄存器ADRESH和ADRESL处得到了一个10位左右调整的结果

将这10位从第5位到第4位转换到TMR0H的聪明方法是什么

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

XXXX XXXX XX00 0000 ADRESH ADRESL => 
11XX XXXX XXXX 0000 TMR0H TMR0L
没有测试

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位模式定时器读取和
写得很好。测试:工作!(除了:与调试器“MPLAB SIM”一起使用MPLAB 8.92。TMR0H未在监视列表中更新,但我认为这一定是模拟器的限制/缺陷(?)@bretddog:是可能是缺陷。