Затык с понятием «overflow»

Тема в разделе "WASM.BEGINNERS", создана пользователем aptyp, 13 май 2010.

  1. aptyp

    aptyp Member

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    81
    Booster, насчёт корректного это я вот про свой последний пример говорил
    01000000b
    +01000000b
    =10000000b OF=1

    Опять же если на данный пример (в данном посте) посмотреть, можно заметить, что результат двух положительных чисел (для процессора понятно нет ни положительных ни отрицательных), полностью помещается в тех же 8 битах, ни за какие пределы он не выходит. Зачем поднимается OF в данном случае?
     
  2. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    aptyp
    Знаковый результат _не помещается_ в отведённых разрядах. Для представления числа со знаком 128 требуется как минимум 9 битов, а не 8.
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Код (Text):
    1.   0111 1111   = +127
    2. +
    3.   0000 0000   = +1
    4.   ---------
    5.   1000 0000   = -128
     
  4. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    тьфу, второе слагаемое = 0000 0001, конечно. Какой дебил отменил редактирование?..
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    aptyp
    Ну так какой бы ни был пример, везде "и так понятно".
    В общем, в данном случае в Ваших же интересах, чтобы в этой теме перестали отвечать. Медитируйте над уже имеющимися ответами. Вон, терпение leo уже явно на исходе... На Ваш последний пост он в лучшем случае деликатно промолчит. :)
     
  6. aptyp

    aptyp Member

    Публикаций:
    0
    Регистрация:
    17 сен 2008
    Сообщения:
    81
    Уже вижу ответ. Спасибо. Надеюсь больше не затуплю. :)
     
  7. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Код (Text):
    1. 0000'0000..0111'1111b = 0..127   = pos
    2. 1000'0000..1111'1111b = -128..-1 = neg
    3.  
    4. mov     al,0111'1111b ;скушал человек
    5. add     al,al         ;скушал еще, не влезло, офигел(OF=1) и полетела стружка
    закономерность такая и все, словно число 3.1416
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    aptyp
    Интересно чем это принципиально отличается от? :)
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    aptyp
    Опять двадцать пять, ему о том что процессор понимает знаковые числа и соответствующим образом реагирует на их переполнение, а он постоянно в отказ.
     
  10. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Booster
    Тем, что я пробелами разбил на тетрады, и стало хорошо видно, что в байт не влазит :)))