1
0
mirror of https://github.com/cc65/cc65.git synced 2025-08-10 04:25:21 +00:00

Changed shift functions, added info about shift runtime functions

git-svn-id: svn://svn.cc65.org/cc65/trunk@3142 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2004-06-30 19:18:56 +00:00
parent 9d8d2a3229
commit 07419b62f8
2 changed files with 13 additions and 6 deletions

View File

@@ -2990,8 +2990,8 @@ void g_asr (unsigned flags, unsigned long val)
/* Primary = TOS >> Primary */ /* Primary = TOS >> Primary */
{ {
static char* ops [12] = { static char* ops [12] = {
0, "tosasra0", "tosasrax", 0, 0, "tosasrax",
0, "tosshra0", "tosshrax", 0, 0, "tosshrax",
0, 0, "tosasreax", 0, 0, "tosasreax",
0, 0, "tosshreax", 0, 0, "tosshreax",
}; };
@@ -3080,8 +3080,8 @@ void g_asl (unsigned flags, unsigned long val)
/* Primary = TOS << Primary */ /* Primary = TOS << Primary */
{ {
static char* ops [12] = { static char* ops [12] = {
0, "tosasla0", "tosaslax", 0, 0, "tosaslax",
0, "tosshla0", "tosshlax", 0, 0, "tosshlax",
0, 0, "tosasleax", 0, 0, "tosasleax",
0, 0, "tosshleax", 0, 0, "tosshleax",
}; };
@@ -3090,7 +3090,7 @@ void g_asl (unsigned flags, unsigned long val)
/* If the right hand side is const, the lhs is not on stack but still /* If the right hand side is const, the lhs is not on stack but still
* in the primary register. * in the primary register.
*/ */
if (flags & CF_CONST) { if (flags & CF_CONST) {
switch (flags & CF_TYPE) { switch (flags & CF_TYPE) {

View File

@@ -191,6 +191,10 @@ static const FuncInfo FuncInfoTable[] = {
{ "tosaddax", REG_AX, REG_AXY }, { "tosaddax", REG_AX, REG_AXY },
{ "tosanda0", REG_A, REG_AXY }, { "tosanda0", REG_A, REG_AXY },
{ "tosandax", REG_AX, REG_AXY }, { "tosandax", REG_AX, REG_AXY },
{ "tosaslax", REG_A, REG_AXY | REG_TMP1 },
{ "tosasleax", REG_A, REG_EAXY | REG_TMP1 },
{ "tosasrax", REG_A, REG_AXY | REG_TMP1 },
{ "tosasreax", REG_A, REG_EAXY | REG_TMP1 },
{ "tosdiva0", REG_AY, REG_ALL }, { "tosdiva0", REG_AY, REG_ALL },
{ "tosdivax", REG_AXY, REG_ALL }, { "tosdivax", REG_AXY, REG_ALL },
{ "tosdiveax", REG_EAXY, REG_ALL }, { "tosdiveax", REG_EAXY, REG_ALL },
@@ -205,7 +209,10 @@ static const FuncInfo FuncInfoTable[] = {
{ "tosmulax", REG_AX, REG_ALL }, { "tosmulax", REG_AX, REG_ALL },
{ "tosmuleax", REG_EAX, REG_ALL }, { "tosmuleax", REG_EAX, REG_ALL },
{ "tosneeax", REG_EAX, REG_AXY | REG_PTR1 }, { "tosneeax", REG_EAX, REG_AXY | REG_PTR1 },
{ "tosshreax", REG_EAX, REG_EAXY | REG_PTR1 | REG_PTR2 }, { "tosshlax", REG_A, REG_AXY | REG_TMP1 },
{ "tosshleax", REG_A, REG_EAXY | REG_TMP1 },
{ "tosshrax", REG_A, REG_AXY | REG_TMP1 },
{ "tosshreax", REG_A, REG_EAXY | REG_TMP1 },
{ "tossuba0", REG_A, REG_AXY }, { "tossuba0", REG_A, REG_AXY },
{ "tossubax", REG_AX, REG_AXY }, { "tossubax", REG_AX, REG_AXY },
{ "tossubeax", REG_EAX, REG_EAXY }, { "tossubeax", REG_EAX, REG_EAXY },