[АК]ОС Консультация 1

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 5

  • @asfasfasfasf7028
    @asfasfasfasf7028 7 місяців тому

    24:19 но ведь одновременно два флага CF и OF могут выставиться, если произойдет отрицательное переполнение, например при операции -2^31 - 1 в случае 32 битной системы

    • @misha_filitov
      @misha_filitov  7 місяців тому

      Когда происходит знаковое переполнение, то с точки зрения беззнакового ничего не происходит. Рассмотрим 3х битовые числа. Табличка есть на википедии: en.wikipedia.org/wiki/Two%27s_complement
      Наименьшее число это -4, что в бинарном виде 100 (1 и все остальные нули). Если посмотреть на число, как на беззнаковое, то это будет 4.
      Если сделать -1, то в бинарном виде получится 011, что с точки зрения знакового будет 3 и переполнение, а для беззнакового это тоже будет 3, но никакого переполнения не случилось.

    • @asfasfasfasf7028
      @asfasfasfasf7028 7 місяців тому

      @@misha_filitov При операции -4-1 получится 3, то есть из отрицательного получили положительное, поэтому выставляется флаг OF. Затем, если посмотреть на эту операцию в двоичном виде 100+111, то у нас лишний бит появляется при сложении старших битов, поэтому флаг CF должен тоже выставиться. Процессору же неважно с какими числами мы работаем, отрицательными или положительными

    • @misha_filitov
      @misha_filitov  7 місяців тому

      @@asfasfasfasf7028 Да, согласен, неправильно сказал, спасибо!
      В предыдущем ответе имел в виду (-4) - (1) и инструкцию sub, однако при сложении с add (-4) + (-1) действительно будут оба флага

    • @asfasfasfasf7028
      @asfasfasfasf7028 7 місяців тому

      ​@@misha_filitov Вам спасибо за видео)