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



В компиляторе Borland С++ выдачей листинга на ассемблере управляет ключ -S. Чтобы получить этот листинг, сохраним функцию в отдельном файле xchg.с

void xchgdnt a.int b){

int tmp;

tmp-a:

a-b; ^ b«tmp;

и запустим из оболочки FAR компилятор:

Ьсс32 -с -S xchg.с

Ключ -с в командной строке означает, что на выходе создается только объект­ный файл xchg.ob], компоновщик не запускается. А ключ -S командует компиля­тору создать ассемблерный листинг функции.

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

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

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

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


назад далее