Ваш код перезаписывает регистр EAX, игнорируя принятую ветвь.
В случае (EAX> EBX) будет выполнен код:
mov eax, 0 // eax = 0
mov eax, 1 // eax = 1
В противном случае:
mov eax, 1 // eax = 1
Попробуйте вставить безусловный переход (переход) в код выхода непосредственно перед меткой «return1», чтобы исключить перезапись регистра EAX:
mov eax, 5
mov edx, 5
mov ebx, 11
add eax, edx
cmp eax, ebx
jg return1
mov eax, 0
jmp return2
return1:
mov eax, 1
return2: