Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
IRР-блоки
Блоки повторения этого типа имеют следующий вид: IRP p,<v1,.... vk> <тело> ENDM (Замечание: уголки в записи <v1,...,vk> - это явно указываемые символы, а не метасимволы.) Здесь р - некоторое имя, оно играет роль формального (фиктивного) параметра и может использоваться в предложениях тела. vi - это фактические параметры; это любые тексты (возможно, и пустые), но, чтобы не было путаницы, они должны быть сбалансированы по кавычкам и не должны содержать запятые, точки с запятой и уголки вне кавычек Параметры vi перечисляются через запятую, а вся их совокупность обязательно заключается в угловые скобки.Встречая такой блок, макрогенератор заменяет его на k копий тела (по одной на каждый фактический параметр), причем в i -й копии все вхождения имени р заменяются на vi. Например:
IRP REG,<AX,CX SI> PUSH AX PUSH REG à PUSH CX ENDM PUSH SI Отметим, что формальный параметр локализуется в теле блока (им нельзя пользоваться вне блока) и может быть любым именем. Если оно совпадает с именем другого объекта программы, то в теле блока оно обозначает именно параметр, а не этот объект. Например, в блоке IRP BX,<1,5> ADD AX,BX ENDM имя ВХ обозначает параметр, а не регистр, поэтому по данному блоку будет построен следующий фрагмент окончательной программы: ADD AX,1 ADD AX,5 Замены формального параметра на фактические - это чисто текстуальные подстановки, без учета смысла: просто один участок текста (р) заменяется на другой (vi). При этом параметром р можно обозначить любую часть предложения (в частности, участки комментария) или даже целиком все предложение (однако два и более предложений он не может обозначать), лишь бы после замены р на vi получались правильные предложения ЯА. Например: IRP Q,<DEC WORD PTR, L: INC> DEC WORD PTR W Q W JMP M2 JMP M2 à L: INC W ENDM JMP M2 Отметим также, что в теле блока повторения заменяется только формальный параметр, другие имена (например, имена констант) переносятся в копии тела без изменений. Например: N EQU 1 à N EQU 1 IRP P,<A,B> A EQU N (но не A EQU 1) P EQU N B EQU N
Date: 2015-10-21; view: 380; Нарушение авторских прав |