Annotation of generator/hdr/cpu68k-inline.h, revision 1.1

1.1     ! root        1: #include "registers.h"
        !             2: 
        !             3: #define DATAREG(a) (reg68k_regs[a])
        !             4: #define ADDRREG(a) (reg68k_regs[8+(a)])
        !             5: #define PC (reg68k_pc)
        !             6: #define SR (reg68k_sr.sr_int)
        !             7: #define SP (regs.sp)
        !             8: #define STOP (regs.stop)
        !             9: #define TFLAG (reg68k_sr.sr_struct.t)
        !            10: #define SFLAG (reg68k_sr.sr_struct.s)
        !            11: #define XFLAG (reg68k_sr.sr_struct.x)
        !            12: #define NFLAG (reg68k_sr.sr_struct.n)
        !            13: #define ZFLAG (reg68k_sr.sr_struct.z)
        !            14: #define VFLAG (reg68k_sr.sr_struct.v)
        !            15: #define CFLAG (reg68k_sr.sr_struct.c)
        !            16: 
        !            17: static __inline__ sint32 idxval_dst(t_ipc *ipc) {
        !            18:   switch( ((ipc->dst>>27) & 1) | ((ipc->dst>>30) & 2) ) {
        !            19:   case 0: /* data, word */
        !            20:     return ((sint16)DATAREG((ipc->dst>>28)&7))+((((sint32)(ipc->dst<<8)))>>8);
        !            21:   case 1: /* data, long */
        !            22:     return ((sint32)DATAREG((ipc->dst>>28)&7))+((((sint32)(ipc->dst<<8)))>>8);
        !            23:   case 2: /* addr, word */
        !            24:     return ((sint16)ADDRREG((ipc->dst>>28)&7))+((((sint32)(ipc->dst<<8)))>>8);
        !            25:   case 3: /* addr, long */
        !            26:     return ((sint32)ADDRREG((ipc->dst>>28)&7))+((((sint32)(ipc->dst<<8)))>>8);
        !            27:   }
        !            28:   return 0;
        !            29: }
        !            30: 
        !            31: static __inline__ sint32 idxval_src(t_ipc *ipc) {
        !            32:   switch( ((ipc->src>>27) & 1) | ((ipc->src>>30) & 2) ) {
        !            33:   case 0: /* data, word */
        !            34:     return ((sint16)DATAREG((ipc->src>>28)&7))+((((sint32)(ipc->src<<8)))>>8);
        !            35:   case 1: /* data, long */
        !            36:     return ((sint32)DATAREG((ipc->src>>28)&7))+((((sint32)(ipc->src<<8)))>>8);
        !            37:   case 2: /* addr, word */
        !            38:     return ((sint16)ADDRREG((ipc->src>>28)&7))+((((sint32)(ipc->src<<8)))>>8);
        !            39:   case 3: /* addr, long */
        !            40:     return ((sint32)ADDRREG((ipc->src>>28)&7))+((((sint32)(ipc->src<<8)))>>8);
        !            41:   }
        !            42:   return 0;
        !            43: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.