如下的语句:
void main(void)
{
INTCONbits.GIE = 1;//这句执行完,GIE=0
INTCONbits.PEIE =1;//这句执行完,GIE=1,PEIE=0
INTCONbits.GIE = 0;//这句执行完,GIE=1,PEIE=1
INTCONbits.PEIE =0;//这句执行完 GIE=1,PEIE=1
while(1);//GIE,PEIE不变,还是为1
}
反汇编:
117: INTCONbits.GIE = 1;
0490 8EF2 BSF 0xff2, 0x7, ACCESS
118: INTCONbits.PEIE =1;
0492 8CF2 BSF 0xff2, 0x6, ACCESS
119: INTCONbits.GIE = 0;
0494 9EF2 BCF 0xff2, 0x7, ACCESS
120: INTCONbits.PEIE =0;
0496 9CF2 BCF 0xff2, 0x6, ACCESS
大家手上有条件的测试一下,在PIC18F26K20,PIC18F46K20上测试过,都是一样的.
PS:
编译器MPLAB C18;
用软件仿真(MPLAB SIM)是正常的.
希望有条件的帮我测试一下.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>