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



IF и директивой .ELSE. Если же digit не равно нулю, выполняется вторая ветвь между .ELSE и .ENDIF. Число ветвей легко мож­но увеличить, используя еще одну директиву .ELSEIF:


Каждая ветка выполняется лишь когда <условие> истинно, и только послед! .ELSE служит «сборщиком мусора»: в эту ветку попадает все, что прошло сквс частокол условий .IF <> и .ELSEIF <>:

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

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

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

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


назад далее