+ if (comm)
+ sprintf (comm, _("Error: read from memory failed"));
+ }
+
+ return FALSE;
+}
+
+static bfd_boolean
+msp430dis_opcode_unsigned (bfd_vma addr,
+ disassemble_info * info,
+ unsigned short * return_val,
+ char * comm)
+{
+ bfd_byte buffer[2];
+
+ if (msp430dis_read_two_bytes (addr, info, buffer, comm))
+ {
+ * return_val = bfd_getl16 (buffer);
+ return TRUE;
+ }
+ else
+ {
+ * return_val = 0;
+ return FALSE;
+ }
+}
+
+static bfd_boolean
+msp430dis_opcode_signed (bfd_vma addr,
+ disassemble_info * info,
+ signed int * return_val,
+ char * comm)
+{
+ bfd_byte buffer[2];
+
+ if (msp430dis_read_two_bytes (addr, info, buffer, comm))
+ {
+ int status;
+
+ status = bfd_getl_signed_16 (buffer);
+ if (status & 0x8000)
+ status |= -1U << 16;
+ * return_val = status;
+ return TRUE;
+ }
+ else
+ {
+ * return_val = 0;
+ return FALSE;