diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2014-10-06 20:52:21 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2014-10-06 20:52:21 (GMT) |
commit | 1d5f7f28f92251dc4d3bff8d87b3e3052ab9cab2 (patch) | |
tree | 1ad4346a8cbcd8379850f68d04cb8757371c05e1 /src/common | |
parent | ada6b756efd6ca109f6c46aa4d3eb11c17ad6b84 (diff) |
Got prepared to disassemble some ARMv7 instructions.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@409 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/common')
-rwxr-xr-x | src/common/Makefile.am | 1 | ||||
-rw-r--r-- | src/common/bconst.h | 572 |
2 files changed, 573 insertions, 0 deletions
diff --git a/src/common/Makefile.am b/src/common/Makefile.am index da4f98e..7ec85ab 100755 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -2,6 +2,7 @@ lib_LTLIBRARIES = libcommon.la libcommon_la_SOURCES = \ + bconst.h \ cpp.h \ dllist.h dllist.c \ endianness.h endianness.c \ diff --git a/src/common/bconst.h b/src/common/bconst.h new file mode 100644 index 0000000..ac7b9ff --- /dev/null +++ b/src/common/bconst.h @@ -0,0 +1,572 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * bconst.h - prototypes pour la capacité à disposer d'un format binaire pour constantes + * + * Copyright (C) 2014 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * OpenIDA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * OpenIDA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +#ifndef _COMMON_BCONST_H +#define _COMMON_BCONST_H + + + +/** + * Constantes générée automatiquemet avec le script Python suivant : + * + * for l in range(1, 9): + * + * print('') + * + * for v in range(1 << l): + * + * print('#define b%s %d' % (format(v, '0{}b'.format(l)), v)) + * + * print('') + * + */ + + +#define b0 0 +#define b1 1 + + +#define b00 0 +#define b01 1 +#define b10 2 +#define b11 3 + + +#define b000 0 +#define b001 1 +#define b010 2 +#define b011 3 +#define b100 4 +#define b101 5 +#define b110 6 +#define b111 7 + + +#define b0000 0 +#define b0001 1 +#define b0010 2 +#define b0011 3 +#define b0100 4 +#define b0101 5 +#define b0110 6 +#define b0111 7 +#define b1000 8 +#define b1001 9 +#define b1010 10 +#define b1011 11 +#define b1100 12 +#define b1101 13 +#define b1110 14 +#define b1111 15 + + +#define b00000 0 +#define b00001 1 +#define b00010 2 +#define b00011 3 +#define b00100 4 +#define b00101 5 +#define b00110 6 +#define b00111 7 +#define b01000 8 +#define b01001 9 +#define b01010 10 +#define b01011 11 +#define b01100 12 +#define b01101 13 +#define b01110 14 +#define b01111 15 +#define b10000 16 +#define b10001 17 +#define b10010 18 +#define b10011 19 +#define b10100 20 +#define b10101 21 +#define b10110 22 +#define b10111 23 +#define b11000 24 +#define b11001 25 +#define b11010 26 +#define b11011 27 +#define b11100 28 +#define b11101 29 +#define b11110 30 +#define b11111 31 + + +#define b000000 0 +#define b000001 1 +#define b000010 2 +#define b000011 3 +#define b000100 4 +#define b000101 5 +#define b000110 6 +#define b000111 7 +#define b001000 8 +#define b001001 9 +#define b001010 10 +#define b001011 11 +#define b001100 12 +#define b001101 13 +#define b001110 14 +#define b001111 15 +#define b010000 16 +#define b010001 17 +#define b010010 18 +#define b010011 19 +#define b010100 20 +#define b010101 21 +#define b010110 22 +#define b010111 23 +#define b011000 24 +#define b011001 25 +#define b011010 26 +#define b011011 27 +#define b011100 28 +#define b011101 29 +#define b011110 30 +#define b011111 31 +#define b100000 32 +#define b100001 33 +#define b100010 34 +#define b100011 35 +#define b100100 36 +#define b100101 37 +#define b100110 38 +#define b100111 39 +#define b101000 40 +#define b101001 41 +#define b101010 42 +#define b101011 43 +#define b101100 44 +#define b101101 45 +#define b101110 46 +#define b101111 47 +#define b110000 48 +#define b110001 49 +#define b110010 50 +#define b110011 51 +#define b110100 52 +#define b110101 53 +#define b110110 54 +#define b110111 55 +#define b111000 56 +#define b111001 57 +#define b111010 58 +#define b111011 59 +#define b111100 60 +#define b111101 61 +#define b111110 62 +#define b111111 63 + + +#define b0000000 0 +#define b0000001 1 +#define b0000010 2 +#define b0000011 3 +#define b0000100 4 +#define b0000101 5 +#define b0000110 6 +#define b0000111 7 +#define b0001000 8 +#define b0001001 9 +#define b0001010 10 +#define b0001011 11 +#define b0001100 12 +#define b0001101 13 +#define b0001110 14 +#define b0001111 15 +#define b0010000 16 +#define b0010001 17 +#define b0010010 18 +#define b0010011 19 +#define b0010100 20 +#define b0010101 21 +#define b0010110 22 +#define b0010111 23 +#define b0011000 24 +#define b0011001 25 +#define b0011010 26 +#define b0011011 27 +#define b0011100 28 +#define b0011101 29 +#define b0011110 30 +#define b0011111 31 +#define b0100000 32 +#define b0100001 33 +#define b0100010 34 +#define b0100011 35 +#define b0100100 36 +#define b0100101 37 +#define b0100110 38 +#define b0100111 39 +#define b0101000 40 +#define b0101001 41 +#define b0101010 42 +#define b0101011 43 +#define b0101100 44 +#define b0101101 45 +#define b0101110 46 +#define b0101111 47 +#define b0110000 48 +#define b0110001 49 +#define b0110010 50 +#define b0110011 51 +#define b0110100 52 +#define b0110101 53 +#define b0110110 54 +#define b0110111 55 +#define b0111000 56 +#define b0111001 57 +#define b0111010 58 +#define b0111011 59 +#define b0111100 60 +#define b0111101 61 +#define b0111110 62 +#define b0111111 63 +#define b1000000 64 +#define b1000001 65 +#define b1000010 66 +#define b1000011 67 +#define b1000100 68 +#define b1000101 69 +#define b1000110 70 +#define b1000111 71 +#define b1001000 72 +#define b1001001 73 +#define b1001010 74 +#define b1001011 75 +#define b1001100 76 +#define b1001101 77 +#define b1001110 78 +#define b1001111 79 +#define b1010000 80 +#define b1010001 81 +#define b1010010 82 +#define b1010011 83 +#define b1010100 84 +#define b1010101 85 +#define b1010110 86 +#define b1010111 87 +#define b1011000 88 +#define b1011001 89 +#define b1011010 90 +#define b1011011 91 +#define b1011100 92 +#define b1011101 93 +#define b1011110 94 +#define b1011111 95 +#define b1100000 96 +#define b1100001 97 +#define b1100010 98 +#define b1100011 99 +#define b1100100 100 +#define b1100101 101 +#define b1100110 102 +#define b1100111 103 +#define b1101000 104 +#define b1101001 105 +#define b1101010 106 +#define b1101011 107 +#define b1101100 108 +#define b1101101 109 +#define b1101110 110 +#define b1101111 111 +#define b1110000 112 +#define b1110001 113 +#define b1110010 114 +#define b1110011 115 +#define b1110100 116 +#define b1110101 117 +#define b1110110 118 +#define b1110111 119 +#define b1111000 120 +#define b1111001 121 +#define b1111010 122 +#define b1111011 123 +#define b1111100 124 +#define b1111101 125 +#define b1111110 126 +#define b1111111 127 + + +#define b00000000 0 +#define b00000001 1 +#define b00000010 2 +#define b00000011 3 +#define b00000100 4 +#define b00000101 5 +#define b00000110 6 +#define b00000111 7 +#define b00001000 8 +#define b00001001 9 +#define b00001010 10 +#define b00001011 11 +#define b00001100 12 +#define b00001101 13 +#define b00001110 14 +#define b00001111 15 +#define b00010000 16 +#define b00010001 17 +#define b00010010 18 +#define b00010011 19 +#define b00010100 20 +#define b00010101 21 +#define b00010110 22 +#define b00010111 23 +#define b00011000 24 +#define b00011001 25 +#define b00011010 26 +#define b00011011 27 +#define b00011100 28 +#define b00011101 29 +#define b00011110 30 +#define b00011111 31 +#define b00100000 32 +#define b00100001 33 +#define b00100010 34 +#define b00100011 35 +#define b00100100 36 +#define b00100101 37 +#define b00100110 38 +#define b00100111 39 +#define b00101000 40 +#define b00101001 41 +#define b00101010 42 +#define b00101011 43 +#define b00101100 44 +#define b00101101 45 +#define b00101110 46 +#define b00101111 47 +#define b00110000 48 +#define b00110001 49 +#define b00110010 50 +#define b00110011 51 +#define b00110100 52 +#define b00110101 53 +#define b00110110 54 +#define b00110111 55 +#define b00111000 56 +#define b00111001 57 +#define b00111010 58 +#define b00111011 59 +#define b00111100 60 +#define b00111101 61 +#define b00111110 62 +#define b00111111 63 +#define b01000000 64 +#define b01000001 65 +#define b01000010 66 +#define b01000011 67 +#define b01000100 68 +#define b01000101 69 +#define b01000110 70 +#define b01000111 71 +#define b01001000 72 +#define b01001001 73 +#define b01001010 74 +#define b01001011 75 +#define b01001100 76 +#define b01001101 77 +#define b01001110 78 +#define b01001111 79 +#define b01010000 80 +#define b01010001 81 +#define b01010010 82 +#define b01010011 83 +#define b01010100 84 +#define b01010101 85 +#define b01010110 86 +#define b01010111 87 +#define b01011000 88 +#define b01011001 89 +#define b01011010 90 +#define b01011011 91 +#define b01011100 92 +#define b01011101 93 +#define b01011110 94 +#define b01011111 95 +#define b01100000 96 +#define b01100001 97 +#define b01100010 98 +#define b01100011 99 +#define b01100100 100 +#define b01100101 101 +#define b01100110 102 +#define b01100111 103 +#define b01101000 104 +#define b01101001 105 +#define b01101010 106 +#define b01101011 107 +#define b01101100 108 +#define b01101101 109 +#define b01101110 110 +#define b01101111 111 +#define b01110000 112 +#define b01110001 113 +#define b01110010 114 +#define b01110011 115 +#define b01110100 116 +#define b01110101 117 +#define b01110110 118 +#define b01110111 119 +#define b01111000 120 +#define b01111001 121 +#define b01111010 122 +#define b01111011 123 +#define b01111100 124 +#define b01111101 125 +#define b01111110 126 +#define b01111111 127 +#define b10000000 128 +#define b10000001 129 +#define b10000010 130 +#define b10000011 131 +#define b10000100 132 +#define b10000101 133 +#define b10000110 134 +#define b10000111 135 +#define b10001000 136 +#define b10001001 137 +#define b10001010 138 +#define b10001011 139 +#define b10001100 140 +#define b10001101 141 +#define b10001110 142 +#define b10001111 143 +#define b10010000 144 +#define b10010001 145 +#define b10010010 146 +#define b10010011 147 +#define b10010100 148 +#define b10010101 149 +#define b10010110 150 +#define b10010111 151 +#define b10011000 152 +#define b10011001 153 +#define b10011010 154 +#define b10011011 155 +#define b10011100 156 +#define b10011101 157 +#define b10011110 158 +#define b10011111 159 +#define b10100000 160 +#define b10100001 161 +#define b10100010 162 +#define b10100011 163 +#define b10100100 164 +#define b10100101 165 +#define b10100110 166 +#define b10100111 167 +#define b10101000 168 +#define b10101001 169 +#define b10101010 170 +#define b10101011 171 +#define b10101100 172 +#define b10101101 173 +#define b10101110 174 +#define b10101111 175 +#define b10110000 176 +#define b10110001 177 +#define b10110010 178 +#define b10110011 179 +#define b10110100 180 +#define b10110101 181 +#define b10110110 182 +#define b10110111 183 +#define b10111000 184 +#define b10111001 185 +#define b10111010 186 +#define b10111011 187 +#define b10111100 188 +#define b10111101 189 +#define b10111110 190 +#define b10111111 191 +#define b11000000 192 +#define b11000001 193 +#define b11000010 194 +#define b11000011 195 +#define b11000100 196 +#define b11000101 197 +#define b11000110 198 +#define b11000111 199 +#define b11001000 200 +#define b11001001 201 +#define b11001010 202 +#define b11001011 203 +#define b11001100 204 +#define b11001101 205 +#define b11001110 206 +#define b11001111 207 +#define b11010000 208 +#define b11010001 209 +#define b11010010 210 +#define b11010011 211 +#define b11010100 212 +#define b11010101 213 +#define b11010110 214 +#define b11010111 215 +#define b11011000 216 +#define b11011001 217 +#define b11011010 218 +#define b11011011 219 +#define b11011100 220 +#define b11011101 221 +#define b11011110 222 +#define b11011111 223 +#define b11100000 224 +#define b11100001 225 +#define b11100010 226 +#define b11100011 227 +#define b11100100 228 +#define b11100101 229 +#define b11100110 230 +#define b11100111 231 +#define b11101000 232 +#define b11101001 233 +#define b11101010 234 +#define b11101011 235 +#define b11101100 236 +#define b11101101 237 +#define b11101110 238 +#define b11101111 239 +#define b11110000 240 +#define b11110001 241 +#define b11110010 242 +#define b11110011 243 +#define b11110100 244 +#define b11110101 245 +#define b11110110 246 +#define b11110111 247 +#define b11111000 248 +#define b11111001 249 +#define b11111010 250 +#define b11111011 251 +#define b11111100 252 +#define b11111101 253 +#define b11111110 254 +#define b11111111 255 + + + +#endif /* _COMMON_BCONST_H */ |