[elektro] C18 compiler v3.46 probléma

fi F flaist at gmail.com
Fri Jan 15 00:13:33 CET 2016


Sziasztok! 

 

Biztos igaza an a fordítónak, de nem értem miért!

Ugye a  30 * 60 az 0x708, azaz 07 és 08 két byte-on.

 

 

 

   static int XXXX;

 

 

**********************************************************

 

     XXXX = (30 * 60);

 

erre meg ezt fordítja miért ??????:

 

0x470C: MOVLW 0x8

0x470E: MOVLB 0x5

0x4710: MOVWF 0xCB, BANKED

0x4712: CLRF 0xCC, BANKED      ;????????? nem értem miért nulla

 

 

**********************************************************

     XXXX = (30L * 60L);

 

erre ezt fordítja helyesen:

 

0x470C: MOVLB 0x5

0x470E: MOVLW 0x8

0x4710: MOVWF 0xCB, BANKED

0x4712: MOVLW 0x7                                     ;!!!!!!  így jó

0x4714: MOVWF 0xCC, BANKED

 

 

 



More information about the Elektro mailing list