[elektro] C18 compiler v3.46 probléma

elight elight at gmail.hu
Fri Jan 15 09:01:26 CET 2016


Szia

Próbáld meg konkrét  (int) meghatározással
  vagy esetleg tagokra  bontva:

XXXX = 30;
YYYY  = 60;

XXXX = XXXX*YYYY;

vezethet eredményre , vagy kényszeríted a
konstans típusát  pl:

   XXXX =  30L * 60L;   //  ahol az L = long  ; U = unsigned stb..

( ez szerintem nyelvi elem, nem fordító függő tulajdonság,
    a fordítóban /linker/ legfeljebb az alapértelmezési tartomány
lehet konfigurált.  )

Itt is ( de bármelyik C könyvben ) vannak okosságok
a típusokra és az automatikus típuskonverzióra  is..

http://nyelvek.inf.elte.hu/leirasok/D/index.php?chapter=3

Üdv István




2016-01-15 03:54 keltezéssel, fi F írta:
> Igen, valszeg. alapból 8 bites a konstans default?
> De ezt hol lehet állítani c18-ban.
>
> -----Original Message-----
> From: elektro-bounces at tesla.hu [mailto:elektro-bounces at tesla.hu] On Behalf
> Of Pipi
> Sent: Friday, January 15, 2016 12:22 AM
> To: elektro at tesla.hu
> Subject: Re: [elektro] C18 compiler v3.46 probléma
>
> első esetben egy bájton számol, és azt rakja 2 bájtba ?
>
> 2016.01.15. 00:13 keltezéssel, fi F írta:
>> 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
>>
>>
>>
>>
>>
>>
>>
>> -----------------------------------------
>>             elektro[-flame|-etc]
>>
>>
>



More information about the Elektro mailing list