Hi,

I've been playing around with SDCC for about a week now and overall I'm
impressed and positively surpriced.

However, I was slightly disappointed in the code generated, based on
the few  peeks I had at the generated code.
This is HC08 which I'm talking about, which is, if I understand
correctly, rather a resent port,
 so I understand that it is early days  yet. 

My simple litle function:

static char* bf;

static void out(char c) {
    *bf++ = c;
    }

compiled into:

                            89 ;printf.c:37: static void out(char c) {
                             90
;       -----------------------------------------
                             91 ;        function out
                             92
;       -----------------------------------------
   E051                      93 _out:
   E051 C7 00 98             94         sta     _out_c_1_1
                             95 ;printf.c:38: *bf++ = c;
   E054 C6 00 87             96         lda     _bf
   E057 B7 85                97         sta     *_out_sloc0_1_0
   E059 C6 00 88             98         lda     (_bf + 1)
   E05C B7 86                99         sta     *(_out_sloc0_1_0 + 1)
   E05E 55 85               100         ldhx    *_out_sloc0_1_0
   E060 C6 00 98            101         lda     _out_c_1_1
   E063 F7                  102         sta     ,x
   E064 B6 86               103         lda     *(_out_sloc0_1_0 + 1)
   E066 AB 01               104         add     #0x01
   E068 C7 00 88            105         sta     (_bf + 1)
   E06B B6 85               106         lda     *_out_sloc0_1_0
   E06D A9 00               107         adc     #0x00
   E06F C7 00 87            108         sta     _bf
   E072                     109 00101$:
   E072 81                  110         rts

where as I was expecting something along the lines:

ldxh _bf
sta ,x
aix #1
stxh _bf
rts

Please don't get me wrong, I'm not critizing but more interested in
weather
this is going to improve and if so, what sort of time span we are
talking 
about?

Is anyone specifically working on this (HC08 port)?

I've writen one or two compilers and assemblers myself so I
know getting the compiler to produce efficient code for small cpus is
not trivial.


br Kusti






-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to