taylor@THINK.COM (06/01/89)
[I sent this once before, but as near as I can tell it didn't reach the
mailing list/news group. So here it is again. My apologies if this is
a repeat.]
I don't have a merlin, but I recently needed to disassemble some ns32k
code and using the merlin config option to gdb seemed the quickest
approach. Doing so, I found a few bugs -- a syntax error in m-merlin.h
and both some instructions missing from ns32k-opcode.h and some
incorrect opcodes. Also, rett takes an argument. Here are the changes.
RCS file: RCS/m-merlin.h,v
retrieving revision 1.1
diff -c1 -r1.1 m-merlin.h
*** /tmp/,RCSt1a10032 Mon May 29 21:02:59 1989
--- m-merlin.h Sat May 27 04:39:48 1989
***************
*** 378,380 ****
set_current_frame (create_new_frame (read_register (FP_REGNUM),\
! read_pc ()));
}
--- 378,380 ----
set_current_frame (create_new_frame (read_register (FP_REGNUM),\
! read_pc ())); \
}
===================================================================
RCS file: RCS/ns32k-opcode.h,v
retrieving revision 1.1
diff -c1 -r1.1 ns32k-opcode.h
*** /tmp/,RCSt1a10032 Mon May 29 21:03:00 1989
--- ns32k-opcode.h Mon May 29 21:01:16 1989
***************
*** 121,122 ****
--- 121,123 ----
{ "checkd", 11,24, 0x3ee, "2A3D1r" },
+ { "cinv", 15,24, 0x271e, "2D1q" },
{ "cmpf", 14,24, 0x09be, "1F2F" },
***************
*** 143,146 ****
{ "deib", 14,24, 0x2cce, "1B2W" },
! { "deiw", 14,24, 0x2cce, "1W2D" },
! { "deid", 14,24, 0x2cce, "1D2Q" },
{ "dia", 8,8, 0xc2, "" },
--- 144,147 ----
{ "deib", 14,24, 0x2cce, "1B2W" },
! { "deiw", 14,24, 0x2dce, "1W2D" },
! { "deid", 14,24, 0x2fce, "1D2Q" },
{ "dia", 8,8, 0xc2, "" },
***************
*** 211,214 ****
{ "movmb", 14,24, 0x00ce, "1D2D3d" },
! { "movmw", 14,24, 0x00de, "1D2D3d" },
! { "movmd", 14,24, 0x00fe, "1D2D3d" },
{ "movqb", 7,16, 0x5c, "2B1q" },
--- 212,215 ----
{ "movmb", 14,24, 0x00ce, "1D2D3d" },
! { "movmw", 14,24, 0x01ce, "1D2D3d" },
! { "movmd", 14,24, 0x03ce, "1D2D3d" },
{ "movqb", 7,16, 0x5c, "2B1q" },
***************
*** 259,261 ****
{ "reti", 8,8, 0x52, "" },
! { "rett", 8,8, 0x42, "" },
{ "rotb", 14,24, 0x004e, "1B2B" },
--- 260,262 ----
{ "reti", 8,8, 0x52, "" },
! { "rett", 8,8, 0x42, "1d" },
{ "rotb", 14,24, 0x004e, "1B2B" },
***************
*** 281,283 ****
{ "setcfg", 15,24, 0x0b0e, "5D1q" },
! { "sfsr", 14,24, 0x673e, "5D1D" },
{ "skpsb", 16,16, 0x0c0e, "1i" },
--- 282,284 ----
{ "setcfg", 15,24, 0x0b0e, "5D1q" },
! { "sfsr", 14,24, 0x373e, "5D1D" },
{ "skpsb", 16,16, 0x0c0e, "1i" },
***************
*** 320,321 ****
--- 321,333 ----
{ "xord", 6,16, 0x3b, "1D2D" },
+
+ #if defined(NS32381)
+ { "dotf", 14,24, 0x0dfe, "1F2F" },
+ { "dotl", 14,24, 0x0cfe, "1L2L" },
+ { "logbf", 14,24, 0x15fe, "1F2F" },
+ { "logbl", 14,24, 0x14fe, "1L2L" },
+ { "polyf", 14,24, 0x09fe, "1F2F" },
+ { "polyl", 14,24, 0x08fe, "1L2L" },
+ { "scalbf", 14,24, 0x11fe, "1F2F" },
+ { "scalbl", 14,24, 0x10fe, "1L2L" },
+ #endif
}; /* notstrs */
David
--
David Taylor
taylor@think.com, ...!think!taylor