Х > 0, Y < 0 и Х + Y < 0.
Здесь действие [Х]дк + [Y]дк = X + (2 + Y) = 2 + (X + Y) дает правильный результат без коррекции.
Х < 0, Y < 0 и |Х + Y| < 1.
[Х]дк+ [Y]дк = (2 + Х) + (2 + Y) = 2 + 2 + X + Y ,
получаем результат, который отличается от правильного
[(X + Y) < 0]дк = 2 + (X + Y) на 2.
Необходима и здесь коррекция, рассмотренная в случае 2, то есть вычитание 2 из предварительного результата (исключение в нем единицы с весом 21).
46.Программные прерывания и особые случаи.
Прерывание - это изменение естественного порядка выполнения программы, которое связано с необходимостью реакции системы на работу внешних устройств, а также на ошибки и особые ситуации, возникшие при выполнении программы. При этом вызывается специальная программа - обработчик прерываний, специфическая для каждой возникшей ситуации, после выполнения которой возобновляется работа прерванной программы.
Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.
Программные прерывания, строго говоря, называются исключениями или особыми случаями. Они связаны с особыми ситуациями, возникающими при выполнении программы (отсутствие страницы в оперативной памяти, нарушение защиты, переполнение), то есть с теми ситуациями, которые программист предвидеть не может, либо с наличием в программе специальной команды INT n, которая используется программистом для вызова функций операционной системы либо BIOS, поддерживающих работу с внешними устройствами. В дальнейшем при обсуждении работы системы прерываний мы будем употреблять единый термин "прерывание" для аппаратных прерываний и исключений, если это не оговорено особо.
Достарыңызбен бөлісу: |