#define (from C) in Python

Stefan Behnel stefan_ml at behnel.de
Thu Nov 12 12:34:09 EST 2009


Santiago Romero, 12.11.2009 18:23:
> #define LD_r_n(reg) (reg) = Z80ReadMem(r_PC++)
> 
> #define LD_rr_nn(reg)   r_opl = Z80ReadMem(r_PC); r_PC++; \
>                         r_oph = Z80ReadMem(r_PC); r_PC++; \
>                         reg = r_op
> 
> #define LOAD_r(dreg, saddreg)   (dreg)=Z80ReadMem((saddreg))
> 
> #define LOAD_rr_nn(dreg)   r_opl = Z80ReadMem(r_PC); r_PC++; \
>                            r_oph = Z80ReadMem(r_PC); r_PC++; \
>                            r_tmpl = Z80ReadMem(r_op); \
>                            r_tmph = Z80ReadMem((r_op)+1); \
>                            dreg=r_tmp
> 
> #define STORE_nn_rr(dreg) \
>                         r_opl = Z80ReadMem(r_PC); r_PC++;\
>                         r_oph = Z80ReadMem(r_PC); r_PC++; \
>                         r_tmp = dreg; \
>                         Z80WriteMem((r_op),r_tmpl, regs); \
>                         Z80WriteMem((r_op+1),r_tmph, regs)
> 
>  But it seems that is not possible :-(

As Michele said, this is a micro optimisation, likely premature. A function
is usually good enough for this. If you need more speed (and you seem to be
targeting direct memory access or something like that), take a look at Cython.

Stefan



More information about the Python-list mailing list