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



Read ,16d . PackBuff поймет, что первого параметра нет, и потому не станет посылать его в регистр Ьх.

Как видите, макросы очень похожи на процедуры. У них, как и у процедур, есть параметры, а вызов макроса напоминает запуск процедур директивой Invoke. Но это сходство обманчиво. Ведь процедуры по-настоящему отделены от основной программы, они хранят параметры и свои локальные переменные в стеке. Мак­росы же только прикидываются процедурами, а на самом деле они принадлежат основной программе и могут быть источником ошибок. Кроме того, макросы вставляются в программу при каждом вызове, а потому занимают больше памя­ти. Но у макросов есть и преимущества: ими легче манипулировать, материал, из которого сделан макрос, более податлив. Кроме того, вызов процедуры требу­ет процессорного времени, чтобы сохранить в стеке передаваемые параметры. Макрос получает свои параметры сразу. Поэтому там, где требуется высокая скорость вычислений, лучше использовать макрос.

Команды АЛУ и адресация

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

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

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


назад далее