diff options
author | Nick Clifton <nickc@redhat.com> | 2003-04-24 12:36:08 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-04-24 12:36:08 +0000 |
commit | df7fb953931b765a3e65929a0ed308143a4b8850 (patch) | |
tree | 1c383e92ca73648963e6ec92dae8a5bbb38ad652 /gas/config | |
parent | 31461b76e229a942fe32c5a19088759c2d080469 (diff) | |
download | binutils-redhat-df7fb953931b765a3e65929a0ed308143a4b8850.tar.gz |
Add support for h8300hn and h8300sn
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-h8300.c | 31 | ||||
-rw-r--r-- | gas/config/tc-h8300.h | 3 |
2 files changed, 33 insertions, 1 deletions
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c index 21051e0a55..037a84ca2a 100644 --- a/gas/config/tc-h8300.c +++ b/gas/config/tc-h8300.c @@ -42,10 +42,13 @@ void cons PARAMS ((int)); void sbranch PARAMS ((int)); void h8300hmode PARAMS ((int)); void h8300smode PARAMS ((int)); +void h8300hnmode PARAMS ((int)); +void h8300snmode PARAMS ((int)); static void pint PARAMS ((int)); int Hmode; int Smode; +int Nmode; #define PSIZE (Hmode ? L_32 : L_16) #define DMODE (L_16) @@ -89,6 +92,32 @@ h8300smode (arg) } void +h8300hnmode (arg) + int arg ATTRIBUTE_UNUSED; +{ + Hmode = 1; + Smode = 0; + Nmode = 1; +#ifdef BFD_ASSEMBLER + if (!bfd_set_arch_mach (stdoutput, bfd_arch_h8300, bfd_mach_h8300hn)) + as_warn (_("could not set architecture and machine")); +#endif +} + +void +h8300snmode (arg) + int arg ATTRIBUTE_UNUSED; +{ + Smode = 1; + Hmode = 1; + Nmode = 1; +#ifdef BFD_ASSEMBLER + if (!bfd_set_arch_mach (stdoutput, bfd_arch_h8300, bfd_mach_h8300sn)) + as_warn (_("could not set architecture and machine")); +#endif +} + +void sbranch (size) int size; { @@ -111,7 +140,9 @@ pint (arg) const pseudo_typeS md_pseudo_table[] = { {"h8300h", h8300hmode, 0}, + {"h8300hn", h8300hnmode, 0}, {"h8300s", h8300smode, 0}, + {"h8300sn", h8300snmode, 0}, {"sbranch", sbranch, L_8}, {"lbranch", sbranch, L_16}, diff --git a/gas/config/tc-h8300.h b/gas/config/tc-h8300.h index 2da3f668ae..e09e506cd6 100644 --- a/gas/config/tc-h8300.h +++ b/gas/config/tc-h8300.h @@ -45,7 +45,7 @@ struct internal_reloc; #define TC_COFF_FIX2RTYPE(fixP) abort (); #define BFD_ARCH bfd_arch_h8300 -#define COFF_MAGIC ( Smode ? 0x8302 : Hmode ? 0x8301 : 0x8300) +#define COFF_MAGIC ( Smode && Nmode ? 0x8304 : Hmode && Nmode ? 0x8303 : Smode ? 0x8302 : Hmode ? 0x8301 : 0x8300) #define TC_COUNT_RELOC(x) (1) #define IGNORE_NONSTANDARD_ESCAPES @@ -92,5 +92,6 @@ extern void tc_reloc_mangle extern int Hmode; extern int Smode; +extern int Nmode; #define md_operand(x) |