Assembler для начинающих



Команда деления - часть 3


    деление на число, отличное от нуля. В документации фирмы Intel это
    прерывание называется делением на нуль, хотя более точно его надо
    было бы назвать прерыванием по переполнению после деления).
 
      Деление целых чисел со знаком IDIV отличается от команды DIV
    только тем, что оно учитывает знаки обоих операндов. Если результат
    положителен, все происходит так же, как было описано для команды
    DIV, за исключением того, что максимальное значение частного
    соответственно равно 127 и 32767 для байтов и слов. Если результат
    отрицателен, частное усекается, а остаток имеет тот же знак, что и
    делимое. Минимальные значения частных для отрицательных результатов
    -128 и -32768 для байтов и слов.
 
      Делимое (AX)   Делитель(MOD-R/M)    Частное (AL)     Остаток(AH)
    ------------------------------------------------------------------
         7             2                 3                1
         7            -2                -3                1
        -7             2                -3               -1
        -7            -2                 3               -1
    ------------------------------------------------------------------
 
            Фиг. 4.15 Примеры деления со знаком
 
      На Фиг.  4.15 показаны четыре примера деления, а также
    полученные в них результаты.  Все примеры, приведенные здесь,
    байтовые, т.е.  делимое находится в регистре AX, а делитель
    указывается байтом mod=r/m.  Деление помещает частное в регистр AL,
    а остаток в регистр AH.  Заметим, что знак остатка всегда тот же,
    что и у делимого.  Значение частного всегда усекается в направлении
    нуля.



Содержание  Назад  Вперед