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



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

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

Адресация разрядов

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

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

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


назад далее