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