cpu-i386.c revision 77298
1/* BFD support for the Intel 386 architecture.
2   Copyright 1992, 94, 95, 1996 Free Software Foundation, Inc.
3
4This file is part of BFD, the Binary File Descriptor library.
5
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19
20#include "bfd.h"
21#include "sysdep.h"
22#include "libbfd.h"
23
24const bfd_arch_info_type bfd_i386_arch_intel_syntax =
25{
26  32,	/* 32 bits in a word */
27  32,	/* 32 bits in an address */
28  8,	/* 8 bits in a byte */
29  bfd_arch_i386,
30  bfd_mach_i386_i386_intel_syntax,
31  "i386:intel",
32  "i386:intel",
33  3,
34  true,
35  bfd_default_compatible,
36  bfd_default_scan ,
37  0,
38};
39const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
40{
41  64, /* 64 bits in a word */
42  64, /* 64 bits in an address */
43  8,  /* 8 bits in a byte */
44  bfd_arch_i386,
45  bfd_mach_x86_64_intel_syntax,
46  "x86_64:intel",
47  "x86_64:intel",
48  3,
49  true,
50  bfd_default_compatible,
51  bfd_default_scan ,
52  &bfd_i386_arch_intel_syntax,
53};
54static const bfd_arch_info_type i8086_arch =
55{
56  32,	/* 32 bits in a word */
57  32,	/* 32 bits in an address (well, not really) */
58  8,	/* 8 bits in a byte */
59  bfd_arch_i386,
60  bfd_mach_i386_i8086,
61  "i8086",
62  "i8086",
63  3,
64  false,
65  bfd_default_compatible,
66  bfd_default_scan ,
67  &bfd_x86_64_arch_intel_syntax,
68};
69
70const bfd_arch_info_type bfd_x86_64_arch =
71{
72  64, /* 32 bits in a word */
73  64, /* 32 bits in an address */
74  8,  /* 8 bits in a byte */
75  bfd_arch_i386,
76  bfd_mach_x86_64,
77  "x86_64",
78  "x86_64",
79  3,
80  true,
81  bfd_default_compatible,
82  bfd_default_scan ,
83  &i8086_arch,
84};
85
86const bfd_arch_info_type bfd_i386_arch =
87{
88  32,	/* 32 bits in a word */
89  32,	/* 32 bits in an address */
90  8,	/* 8 bits in a byte */
91  bfd_arch_i386,
92  bfd_mach_i386_i386,
93  "i386",
94  "i386",
95  3,
96  true,
97  bfd_default_compatible,
98  bfd_default_scan ,
99  &bfd_x86_64_arch
100};
101