|
From: Pavel R. <pr...@gn...> - 2003-10-13 22:12:31
|
On Mon, 13 Oct 2003, Geert Fannes wrote: > hello, > > i have a C++ program that exits with the message "Illegal instruction". > when i let valgrind do its work, it says: > > disInstr: unhandled instruction bytes: 0xE0 0x6E 0x40 0x80 > Illegal instruction > > any idea where i have to start searching? Perhaps on Google :-) According to http://www.ni.bekkoame.ne.jp/bilyzkid/us/cpu.htm, instruction 0xE0 is LOOPZ. According to http://courses.ece.uiuc.edu/ece291/archive/fall2001/books/labmanual/inst-ref-loop.html, LOOPNZ jumps only if the counter is nonzero and the zero flag is clear. Not look at the file vg_to_ucode.c, where the error message is printed. Indeed, its doesn't seem to implement this instruction. Look for "case 0xE3:" - that's a similar instruction JCXZ, and just below is LOOP (0xE2). LOOPNZ should be a hybrid of them :-) -- Regards, Pavel Roskin |