一个位移问题?
在汇编中这样做RRFTEMP1,1
RRFTEMP2,1
BCFTEMP1,7
RRFTEMP1,1
RRFTEMP2,1
BCFTEMP1,7
等于把(TEMP1和TEMP2)双字节数除4,但是在c语言中
char TEMP1,TEMP2;
int TEMP;
TEMP1=TEMP1>>2;
TEMP2=TEMP2>>;
确不会有汇编的效果,把TEMP1和TEMP2合并成TEMP(用cypok的方法)
TEMP=TEMP>>2;
也得不到汇编的结果,c语言应该什么办? 原来我在汇编时把两字节按比如 26H,27H这样的寄存器顺序存放,(26H放高字节,27H放低字节),到了c我也这么放,所以出错。应该是倒过来,(27H放高字节,26H放低字节),这样结果就对了
页:
[1]