I am using the Insight debugger on my 64-bit Mac-to-Linux computer.
This tells me that the result of mov ebx, 1739 is 0xcc00cccb in EBX. EAX gets 0x1bf as expected, but the result of the multiplication is also weird (when it should fit in a 32-bit register).
global _start _start: nop mov eax, 447 mov ebx, 1739 mul ebx nop
Please tell me what is going on. I could not even declare a database row without doing the same effect of adding multiple c in higher orders to any hex code created by any mov or mul command, depending on which register was declared first. I am using NASM assembler.
EDIT: My two terminal records for assembly and reference:
nasm -f elf -g -F stabs test.asm -l test.lst ld -o test test.o -melf_i386
source share