Cтраница 2
![]() |
Команды управления микропроцессором. [16] |
Команды STC ( set Carry flag - установить флаг переноса) и CLC ( clear Carry flag - обнулить флаг переноса) переводят флаг CF в состояния 1 и 0 соответственно. Они полезны для-установки нужного состояния флага CF перед исполнением команд циклического сдвига с флагом переноса RCL и RCR. Команда CMC ( complement Carry flag - обратить флаг переноса) переводит флаг CF в состояние О, если он имел состояние 1, и наоборот. [17]
Содержимое аккумулятора сдвигается на одну позицию вправо через бит флага переноса CY. Старший бит аккумулятора устанавливается равным флагу переноса, а флаг переноса - равным младшему биту аккумулятора. [18]
При этом в кольцо сдвига может входить или не входить флаг переноса. В бит флага переноса ( если он используется) записывается значение старшего бита при циклическом сдвиге влево и младшего бита при циклическом сдвиге вправо. [19]
Все операции вычитания выполняются через арифметическое дополнение до двух, причем флаг переноса устанавливается в состояние логической 1, если имеется заем, и сбрасывается, если займа не было. [20]
У микропроцессора 8088 есть команды условной передачи управления, которые проверяют состояния флагов переноса CF, четности PF, нуля ZF, знака SF и переполнения OF. В зависимости от результата проверки выполнение программы продолжается либо со следующей команды, либо с некоторой другой ячейки памяти. [21]
Если число, представленное четырьмя старшими битами аккумулятора, больше 9 или установлен флаг переноса CY, то число 6 добавляется к числу, образованному четырьмя старшими битами аккумулятора. [22]
Содержимое ячейки памяти, адрес которой содержится в регистрах Н, L, и бит флага переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор. [23]
Содержимое ячейки памяти, адрес которой указан в регистрах H, L, и содержимое бита флага переноса складываются с содержимым аккумулятора. Результат помещается в аккумулятор. [24]
![]() |
Регистр состояния процессора 8086. [25] |
Из его 16 разрядов используются только девять ( рис. 3.11): CF ( Carry Flag) - флаг переноса при арифметических операциях, PF ( Parity Flag) - флаг четности результата, AF ( Auxiliary Flag) - флаг дополнительного переноса, ZF ( Zero Flag) - флаг нулевого результата, SF ( Sign Flag) - флаг знака ( совпадает со старшим битом результата), TF ( Trap Flag) - флаг пошагового режима ( используется при отладке), IF ( Interrupt-enable Flag) - флаг разрешения аппаратных прерываний, DF ( Direction Flag) - флаг направления при строковых операциях, OF ( Overflow Flag) - флаг переполнения. [26]
![]() |
Команды управления микропроцессором. [27] |
Команды STC ( set Carry flag - установить флаг переноса) и CLC ( clear Carry flag - обнулить флаг переноса) переводят флаг CF в состояния 1 и 0 соответственно. Они полезны для-установки нужного состояния флага CF перед исполнением команд циклического сдвига с флагом переноса RCL и RCR. Команда CMC ( complement Carry flag - обратить флаг переноса) переводит флаг CF в состояние О, если он имел состояние 1, и наоборот. [28]
![]() |
Переполнение при вычитании Xj. [29] |
При выполнении команды сложения с переносом к младшему разряду суммы, полученной в результате обычного сложения, добавляется значение флага переноса С ( 0 или 1), которое он имел до исполнения команды. Эта команда необходима при сложении чисел, разрядность которых превышает разрядность аккумулятора. [30]