Вопрос про idiv

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ShkiperLol, 13 Dec 2010.

  1. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    У меня вопрос поповоду результата работы инструкции idiv.
    eax=53
    ecx=A

    Вот скажите пожалуйста!Почему после выпонения инструкции:idiv ecx,в регистре edx появляеться остаток от деления=3.
    Тоесть после выполнения инструкции
    eax=8
    edx=3

    Откуда взялось 3?если поделить 53 на A то будет просто 8 без остатка?
     
  2. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    ShkiperLol,
    0x53 / 0x0A = 0x08 ( виндовый калькулятор не показывает остаток)
    0x0A * 0x08 = 0x50
    0x53 - 0x50 = 0x03

    В том же калькуляторе сделай 0x53 mod 0x0A.
     
  3. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    bad_boy спасибо!