Top secrets sources NedoPC pentevo

Rev

Rev 179 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

#ifndef GETFARADDRESS_H
#define GETFARADDRESS_H

#ifdef pgm_get_far_address
#define GET_FAR_ADDRESS pgm_get_far_address
#else
#define GET_FAR_ADDRESS(var)                          \
({                                                    \
    uint_farptr_t tmp;                                \
                                                      \
    __asm__ __volatile__(                             \
                                                      \
            "ldi    %A0, lo8(%1)"           "\n\t"    \
            "ldi    %B0, hi8(%1)"           "\n\t"    \
            "ldi    %C0, hh8(%1)"           "\n\t"    \
            "clr    %D0"                    "\n\t"    \
        :                                             \
            "=d" (tmp)                                \
        :                                             \
            "p"  (&(var))                             \
    );                                                \
    tmp;                                              \
})

#endif

#endif