Руководство по ассемблеру



Листинг 14.1. Простая программа на языке Си

#include <stdio.h>

void xchg(int a.int b);

int main(){

int a-2. b-3;

xchg(&a.&b);

printf("a- d b- d\n",a.b); return 0:

void xchg(int a.int b){ int tmp; tmp«a; a»b: b«tmp;

}

Как и положено в языке Си, функция xchg получает два указателя на int.

Арифметико логические операции с присвоением флага

Результаты действительных операций воздействуют на принадлежность 7 знаков. Большая частица данных джокеров может быть рассчитана после выполнения циферных процедур с участием процедур относительного скачка, и вдобавок с помощью процедуры IN (перебой по переполнению). Действие действительных функций на указатели изображено внизу.

CF (флаг переноса): Ежели в результате сочинения осуществляется сдвиг из главного байта, знак трансдукции возводится; в другом случае символ переноса сбрасывается. При вычитании флаг свитча взводится, если свершается заимствование в главный разряд итога; при недоступности взятия знак обнуляется. Следует помнить, что при появлении симптоматичного свитча CF == VJ (знак пополнения). Символ свитча МО имеет возможность применяться для индикации неимеющего знака восполнения.

АО (знак дополнительного переноса): В случае если в результате суммирования осуществляется сдвиг из крайнего полубита в больший, флаг прибавочного переноса подымается; в противном случае знак обновляется. При вычете символ прибавочного сдвига взводится, ежели воплощается взятие из старшего полубайта в нижний; при отсутствии взятия флаг обновляется.


назад далее