Insight debugger shows wrong values in registers

272 Views Asked by At

I'm using the Insight debugger on my 64-bit Mac-to-Linux computer.

It's telling me that the result of mov ebx, 1739 is 0xcc00cccb in EBX. EAX gets 0x1bf as expected, but the multiply result is also weird (when it should fit into a 32-bit register).

global  _start          

_start:

nop     

    mov eax, 447
    mov ebx, 1739
    mul ebx

nop 

Please, somebody tell me what is going on. I couldn't even declare a databyte string without it doing a similar effect of adding several c's at higher-order nibbles to any hexadecimal produced by any mov or mul instruction, to whichever register is declared first. I use the NASM assembler.

EDIT: My two terminal entries to assemble and link are:

nasm -f elf -g -F stabs test.asm -l test.lst
ld -o test test.o -melf_i386
1

There are 1 best solutions below

30
On

It turns out for anyone who might be running Ubuntu 16.04 LTS that if you made the attempt to "get back" Insight which was removed from this Ubuntu's default application set, by way of the method suggested on a blog post: http://www.dalfonso.co/blog/2016/04/23/setting-insight-debugger-on-ubuntu-16-04-lts/, you will not actually be getting the application you were hoping for. It has missing pieces.

On the surface (interface), this may appear to work, but it may be only doing patchwork which doesn't fully regenerate the app.

The real reason has everything to do with an inner malfunction of my computer somewhere which, for unknown reasons, could not allocate values to registers correctly if the folder name in which the assembly files were kept was named "assembly".