Ok,
this seems to be a combiner bug and I can do nothing about it.
A simple workaround - use port5 defenition from libc and use bitfields.
KP_CurKeyVal = port5.in.pin3;
or:
KP_CurKeyVal = (P5IN & 0x08)?1:0;
~d
On Monday 24 February 2003 07:41, [email protected] wrote:
> Official Release 1 ( 17-Dec-2002) does not generate this problem.
> This is a bug when using patches from 10 Feb 2003.
>
> The first scenario (right shift 3) generates incorrect code. it should be
>
> bit.b #llo(8), &0x0030
>
> c-code :
>
> /* Initialise key matrix variables */
> KP_CurKeyVal = (P5IN & 0x08) >> 3;
>
> list file output:
>
> 246:src/keys.c **** /* Initialise key matrix variables */
> 247:src/keys.c **** KP_CurKeyVal = (P5IN & 0x08) >> 3;
> 223 .stabn 68,0,247,.LM16-KEYS_InitSW
> 224 .LM16:
> 225 0054 F2B0 0300 bit.b #llo(3), &0x0030
> 225 3000
> 226 005a C243 0000 clr.b &KP_CurKeyVal
> 227 005e C263 0000 adc.b &KP_CurKeyVal
>
>
>
> Correct code is generated for a right shift of 2
> c-code:
>
> /* Initialise key matrix variables */
> KP_CurKeyVal = (P5IN & 0x08) >> 2;
>
> list file:
>
> 246:src/keys.c **** /* Initialise key matrix variables */
> 247:src/keys.c **** KP_CurKeyVal = (P5IN & 0x08) >> 2;
> 223 .stabn 68,0,247,.LM16-KEYS_InitSW
> 224 .LM16:
> 225 0054 5F42 3000 mov.b &0x0030, r15
> 226 0058 7FF2 and.b #llo(8), r15
> 227 005a 12C3 clrc
> 228 005c 4F10 rrc.b r15
> 229 005e 4F11 rra.b r15
> 230 0060 C24F 0000 mov.b r15, &KP_CurKeyVal
>
>
>
> Regards,
> Phil Hancock
> Design Engineer
> Tekelek Pty Ltd
> 7 Comley St
> Export Park
> South Australia 5950
> Ph 61 8 8234 3011
> Fx 61 8 8234 3242
>
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
> The most comprehensive and flexible code editor you can use.
> Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
> www.slickedit.com/sourceforge
> _______________________________________________
> Mspgcc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
--
/********************************************************************
("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ
`6_ 6 ) `-. ( ).`-.__.`) Enterprise Information Sys
(_Y_.)' ._ ) `._ `. ``-..-' Nevsky prospekt, 20 / 44
_..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia
(il),-'' (li),' ((!.-' +7 (812) 3468202, 5585314
********************************************************************/