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.
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
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.
/* 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 */