aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-h8300.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-h8300.c')
-rw-r--r--gas/config/tc-h8300.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index 21051e0..037a84c 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},