Top.Mail.Ru
Ответы

Почему в 32 битном режиме получается правильный ответ, а в 64 битном - нет?

123456789101112131415161718
     format PE console
    entry main
    section '.text' executable
    use64
main:
    mov  rax, 2
    imul rax, 3
    mov  rbx, 5
    add  rbx, rax
    mov  rax, 4
    sub  rax, 1
    mov  rcx, 6
    add  rcx, 2
    mov  rdx, rax
    imul rdx, rcx
    mov  rax, rbx
    sub  rax, rdx
    ret  

данный 64 битный код выдает 13.

123456789101112131415161718
     format PE console 
    entry main 
    section '.text' executable 
    use32  
main:  
    mov  eax, 2 
    imul eax, 3 
    mov  ebx, 5 
    add  ebx, eax 
    mov  eax, 4 
    sub  eax, 1 
    mov  ecx, 6 
    add  ecx, 2 
    mov  edx, eax 
    imul edx, ecx 
    mov  eax, ebx 
    sub  eax, edx
    ret  

а этот 32 битный код выдает -13.

По дате
По рейтингу
Аватар пользователя
Мыслитель
9мес

из-за переполнения данных, возможно