1

如果将 16 位值存储为(在 pic 微控制器中)作为高字节和低字节,您如何将它们除以 2?16位数字如何右旋?

谢谢。

4

1 回答 1

7

将 16 位数字除以 2 相当于将数字右移一位*。清除进位标志,通过进位将高字节右移,然后通过进位将低字节右移。你可以在这里找到它的代码:

LSR16   MACRO   VAR16
    BCF     STATUS, C       ; Clear carry
    RRF     (VAR16)+1,F     ; Rotate high byte right
    RRF     (VAR16),F       ; Rotate low byte right
    ENDM


*当然这是整数除法:当奇数除以 2 时,the0.5被截断。

于 2012-11-26T03:22:33.547 回答