Assembler для начинающих

Сравнение


    Команда сравнения CMP сравнивает два числа, вычитая одно из
    другого.  Она не записывает результат, но флаги состояния
    устанавливает в соответствии с результатом.  Эта команда изменяет
    только флаги.  В программе команда сравнения используется так же,
    как и команда вычитания; однако команды сравнения с заемом не
    существует.
 
      Сравнение с повышенной точностью требует чуть больше усилий,
    чем сравнение байтов или слов. Фактически в этих случаях много
    проще использовать команду вычитания вместо команды сравнения. На
    Фиг. 4.11 показано сравнение пары 32=битовых чисел в памяти с
    использованием регистра AX в качестве области временного хранения.


    Это сравнение определяет, какое из чисел больше. Программа в
    результате своего выполнения устанавливает коды условия. Флаг
    переноса определяет, какое из чисел больше: если флаг равен 1,
    число VALUE больше.
 
      Вторая программа на Фиг. 4.11 проверяет два 32=битовых числа на
    равенство. Программа сохраняет младший результат, а затем
    комбинирует его со старшим, и таким образом выясняет
    эквивалентность результата нулю. Команда OR описана в следующем
    разделе, а здесь существенно то, что она комбинирует два значения
    так, что окончательное значение равно 0 тогда и только тогда, когда
    оба исходных значения равны 0. Результат этой подпрограммы
    сравнения - значение флага нуля; если он равен 1, числа равны.

          Microsoft (R) Macro Assembler Version 5.00              1/1/80 04:00:59
          Фиг. 4.11 Сравнение чисел заданных с повышенной точностью     Page  1-1
 
 
                                        PAGE    ,132
                                        TITLE   Фиг. 4.11 Сравнение чисел заданных с повышенной точностью
           0000                   CODE    SEGMENT
                                        ASSUME  CS:CODE,DS:CODE
 
           0000  ????????               VALUE1  DD        ?     ; Область данных размером 32 разряда



Содержание раздела