aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1997-01-17 03:53:46 +0000
committerFred Fish <fnf@specifix.com>1997-01-17 03:53:46 +0000
commitac5f447d6030603c2d859d10945bbde18640551d (patch)
tree516a61d80eec6421470164d95959d05ff04f07c5 /include/opcode
parent3391c0a53c475a80101fc4aee9f130be1415774e (diff)
downloadgdb-ac5f447d6030603c2d859d10945bbde18640551d.zip
gdb-ac5f447d6030603c2d859d10945bbde18640551d.tar.gz
gdb-ac5f447d6030603c2d859d10945bbde18640551d.tar.bz2
* tic80.h (struct tic80_opcode): Change "format" field to "flags".
(FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete. (TIC80_VECTOR): Define a flag bit for the flags. This one means that the opcode can have two vector instructions in a single 32 bit word and we have to encode/decode both.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/ChangeLog15
-rw-r--r--include/opcode/tic80.h26
2 files changed, 28 insertions, 13 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 095a58a..aaccd06 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,4 +1,19 @@
start-sanitize-tic80
+Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (struct tic80_opcode): Change "format" field to "flags".
+ (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
+ (TIC80_VECTOR): Define a flag bit for the flags. This one means
+ that the opcode can have two vector instructions in a single
+ 32 bit word and we have to encode/decode both.
+
+Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_PCREL): Renamed from
+ TIC80_OPERAND_RELATIVE for PC relative.
+ (TIC80_OPERAND_BASEREL): New flag bit for register
+ base relative.
+
Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com>
* tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
diff --git a/include/opcode/tic80.h b/include/opcode/tic80.h
index ef59ba8..58d3354 100644
--- a/include/opcode/tic80.h
+++ b/include/opcode/tic80.h
@@ -41,10 +41,9 @@ struct tic80_opcode
unsigned long mask;
- /* The format of this opcode. I.E. short-immediate, register, long
- immediate, etc. FIXME: Will this ever be used? */
+ /* Special purpose flags for this opcode. */
- unsigned char format;
+ unsigned char flags;
/* An array of operand codes. Each code is an index into the operand
table. They appear in the order which the operands must appear in
@@ -147,9 +146,10 @@ extern const struct tic80_operand tic80_operands[];
prints these with a leading 'a'. */
#define TIC80_OPERAND_FPA (020)
-/* This operand is a relative branch displacement. The disassembler
- prints these symbolically if possible. */
-#define TIC80_OPERAND_RELATIVE (040)
+/* This operand is a PC relative branch offset. The disassembler prints
+ these symbolically if possible. Note that the offsets are taken as word
+ offsets. */
+#define TIC80_OPERAND_PCREL (040)
/* This flag is a hint to the disassembler for using hex as the prefered
printing format, even for small positive or negative immediate values.
@@ -180,13 +180,13 @@ extern const struct tic80_operand tic80_operands[];
/* This operand is a floating point value */
#define TIC80_OPERAND_FLOAT (010000)
-/* Values which go in the struct tic80_opcode format field to distinguish
- between various types of instructions with the same mnemonic. FIXME: Not
- currently used? */
+/* This operand is an byte offset from a base relocation. The lower
+ two bits of the final relocated address are ignored when the value is
+ written to the program counter. */
+#define TIC80_OPERAND_BASEREL (020000)
-#define FMT_UNUSED 0 /* Unused */
-#define FMT_SI 1 /* Short immediate format */
-#define FMT_LI 2 /* Long immediate format */
-#define FMT_REG 3 /* Register format */
+/* Flag bits for the struct tic80_opcode flags field. */
+
+#define TIC80_VECTOR 1 /* Is a vector instruction */
#endif /* TIC80_H */