GNU Binutils with patches for OS216
Revision | d8e7020fd6fadafc86faf10ebe241fcf38927815 (tree) |
---|---|
Zeit | 2000-04-09 18:04:54 |
Autor | Alexandre Oliva <aoliva@redh...> |
Commiter | Alexandre Oliva |
* am33.igen: Make SP-relative offsets unsigned. Add *am33' for
some instructions that were missing it.
@@ -1,3 +1,8 @@ | ||
1 | +2000-04-09 Alexandre Oliva <aoliva@cygnus.com> | |
2 | + | |
3 | + * am33.igen: Make SP-relative offsets unsigned. Add `*am33' for | |
4 | + some instructions that were missing it. | |
5 | + | |
1 | 6 | 2000-03-03 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
2 | 7 | |
3 | 8 | * Makefile.in (IGEN_INSN): Added am33.igen. |
@@ -1911,6 +1911,7 @@ | ||
1911 | 1911 | // 1111 1011 0001 1010 Rn Rm IMM8; mov Rm,(d8,Rn) |
1912 | 1912 | 8.0xfb+8.0x1a+4.RM2,4.RN0+8.IMM8:D2m:::mov |
1913 | 1913 | "mov" |
1914 | +*am33 | |
1914 | 1915 | { |
1915 | 1916 | int srcreg, dstreg; |
1916 | 1917 |
@@ -1923,6 +1924,7 @@ | ||
1923 | 1924 | // 1111 1011 0010 1010 Rn Rm IMM8; movbu (d8,Rm),Rn |
1924 | 1925 | 8.0xfb+8.0x2a+4.RN2,4.RM0+8.IMM8:D2l:::movbu |
1925 | 1926 | "movbu" |
1927 | +*am33 | |
1926 | 1928 | { |
1927 | 1929 | int srcreg, dstreg; |
1928 | 1930 |
@@ -1935,6 +1937,7 @@ | ||
1935 | 1937 | // 1111 1011 0011 1010 Rn Rm IMM8; movbu Rm,(d8,Rn) |
1936 | 1938 | 8.0xfb+8.0x3a+4.RM2,4.RN0+8.IMM8:D2m:::movbu |
1937 | 1939 | "movbu" |
1940 | +*am33 | |
1938 | 1941 | { |
1939 | 1942 | int srcreg, dstreg; |
1940 | 1943 |
@@ -1947,6 +1950,7 @@ | ||
1947 | 1950 | // 1111 1011 0100 1010 Rn Rm IMM8; movhu (d8,Rm),Rn |
1948 | 1951 | 8.0xfb+8.0x4a+4.RN2,4.RM0+8.IMM8:D2l:::movhu |
1949 | 1952 | "movhu" |
1953 | +*am33 | |
1950 | 1954 | { |
1951 | 1955 | int srcreg, dstreg; |
1952 | 1956 |
@@ -1959,6 +1963,7 @@ | ||
1959 | 1963 | // 1111 1011 0101 1010 Rn Rm IMM8; movhu Rm,(d8,Rn) |
1960 | 1964 | 8.0xfb+8.0x5a+4.RM2,4.RN0+8.IMM8:D2m:::movhu |
1961 | 1965 | "movhu" |
1966 | +*am33 | |
1962 | 1967 | { |
1963 | 1968 | int srcreg, dstreg; |
1964 | 1969 |
@@ -1985,6 +1990,7 @@ | ||
1985 | 1990 | // 1111 1011 0111 1010 Rn Rm IMM8; mov Rm,(d8,Rn+) |
1986 | 1991 | 8.0xfb+8.0x7a+4.RM2,4.RN0+8.IMM8:D2z:::mov |
1987 | 1992 | "mov" |
1993 | +*am33 | |
1988 | 1994 | { |
1989 | 1995 | int srcreg, dstreg; |
1990 | 1996 |
@@ -1999,17 +2005,19 @@ | ||
1999 | 2005 | // 1111 1011 1000 1010 Rn 0000 IMM8; mov (d8,sp),Rn |
2000 | 2006 | 8.0xfb+8.0x8a+4.RN2,4.0x0+8.IMM8:D2n:::mov |
2001 | 2007 | "mov" |
2008 | +*am33 | |
2002 | 2009 | { |
2003 | 2010 | int dstreg; |
2004 | 2011 | |
2005 | 2012 | PC = cia; |
2006 | 2013 | dstreg = translate_rreg (SD_, RN2); |
2007 | - State.regs[dstreg] = load_word (State.regs[REG_SP] + EXTEND8 (IMM8)); | |
2014 | + State.regs[dstreg] = load_word (State.regs[REG_SP] + IMM8); | |
2008 | 2015 | } |
2009 | 2016 | |
2010 | 2017 | // 1111 1011 1001 1010 Rm 0000 IMM8; mov Rm,(d8,Rn) |
2011 | 2018 | 8.0xfb+8.0x9a+4.RM2,4.0x0+8.IMM8:D2o:::mov |
2012 | 2019 | "mov" |
2020 | +*am33 | |
2013 | 2021 | { |
2014 | 2022 | int srcreg; |
2015 | 2023 |
@@ -2021,17 +2029,19 @@ | ||
2021 | 2029 | // 1111 1011 1010 1010 Rn Rm IMM8; movbu (d8,sp),Rn |
2022 | 2030 | 8.0xfb+8.0xaa+4.RN2,4.0x0+8.IMM8:D2n:::movbu |
2023 | 2031 | "movbu" |
2032 | +*am33 | |
2024 | 2033 | { |
2025 | 2034 | int dstreg; |
2026 | 2035 | |
2027 | 2036 | PC = cia; |
2028 | 2037 | dstreg = translate_rreg (SD_, RN2); |
2029 | - State.regs[dstreg] = load_byte (State.regs[REG_SP] + EXTEND8 (IMM8)); | |
2038 | + State.regs[dstreg] = load_byte (State.regs[REG_SP] + IMM8); | |
2030 | 2039 | } |
2031 | 2040 | |
2032 | 2041 | // 1111 1011 1011 1010 Rn Rm IMM8; movbu Rm,(sp,Rn) |
2033 | 2042 | 8.0xfb+8.0xba+4.RM2,4.0x0+8.IMM8:D2o:::movbu |
2034 | 2043 | "movbu" |
2044 | +*am33 | |
2035 | 2045 | { |
2036 | 2046 | int srcreg; |
2037 | 2047 |
@@ -2043,23 +2053,25 @@ | ||
2043 | 2053 | // 1111 1011 1100 1010 Rn Rm IMM8; movhu (d8,sp),Rn |
2044 | 2054 | 8.0xfb+8.0xca+4.RN2,4.0x0+8.IMM8:D2n:::movhu |
2045 | 2055 | "movhu" |
2056 | +*am33 | |
2046 | 2057 | { |
2047 | 2058 | int dstreg; |
2048 | 2059 | |
2049 | 2060 | PC = cia; |
2050 | 2061 | dstreg = translate_rreg (SD_, RN2); |
2051 | - State.regs[dstreg] = load_half (State.regs[REG_SP] + EXTEND8 (IMM8)); | |
2062 | + State.regs[dstreg] = load_half (State.regs[REG_SP] + IMM8); | |
2052 | 2063 | } |
2053 | 2064 | |
2054 | 2065 | // 1111 1011 1101 1010 Rn Rm IMM8; movhu Rm,(d8,sp) |
2055 | 2066 | 8.0xfb+8.0xda+4.RM2,4.0x0+8.IMM8:D2o:::movhu |
2056 | 2067 | "movhu" |
2068 | +*am33 | |
2057 | 2069 | { |
2058 | 2070 | int srcreg; |
2059 | 2071 | |
2060 | 2072 | PC = cia; |
2061 | 2073 | srcreg = translate_rreg (SD_, RM2); |
2062 | - store_half (State.regs[REG_SP] + EXTEND8 (IMM8), State.regs[srcreg]); | |
2074 | + store_half (State.regs[REG_SP] + IMM8, State.regs[srcreg]); | |
2063 | 2075 | } |
2064 | 2076 | |
2065 | 2077 | // 1111 1011 1110 1010 Rn Rm IMM8; movhu (d8,Rm+),Rn |
@@ -2079,6 +2091,7 @@ | ||
2079 | 2091 | // 1111 1011 1111 1010 Rn Rm IMM8; movhu Rm,(d8,Rn+) |
2080 | 2092 | 8.0xfb+8.0xfa+4.RM2,4.RN0+8.IMM8:D2z:::movhu |
2081 | 2093 | "movhu" |
2094 | +*am33 | |
2082 | 2095 | { |
2083 | 2096 | int srcreg, dstreg; |
2084 | 2097 |
@@ -2093,6 +2106,7 @@ | ||
2093 | 2106 | // 1111 1011 0000 1011 Rn Rn IMM8; mac imm8,Rn |
2094 | 2107 | 8.0xfb+8.0x0b+4.RN2,4.RN0=RN2+8.IMM8:D2:::mac |
2095 | 2108 | "mac" |
2109 | +*am33 | |
2096 | 2110 | { |
2097 | 2111 | int srcreg; |
2098 | 2112 | long long temp, sum; |
@@ -2119,6 +2133,7 @@ | ||
2119 | 2133 | // 1111 1011 0001 1011 Rn Rn IMM8; macu imm8,Rn |
2120 | 2134 | 8.0xfb+8.0x1b+4.RN2,4.RN0=RN2+8.IMM8:D2:::macu |
2121 | 2135 | "macu" |
2136 | +*am33 | |
2122 | 2137 | { |
2123 | 2138 | int srcreg; |
2124 | 2139 | long long temp, sum; |
@@ -2145,6 +2160,7 @@ | ||
2145 | 2160 | // 1111 1011 0010 1011 Rn Rn IMM8; macb imm8,Rn |
2146 | 2161 | 8.0xfb+8.0x2b+4.RN2,4.RN0=RN2+8.IMM8:D2:::macb |
2147 | 2162 | "macb" |
2163 | +*am33 | |
2148 | 2164 | { |
2149 | 2165 | int srcreg; |
2150 | 2166 | long long temp, sum; |
@@ -2171,6 +2187,7 @@ | ||
2171 | 2187 | // 1111 1011 0011 1011 Rn Rn IMM8; macbu imm8,Rn |
2172 | 2188 | 8.0xfb+8.0x3b+4.RN2,4.RN0=RN2+8.IMM8:D2:::macbu |
2173 | 2189 | "macbu" |
2190 | +*am33 | |
2174 | 2191 | { |
2175 | 2192 | int srcreg; |
2176 | 2193 | long long temp, sum; |
@@ -2197,6 +2214,7 @@ | ||
2197 | 2214 | // 1111 1011 0100 1011 Rn Rn IMM8; mach imm8,Rn |
2198 | 2215 | 8.0xfb+8.0x4b+4.RN2,4.RN0=RN2+8.IMM8:D2:::mach |
2199 | 2216 | "mach" |
2217 | +*am33 | |
2200 | 2218 | { |
2201 | 2219 | int srcreg; |
2202 | 2220 | long long temp, sum; |
@@ -2223,6 +2241,7 @@ | ||
2223 | 2241 | // 1111 1011 0101 1011 Rn Rn IMM8; machu imm8,Rn |
2224 | 2242 | 8.0xfb+8.0x5b+4.RN2,4.RN0=RN2+8.IMM8:D2:::machu |
2225 | 2243 | "machu" |
2244 | +*am33 | |
2226 | 2245 | { |
2227 | 2246 | int srcreg; |
2228 | 2247 | long long temp, sum; |
@@ -2249,6 +2268,7 @@ | ||
2249 | 2268 | // 1111 1011 1011 1011 Rn Rn IMM8; mcste imm8,Rn |
2250 | 2269 | 8.0xfb+8.0xbb+4.RN2,4.RN0=RN2+8.IMM8:D2:::mcste |
2251 | 2270 | "mcste" |
2271 | +*am33 | |
2252 | 2272 | { |
2253 | 2273 | int dstreg; |
2254 | 2274 |
@@ -3588,8 +3608,7 @@ | ||
3588 | 3608 | PC = cia; |
3589 | 3609 | dstreg = translate_rreg (SD_, RN2); |
3590 | 3610 | State.regs[dstreg] = load_word (State.regs[REG_SP] |
3591 | - + EXTEND24 (FETCH24 (IMM24A, | |
3592 | - IMM24B, IMM24C))); | |
3611 | + + FETCH24 (IMM24A, IMM24B, IMM24C)); | |
3593 | 3612 | } |
3594 | 3613 | |
3595 | 3614 | // 1111 1101 1001 1010 Rm 0000 IMM24; mov Rm,(d24,sp) |
@@ -3601,7 +3620,7 @@ | ||
3601 | 3620 | |
3602 | 3621 | PC = cia; |
3603 | 3622 | srcreg = translate_rreg (SD_, RM2); |
3604 | - store_word (State.regs[REG_SP] + EXTEND24 (FETCH24 (IMM24A, IMM24B, IMM24C)), | |
3623 | + store_word (State.regs[REG_SP] + FETCH24 (IMM24A, IMM24B, IMM24C), | |
3605 | 3624 | State.regs[srcreg]); |
3606 | 3625 | } |
3607 | 3626 |
@@ -3628,7 +3647,7 @@ | ||
3628 | 3647 | |
3629 | 3648 | PC = cia; |
3630 | 3649 | srcreg = translate_rreg (SD_, RM2); |
3631 | - store_byte (State.regs[REG_SP] + EXTEND24 (FETCH24 (IMM24A, IMM24B, IMM24C)), | |
3650 | + store_byte (State.regs[REG_SP] + FETCH24 (IMM24A, IMM24B, IMM24C), | |
3632 | 3651 | State.regs[srcreg]); |
3633 | 3652 | } |
3634 | 3653 |
@@ -3642,8 +3661,7 @@ | ||
3642 | 3661 | PC = cia; |
3643 | 3662 | dstreg = translate_rreg (SD_, RN2); |
3644 | 3663 | State.regs[dstreg] = load_half (State.regs[REG_SP] |
3645 | - + EXTEND24 (FETCH24 (IMM24A, | |
3646 | - IMM24B, IMM24C))); | |
3664 | + + FETCH24 (IMM24A, IMM24B, IMM24C)); | |
3647 | 3665 | } |
3648 | 3666 | |
3649 | 3667 | // 1111 1101 1101 1010 Rm Rn IMM24; movhu Rm,(d24,sp) |
@@ -3655,7 +3673,7 @@ | ||
3655 | 3673 | |
3656 | 3674 | PC = cia; |
3657 | 3675 | srcreg = translate_rreg (SD_, RM2); |
3658 | - store_half (State.regs[REG_SP] + EXTEND24 (FETCH24 (IMM24A, IMM24B, IMM24C)), | |
3676 | + store_half (State.regs[REG_SP] + FETCH24 (IMM24A, IMM24B, IMM24C), | |
3659 | 3677 | State.regs[srcreg]); |
3660 | 3678 | } |
3661 | 3679 |