2011-12-14 3 views
0

Я не понял, когда установлен флаг знака, а также когда четность.Сборка - флаг знака и флаг четности

Как я знаю, флаг знака указывает знак результата операции, 0 для положительных чисел и 1 для отрицательных чисел.

Так почему в следующем коде:

mov al, -5 
sub al, 124 

КФ равна нулю? Результатом является отрицательное число.

О PF, Почему в a и b установлен PF?

a) sub al, al. 

b) mov al, 127 
    add al, 129 

ответ

4

Код

mov al, -5 
sub al, 124 

256-5-124 вычисляет. Это 127, и это положительное число

Оба sub al, al и 127+129 оценивают в 0, он имеет 0 бит, а 0 - четное значение, поэтому установлен PF.

0

Максимальное число, которое вы можете представить в 8 бит, равно 2^8-1, что составляет 255 , так как 127 + 129 = 256, al будет содержать 0 и флаги: CF PF AF ZF IF будет установлен, PF - как указано выше, потому что PF устанавливается тогда и только тогда, когда количество бит установлено четным.