bits 64 SECTION .data ; empty SECTION .text global _start _start: %include "header.asm.inc" mov ax, -1 ; initialize with negative value (-1) mov ebx, eax ; ---> ebx = 0x0000ffff, i.e., positive! movsx ebx, ax ; ---> ebx = 0xffffffff, i.e., negative (-1) %include "sysexit.asm.inc"