OLD | NEW |
1 /* Bra.c -- Converters for RISC code | 1 /* Bra.c -- Converters for RISC code |
2 2010-04-16 : Igor Pavlov : Public domain */ | 2 2010-04-16 : Igor Pavlov : Public domain */ |
3 | 3 |
| 4 #include "Precomp.h" |
| 5 |
4 #include "Bra.h" | 6 #include "Bra.h" |
5 | 7 |
6 SizeT ARM_Convert(Byte *data, SizeT size, UInt32 ip, int encoding) | 8 SizeT ARM_Convert(Byte *data, SizeT size, UInt32 ip, int encoding) |
7 { | 9 { |
8 SizeT i; | 10 SizeT i; |
9 if (size < 4) | 11 if (size < 4) |
10 return 0; | 12 return 0; |
11 size -= 4; | 13 size -= 4; |
12 ip += 8; | 14 ip += 8; |
13 for (i = 0; i <= size; i += 4) | 15 for (i = 0; i <= size; i += 4) |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 dest = (((0 - ((dest >> 22) & 1)) << 22) & 0x3FFFFFFF) | (dest & 0x3FFFFF)
| 0x40000000; | 126 dest = (((0 - ((dest >> 22) & 1)) << 22) & 0x3FFFFFFF) | (dest & 0x3FFFFF)
| 0x40000000; |
125 | 127 |
126 data[i + 0] = (Byte)(dest >> 24); | 128 data[i + 0] = (Byte)(dest >> 24); |
127 data[i + 1] = (Byte)(dest >> 16); | 129 data[i + 1] = (Byte)(dest >> 16); |
128 data[i + 2] = (Byte)(dest >> 8); | 130 data[i + 2] = (Byte)(dest >> 8); |
129 data[i + 3] = (Byte)dest; | 131 data[i + 3] = (Byte)dest; |
130 } | 132 } |
131 } | 133 } |
132 return i; | 134 return i; |
133 } | 135 } |
OLD | NEW |