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



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

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

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

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

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

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


назад далее