idiv делает переполнение с расширением знака - PullRequest
0 голосов
/ 29 мая 2018

Что здесь не так с IDV?Я устранил всех обычных подозреваемых;нет знака расширения и большого дивидендаНо все равно я получаю -2147483646 при попытке разделить 4 на 2.(Я также напечатал rax и rcx до деления, и их значения верны).

.intel_syntax noprefix

.data

outfmt: .asciz  "%d\n"
array:  .int 4,31,5,4

.text

.global main


main:

enter 0,0
xor rcx, rcx
inc rcx 
inc rcx

lea rdi, array
mov rax, [rdi]
cqto
idiv rcx    

lea rdi, outfmt
mov rsi, rax
call printf

leave
ret 
...