Annotation of generator/hdr/cpu68k-inline.h, revision 1.1.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.