写了一段程序,功能是将采集到的数据存入外部6264中不同的两个地方,问题出现在,相同的C程序,编译后却出现不同的结果,请大虾指点是什么地方的问题,谢谢. if(ad==1) { MUL^=1; if(MUL= =1) { ad=0; *add_ram_UH=AD_V; (上面这句编译为: C:0x007E 851082 MOV DPL(0x82),0x10 C:0x0081 850F83 MOV DPH(0x83),add_ram_UH(0x0F) C:0x0084 E50A MOV A,AD_V(0x0A) C:0x0086 F0 MOVX @DPTR,A C:0x0087 A3 INC DPTR C:0x0088 E50B MOV A,0x0B C:0x008A F0 MOVX @DPTR,A) add_ram_UH++; nop(); EX0=1; } if(MUL= =0) { ad=0; *add_ram_UB=AD_V; (上面这句编译为: C:0x009E AB0C MOV R3,add_ram_UB(0x0C) C:0x00A0 AA0D MOV R2,0x0D C:0x00A2 A90E MOV R1,0x0E C:0x00A4 E50A MOV A,AD_V(0x0A) C:0x00A6 850BF0 MOV B(0xF0),0x0B C:0x00A9 120192 LCALL C?ISTPTR(C:0192) ) add_ram_UB++; nop(); EX0=1; } } |