]> git.sur5r.net Git - cc65/commitdiff
Added lots of runtime function info.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 3 Apr 2006 19:31:31 +0000 (19:31 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 3 Apr 2006 19:31:31 +0000 (19:31 +0000)
Fixed a problem with wrong info for the incaxn functions.

git-svn-id: svn://svn.cc65.org/cc65/trunk@3715 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/codeinfo.c

index a3ce6e6ca14ad8cae704ab463442da5eae9f40fb..deace1a3b96983be8315f1a00f6f1ac295fcf87b 100644 (file)
@@ -81,6 +81,10 @@ static const FuncInfo FuncInfoTable[] = {
     { "aslax2",         REG_AX,                      REG_AX | REG_TMP1              },
     { "aslax3",         REG_AX,                      REG_AX | REG_TMP1              },
     { "aslax4",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "asrax1",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "asrax2",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "asrax3",         REG_AX,                      REG_AX | REG_TMP1              },
+    { "asrax4",         REG_AX,                      REG_AX | REG_TMP1              },
     { "bnega",          REG_A,                REG_AX                        },
     { "bnegax",         REG_AX,               REG_AX                        },
     { "bnegeax",        REG_EAX,              REG_EAX                       },
@@ -94,6 +98,7 @@ static const FuncInfo FuncInfoTable[] = {
     { "boolugt",               REG_NONE,             REG_AX                         },
     { "boolule",               REG_NONE,             REG_AX                         },
     { "boolult",               REG_NONE,             REG_AX                         },
+    { "callax",         REG_AX,               REG_ALL                        }, 
     { "complax",        REG_AX,               REG_AX                        },
     { "decax1",                REG_AX,               REG_AX                         },
     { "decax2",                REG_AX,               REG_AX                         },
@@ -113,14 +118,15 @@ static const FuncInfo FuncInfoTable[] = {
     { "decsp6",                REG_NONE,             REG_A                          },
     { "decsp7",                REG_NONE,             REG_A                          },
     { "decsp8",                REG_NONE,             REG_A                          },
-    { "incax1",         REG_AX,               REG_AX                        },
-    { "incax2",         REG_AX,               REG_AX                        },
-    { "incax3",         REG_AX,               REG_AX                        },
-    { "incax4",         REG_AX,               REG_AX                        },
-    { "incax5",         REG_AX,               REG_AX                        },
-    { "incax6",         REG_AX,               REG_AX                        },
-    { "incax7",         REG_AX,               REG_AX                        },
-    { "incax8",         REG_AX,               REG_AX                        },
+    { "incax1",         REG_AX,               REG_AXY                       },
+    { "incax2",         REG_AX,               REG_AXY                               },
+    { "incax3",         REG_AX,               REG_AXY                       },
+    { "incax4",         REG_AX,               REG_AXY                       },
+    { "incax5",         REG_AX,               REG_AXY                       },
+    { "incax6",         REG_AX,               REG_AXY                       },
+    { "incax7",         REG_AX,               REG_AXY                       },
+    { "incax8",         REG_AX,               REG_AXY                       },
+    { "incaxy",         REG_AX,               REG_AXY                       },
     { "incsp1",                REG_NONE,             REG_NONE                       },
     { "incsp2",                REG_NONE,             REG_Y                          },
     { "incsp3",                REG_NONE,             REG_Y                          },
@@ -150,6 +156,12 @@ static const FuncInfo FuncInfoTable[] = {
     { "lsubeq1",        REG_Y | REG_PTR1_LO,  REG_EAXY | REG_PTR1_HI         },
     { "lsubeqa",        REG_AY | REG_PTR1_LO, REG_EAXY | REG_PTR1_HI         },
     { "lsubeqysp",      REG_EAXY,             REG_EAXY                       },
+    { "mulax10",        REG_AX,               REG_AX | REG_PTR1              },
+    { "mulax3",         REG_AX,               REG_AX | REG_PTR1              },
+    { "mulax5",         REG_AX,               REG_AX | REG_PTR1              },
+    { "mulax6",         REG_AX,               REG_AX | REG_PTR1              },
+    { "mulax7",         REG_AX,               REG_AX | REG_PTR1              },
+    { "mulax9",         REG_AX,               REG_AX | REG_PTR1              },
     { "negax",          REG_AX,               REG_AX                        },
     { "push0",                 REG_NONE,             REG_AXY                        },
     { "push1",                 REG_NONE,             REG_AXY                        },
@@ -162,7 +174,8 @@ static const FuncInfo FuncInfoTable[] = {
     { "pusha",                 REG_A,                REG_Y                          },
     { "pusha0",                REG_A,                REG_XY                         },
     { "pusha0sp",       REG_NONE,             REG_AY                         },
-    { "pushax",                REG_AX,               REG_Y                          },
+    { "pushaff",               REG_AX,               REG_Y                          },
+    { "pushax",                REG_AX,               REG_Y                          },
     { "pushaysp",       REG_Y,                REG_AY                         },
     { "pushc0",                REG_NONE,             REG_A | REG_Y                  },
     { "pushc1",                REG_NONE,             REG_A | REG_Y                  },
@@ -206,17 +219,37 @@ static const FuncInfo FuncInfoTable[] = {
     { "tosdiva0",       REG_AY,              REG_ALL                        },
     { "tosdivax",       REG_AXY,              REG_ALL                       },
     { "tosdiveax",      REG_EAXY,             REG_ALL                       },
+    { "toseq00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "toseqa0",        REG_A,               REG_AXY | REG_SREG             },
+    { "toseqax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "toseqeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "tosge00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "tosgea0",        REG_A,               REG_AXY | REG_SREG             },
+    { "tosgeax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "tosgeeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "tosgt00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "tosgta0",        REG_A,               REG_AXY | REG_SREG             },
+    { "tosgtax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "tosgteax",       REG_EAX,                     REG_AXY | REG_PTR1             },
     { "tosicmp",               REG_AX,               REG_AXY | REG_SREG             },
     { "toslcmp",        REG_EAX,                     REG_A | REG_Y | REG_PTR1       },
+    { "tosle00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "toslea0",        REG_A,               REG_AXY | REG_SREG             },
+    { "tosleax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "tosleeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "toslt00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "toslta0",        REG_A,               REG_AXY | REG_SREG             },
+    { "tosltax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "toslteax",       REG_EAX,                     REG_AXY | REG_PTR1             },
     { "tosmula0",       REG_AX,                      REG_ALL                        },
     { "tosmulax",       REG_AX,                      REG_ALL                        },
     { "tosmuleax",      REG_EAX,                     REG_ALL                        },
+    { "tosne00",        REG_NONE,                    REG_AXY | REG_SREG             },
+    { "tosnea0",        REG_A,               REG_AXY | REG_SREG             },
+    { "tosneax",        REG_AX,                      REG_AXY | REG_SREG             },
     { "tosneeax",       REG_EAX,                     REG_AXY | REG_PTR1             },
+    { "tosora0",        REG_A,               REG_AXY | REG_TMP1             },
+    { "tosorax",        REG_AX,                      REG_AXY | REG_TMP1             },
     { "tosshlax",       REG_A,                REG_AXY | REG_TMP1             },
     { "tosshleax",      REG_A,                       REG_EAXY | REG_TMP1            },
     { "tosshrax",       REG_A,                REG_AXY | REG_TMP1             },
@@ -352,7 +385,7 @@ void GetFuncInfo (const char* Name, unsigned short* Use, unsigned short* Chg)
              * use and change all registers.
              */
             if (Debug) {
-                fprintf (stderr, "No info about internal function `%s'", Name);
+                fprintf (stderr, "No info about internal function `%s'\n", Name);
             }
             *Use = REG_ALL;
             *Chg = REG_ALL;