]> git.sur5r.net Git - cc65/blobdiff - src/cc65/opcodes.c
Fixed more E_MCONST issues
[cc65] / src / cc65 / opcodes.c
index 95eb5cdaee82c449be086a9965860a8fd8a33d41..12b779ef839fc5bc7b35cb3fe337b32c27c3b32c 100644 (file)
@@ -121,14 +121,14 @@ const OPCDesc OPCTable[OPC_COUNT] = {
     { OPC_STA, "sta", 0, REG_A,    REG_NONE, OF_NONE                       },
     { OPC_STX, "stx", 0, REG_X,    REG_NONE, OF_NONE                       },
     { OPC_STY, "sty", 0, REG_Y,    REG_NONE, OF_NONE                       },
-    { OPC_TAX, "tax", 1, REG_A,    REG_X,    OF_NONE                       },
-    { OPC_TAY, "tay", 1, REG_A,    REG_Y,    OF_NONE                       },
+    { OPC_TAX, "tax", 1, REG_A,    REG_X,    OF_XFR                        },
+    { OPC_TAY, "tay", 1, REG_A,    REG_Y,    OF_XFR                        },
     { OPC_TRB, "trb", 0, REG_A,    REG_NONE, OF_NONE                       },
     { OPC_TSB, "tsb", 0, REG_A,    REG_NONE, OF_NONE                       },
-    { OPC_TSX, "tsx", 1, REG_NONE, REG_X,    OF_NONE                       },
-    { OPC_TXA, "txa", 1, REG_X,    REG_A,    OF_NONE                       },
-    { OPC_TXS, "txs", 1, REG_X,    REG_NONE, OF_NONE                       },
-    { OPC_TYA, "tya", 1, REG_A,    REG_A,    OF_NONE                       },
+    { OPC_TSX, "tsx", 1, REG_NONE, REG_X,    OF_XFR                        },
+    { OPC_TXA, "txa", 1, REG_X,    REG_A,    OF_XFR                        },
+    { OPC_TXS, "txs", 1, REG_X,    REG_NONE, OF_XFR                        },
+    { OPC_TYA, "tya", 1, REG_A,    REG_A,    OF_XFR                        },
 };
 
 
@@ -181,23 +181,25 @@ unsigned GetInsnSize (opc_t OPC, am_t AM)
     /* Get the opcode desc and check the size given there */
     const OPCDesc* D = &OPCTable[OPC];
     if (D->Size != 0) {
-       return D->Size;
+       return D->Size;
     }
 
     /* Check the addressing mode. */
     switch (AM) {
-       case AM_IMP:      return 1;
-       case AM_ACC:      return 1;
-       case AM_IMM:      return 2;
-       case AM_ZP:       return 2;
-       case AM_ZPX:      return 2;
-       case AM_ABS:      return 3;
-       case AM_ABSX:     return 3;
-       case AM_ABSY:     return 3;
-       case AM_ZPX_IND:  return 2;
-       case AM_ZP_INDY:  return 2;
-       case AM_ZP_IND:   return 2;
-       default:          FAIL ("Invalid addressing mode");
+       case AM_IMP:      return 1;
+       case AM_ACC:      return 1;
+       case AM_IMM:      return 2;
+       case AM_ZP:       return 2;
+       case AM_ZPX:      return 2;
+       case AM_ABS:      return 3;
+       case AM_ABSX:     return 3;
+       case AM_ABSY:     return 3;
+       case AM_ZPX_IND:  return 2;
+       case AM_ZP_INDY:  return 2;
+       case AM_ZP_IND:   return 2;
+       default:          
+           Internal ("Invalid addressing mode");
+           return 0;
     }
 }
 
@@ -242,7 +244,9 @@ opc_t GetInverseBranch (opc_t OPC)
                case OPC_JPL:   return OPC_JMI;
                case OPC_JVC:   return OPC_JVS;
                case OPC_JVS:   return OPC_JVC;
-       default:        Internal ("GetInverseBranch: Invalid opcode: %d", OPC);
+       default:        
+           Internal ("GetInverseBranch: Invalid opcode: %d", OPC);
+           return 0;
     }
 }
 
@@ -272,7 +276,9 @@ opc_t MakeShortBranch (opc_t OPC)
                case OPC_JVS:   return OPC_BVS;
                case OPC_BRA:
        case OPC_JMP:   return (CPU == CPU_65C02)? OPC_BRA : OPC_JMP;
-               default:        Internal ("GetShortBranch: Invalid opcode: %d", OPC);
+               default:        
+           Internal ("GetShortBranch: Invalid opcode: %d", OPC);
+           return 0;
     }
 }
 
@@ -302,7 +308,9 @@ opc_t MakeLongBranch (opc_t OPC)
                case OPC_JVS:   return OPC_JVS;
        case OPC_BRA:
        case OPC_JMP:   return OPC_JMP;
-               default:        Internal ("GetShortBranch: Invalid opcode: %d", OPC);
+               default:        
+           Internal ("GetShortBranch: Invalid opcode: %d", OPC);
+           return 0;
     }
 }
 
@@ -328,7 +336,9 @@ bc_t GetBranchCond (opc_t OPC)
                case OPC_JPL:   return BC_PL;
                case OPC_JVC:   return BC_VC;
                case OPC_JVS:   return BC_VS;
-       default:        Internal ("GetBranchCond: Invalid opcode: %d", OPC);
+       default:        
+           Internal ("GetBranchCond: Invalid opcode: %d", OPC);
+           return 0;
     }
 }
 
@@ -346,7 +356,9 @@ bc_t GetInverseCond (bc_t BC)
                case BC_PL:     return BC_MI;
                case BC_VC:     return BC_VS;
                case BC_VS:     return BC_VC;
-       default:        Internal ("GetInverseCond: Invalid condition: %d", BC);
+       default:        
+           Internal ("GetInverseCond: Invalid condition: %d", BC);
+           return 0;
     }
 }
 
@@ -356,15 +368,17 @@ opc_t GetLongBranch (bc_t BC)
 /* Return a long branch for the given branch condition */
 {
     switch (BC) {
-       case BC_CC:     return OPC_JCC;
-       case BC_CS:     return OPC_JCS;
-       case BC_EQ:     return OPC_JEQ;
-       case BC_MI:     return OPC_JMI;
-       case BC_NE:     return OPC_JNE;
-       case BC_PL:     return OPC_JPL;
-       case BC_VC:     return OPC_JVC;
-       case BC_VS:     return OPC_JVS;
-               default:        Internal ("GetLongBranch: Invalid condition: %d", BC);
+       case BC_CC:     return OPC_JCC;
+       case BC_CS:     return OPC_JCS;
+       case BC_EQ:     return OPC_JEQ;
+       case BC_MI:     return OPC_JMI;
+       case BC_NE:     return OPC_JNE;
+       case BC_PL:     return OPC_JPL;
+       case BC_VC:     return OPC_JVC;
+       case BC_VS:     return OPC_JVS;
+               default:        
+           Internal ("GetLongBranch: Invalid condition: %d", BC);
+           return 0;
     }
 }
 
@@ -382,7 +396,9 @@ opc_t GetShortBranch (bc_t BC)
                case BC_PL:     return OPC_BPL;
                case BC_VC:     return OPC_BVC;
                case BC_VS:     return OPC_BVS;
-               default:        Internal ("GetShortBranch: Invalid condition: %d", BC);
+               default:        
+           Internal ("GetShortBranch: Invalid condition: %d", BC);
+           return 0;
     }
 }