* as/z80/assym.c (mlookup): ignore case when looking up mnemonics
[fw/sdcc] / as / z80 / z80adr.c
index 038adb8fd175221dcae10d6b85ca89961235eb29..58594b01d5824f2ec8cf4f5495a501fed7df10c2 100644 (file)
@@ -37,7 +37,7 @@ int
 addr(esp)
 register struct expr *esp;
 {
-       register c, mode, indx;
+       register int c, mode = 0, indx;
 
        if ((c = getnb()) == '#') {
                expr(esp, 0);
@@ -62,7 +62,7 @@ register struct expr *esp;
                        esp->e_mode = S_INDM;
                }
                if (indx) {
-                       esp->e_mode = mode + indx&0xFF;
+                       esp->e_mode = (mode + indx)&0xFF;
                        esp->e_base.e_ap = NULL;
                }
                if ((c = getnb()) != RTIND)
@@ -159,12 +159,12 @@ register char *str;
        }
 #else
        while (*ptr && *str) {
-               if (ccase[*ptr] != ccase[*str])
+               if (ccase[(unsigned char)(*ptr)] != ccase[(unsigned char)(*str)])
                        break;
                ptr++;
                str++;
        }
-       if (ccase[*ptr] == ccase[*str]) {
+       if (ccase[(unsigned char)(*ptr)] == ccase[(unsigned char)(*str)]) {
                ip = ptr;
                return(1);
        }
@@ -196,45 +196,66 @@ char    c, *str;
  */
 
 struct adsym   R8[] = {
-       "b",    B|0400,
-       "c",    C|0400,
-       "d",    D|0400,
-       "e",    E|0400,
-       "h",    H|0400,
-       "l",    L|0400,
-       "a",    A|0400,
-       "",     0000
+    { "b",     B|0400 },
+    { "c",     C|0400 },
+    { "d",     D|0400 },
+    { "e",     E|0400 },
+    { "h",     H|0400 },
+    { "l",     L|0400 },
+    { "a",     A|0400 },
+    { "B",     B|0400 },
+    { "C",     C|0400 },
+    { "D",     D|0400 },
+    { "E",     E|0400 },
+    { "H",     H|0400 },
+    { "L",     L|0400 },
+    { "A",     A|0400 },
+    { "",      000 }
 };
 
 struct adsym   R8X[] = {
-       "i",    I|0400,
-       "r",    R|0400,
-       "",     0000
+    { "i",     I|0400 },
+    { "r",     R|0400 },
+    { "I",     I|0400 },
+    { "R",     R|0400 },
+    { "",      000 }
 };
 
 struct adsym   R16[] = {
-       "bc",   BC|0400,
-       "de",   DE|0400,
-       "hl",   HL|0400,
-       "sp",   SP|0400,
+    { "bc",    BC|0400 },
+    { "de",    DE|0400 },
+    { "hl",    HL|0400 },
+    { "sp",    SP|0400 },
+    { "BC",    BC|0400 },
+    { "DE",    DE|0400 },
+    { "HL",    HL|0400 },
+    { "SP",    SP|0400 },
 #ifndef GAMEBOY
-       "ix",   IX|0400,
-       "iy",   IY|0400,
+    { "ix",    IX|0400 },
+    { "iy",    IY|0400 },
+    { "IX",    IX|0400 },
+    { "IY",    IY|0400 },
 #else /* GAMEBOY */
-       "hl-",  HLD|0400,
-       "hl+",  HLI|0400,
-       "hld",  HLD|0400,
-       "hli",  HLI|0400,
+    { "hl-",   HLD|0400 },
+    { "hl+",   HLI|0400 },
+    { "hld",   HLD|0400 },
+    { "hli",   HLI|0400 },
+    { "HL-",   HLD|0400 },
+    { "HL+",   HLI|0400 },
+    { "HLD",   HLD|0400 },
+    { "HLI",   HLI|0400 },
 #endif /* GAMEBOY */
-       "",     0000
+    { "",      000 }
 };
 
 struct adsym   R16X[] = {
-       "af",   AF|0400,
+    { "af",    AF|0400 },
+    { "AF",     AF|0400 },
 #ifndef GAMEBOY
-       "af'",  AF|0400,
+    { "af'",   AF|0400 },
+    { "AF'",   AF|0400 },
 #endif /* GAMEBOY */
-       "",     0000
+    { "",      000 }
 };
 
 /*
@@ -242,15 +263,23 @@ struct    adsym   R16X[] = {
  */
 
 struct adsym   CND[] = {
-       "NZ",   NZ|0400,
-       "Z",    Z |0400,
-       "NC",   NC|0400,
-       "C",    CS|0400,
+    { "NZ",    NZ|0400 },
+    { "Z",     Z |0400 },
+    { "NC",    NC|0400 },
+    { "C",     CS|0400 },
+    { "nz",    NZ|0400 },
+    { "z",     Z |0400 },
+    { "nc",    NC|0400 },
+    { "c",     CS|0400 },
 #ifndef GAMEBOY
-       "PO",   PO|0400,
-       "PE",   PE|0400,
-       "P",    P |0400,
-       "M",    M |0400,
+    { "PO",    PO|0400 },
+    { "PE",    PE|0400 },
+    { "P",     P |0400 },
+    { "M",     M |0400 },
+    { "po",    PO|0400 },
+    { "pe",    PE|0400 },
+    { "p",     P |0400 },
+    { "m",     M |0400 },
 #endif /* GAMEBOY */
-       "",     0000
+    { "",      000 }
 };