]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - include/opcode/moxie.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / include / opcode / moxie.h
index 0035f5f7571a3d58efee9ee24703c99ee9e279c4..e217c0cacdfa64c5029b007725a1bb3bbce78975 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for decoding the moxie opcode table.
-   Copyright 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009-2021 Free Software Foundation, Inc.
    Contributed by Anthony Green (green@moxielogic.com).
 
    This program is free software; you can redistribute it and/or modify
@@ -28,8 +28,8 @@
     Some use B and an indirect A                    (MOXIE_F1_AiB)
     Some use A and an indirect B                    (MOXIE_F1_ABi)
     Some consume a 4 byte immediate value and use X (MOXIE_F1_4A)
-    Some use B and an indirect A plus 4 bytes       (MOXIE_F1_AiB4)
-    Some use A and an indirect B plus 4 bytes       (MOXIE_F1_ABi4)
+    Some use B and an indirect A plus 2 byte offset (MOXIE_F1_AiB2)
+    Some use A and an indirect B plus 2 byte offset (MOXIE_F1_ABi2)
 
   Form 2 instructions also come in different flavors:
 
@@ -38,7 +38,8 @@
 
   Form 3 instructions also come in different flavors:
 
-    Some have no arguments                          (MOXIE_F3_NARG).  */
+    Some have no arguments                          (MOXIE_F3_NARG)
+    Some have a 10-bit PC relative operand          (MOXIE_F3_PCREL).  */
 
 #define MOXIE_F1_NARG 0x100
 #define MOXIE_F1_A    0x101
 #define MOXIE_F1_AiB  0x106
 #define MOXIE_F1_ABi  0x107
 #define MOXIE_F1_4A   0x108
-#define MOXIE_F1_AiB4 0x109
-#define MOXIE_F1_ABi4 0x10a
+#define MOXIE_F1_AiB2 0x109
+#define MOXIE_F1_ABi2 0x10a
 #define MOXIE_F1_M    0x10b
 
 #define MOXIE_F2_NARG 0x200
 #define MOXIE_F2_A8V  0x201
 
-#define MOXIE_F3_NARG 0x300
+#define MOXIE_F3_NARG  0x300
+#define MOXIE_F3_PCREL 0x301
+
+#define MOXIE_BAD     0x400
 
 typedef struct moxie_opc_info_t
 {
@@ -65,6 +69,6 @@ typedef struct moxie_opc_info_t
   const char *  name;
 } moxie_opc_info_t;
 
-extern const moxie_opc_info_t moxie_form1_opc_info[64];
+extern const moxie_opc_info_t moxie_form1_opc_info[128];
 extern const moxie_opc_info_t moxie_form2_opc_info[4];
-extern const moxie_opc_info_t moxie_form3_opc_info[4];
+extern const moxie_opc_info_t moxie_form3_opc_info[16];