Флаг переноса
Флаг переноса (CF) служит для поддержания процессором многоразряд-
ной арифметики. Обычно при выполнении арифметических операций вроде
сложения или вычитания 8088 может работать с не более чем
16-битовыми числами. Однако в некоторых случаях приходится
манипулировать с числами превышающими 2**16. Например, для сложения
двух 32-битовых чисел программе придется сложить сначала младшие
части чисел, а затем - старшие. На Фиг 3.11 показано сложение
32-битовых чисел 22223333H и 44445555H.
В этом примере складываются сначала младшие 16-битовые згначе-
ния с получением результата 8888H. Затем складываются старшие 16-
второе сложение первое сложение
---------------------------------------
2222 3333
4444 5555
---- ----
6666 8888 Фиг. 3.11
--------------------------------------- 32-битовое сложение
битовые значения с результатом 6666H. 32-битовый результат равен
66668888H. Для получения 32-битового результата требуется два
16-битовых сложения. Для 48-битового числа потребуется уже три
16-битовых сложения и т.д. Для выполнения сложения программа должна
расчленять каждое большое число на 16-бтовые куски.
Однако, приведенный пример достаточно прост. Результат первого
16-битового сложения не влиял на второе. В общем же случае сложения
возможен перенос из одной позиции в другую. Когда процессор
выполняет слоожение двух 16-битовых чисел, он автоматически выпол-
няет переносы. Когда же программа складывает два 32-битовых числа,
как в нашем примере, то ей приходится запоминать перенос в первом
сложении и использовать его при сложении вторых 16-битовых
значений. На Фиг. 3.12 показано сложение чисел 22224444H и
3333EEEEH. В этом примере перенос от первого сложения отражается на
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий