如果将16位值存储(在pic微控制器中)作为高字节和低字节,那么如何将它们除以2呢?如何将16位数字旋转到右边?
感谢。
答案 0 :(得分:6)
将16位数除以2相当于将数字右移一位 * 。清除进位标志,将高位字节向右旋转进位,然后将低位字节向右旋转进位。您可以找到here的代码:
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时,
0.5
被截断。