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



А теперь поставим перед собой задачу научиться сочетать функции, написанные на Си, и функции, написанные на ассемблере. Проще всего это сделать, подсмот­рев, как компилятор транслирует функцию на язык ассемблера. Разумеется, ка­ждый компилятор делает это по-своему, поэтому попробуем поработать с тем, что оказалось под рукой — компилятором Borland С++ версии 5.5. Г.

Поразрядные операции и адресация

Итоги арифметических операций оказывают воздействие на принадлежность 6 указателей. Солидная частица данных указателей будет проанализирована после исполнения арифметических процедур с участием процедур относительного перехода, и вдобавок с участием процедуры INTO (прерывание по заполнению). Действие арифметических команд на знаки изображено далее.

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

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


назад далее