[Назад] [Далее] Электронные издания на русском языке

5.4.2. Сравнение

Так как команда сравнения эквивалентна команде вычитания, кроме того, что она не изменяет значение приемника, можно было бы просто выполнять вычитание чисел повышенной точности и отбрасывать результат, но сравнение можно выполнить и более эффективным образом. В большинстве случаев для определения результата сравнения достаточно сравнить самые старшие слова (байты или двойные слова), и только если они в точности равны, потребуется сравнение следующих слов.

; Сравнение 96-битных чисел bigval_1 и bigval_2
        mov        eax,dword ptr bigval_1[8]
        cmp        eax,dword ptr bigval_2[8] ; сравнить старшие слова
        jg         greater
        jl         less
        mov        eax,dword ptr bigval_1[4]
        cmp        eax,dword ptr bigval_2[4] ; сравнить средние слова
        jg         greater
        jl         less
        mov        eax,dword ptr bigval_1
        cmp        eax,dword ptr bigval_2    ; сравнить младшие слова
        jg         greater
        jl         less
equal:
greater:
less: