Thanks,
I basically want to achieve the same as I had in asm, that ir, each
sequential byte having respective number in it. This is not meant to
be a string, just 4 bytes in a row, starting with address of
disp_digits.
Seems like using double quotes was wrong.
I just checked asm code produced by sdcc from that, it is the same as
the original that I had in asm. So, if it still does not work, I have
to look for another error somewhere else.
PAGESEL $
.line 37; "main_lcd_disp.c" disp_digits[0]=0;
BANKSEL _disp_digits
CLRF (_disp_digits + 0)
.line 38; "main_lcd_disp.c" disp_digits[1]=1;
MOVLW 0x01
MOVWF (_disp_digits + 1)
.line 39; "main_lcd_disp.c" disp_digits[2]=2;
MOVLW 0x02
MOVWF (_disp_digits + 2)
.line 40; "main_lcd_disp.c" disp_digits[3]=3;
MOVLW 0x03
MOVWF (_disp_digits + 3)
.line 42; "main_lcd_disp.c" DECODE();
PAGESEL _DECODE
CALL _DECODE
PAGESEL $
I am not using that variable anywhere in C yet, it is just defined
there, and used by asm module (where it is defined), byte-by-byte.
On Thu, May 26, 2011 at 15:19, Richard Gray
<[email protected]> wrote:
> This is just a hunch, but I wonder if you actually mean this:-
>
> disp_digits="0123";
>
> This effectively assigns ASCII "0" to the first element, "1" to the second and
> so on, with a null (ASCII 0) in disp_digits[4]. As you have written the code,
> if the array is treated elsewhere as a string, starting with a true zero will
> make it appear like an empty string.
>
> Just a thought - it's such a common mistake that I thought it might be worth a
> mention.
>
--
KPL
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery,
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now.
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user