Hi dmitry

I think I have found a problem with the compiler.

This is a shortcut to the problem :

I have an interger that is set by a function, decremented by another (under interrupt) and tested by a third.

I have tested this code :

int    xxxx;

xxxx = 4;

while( xxxx )
    ;

the generated code is :

    xxxx = 4;
    d8fa:    2f 42                 mov    #4,    r15    ;subst r2 with As==10
    d8fc:    a2 42 7c 02           mov    #4,    &0x027c    ;subst r2 with As==10
    while(xxxx)
    d900:    0f 93                 cmp    #0,    r15    ;subst r3 with As==00
    d902:    fe 23                 jnz    $-2          ;abs dst addr 0xd900
        ;

I think that at the address d902 the right code is jnz $-4 and not jnz $-2 beacause the others routines modifie the 0x027c address and not the r15 register.


Please keep me informed about that.

Thank you


Bernard MONDAN

HOMERIDER SYSTEMS

[email protected]



Reply via email to