Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Директива ЕХIТМ
Рассмотрим еще одну директиву макроязыка: ЕХIТМ У этой директивы нет операндов. Ее можно использовать только внутри макроопределений и блоков повторения, т. е. внутри конструкций макроязыка, оканчивающихся директивой ЕNDМ. Встретив директиву ЕХIТМ, макрогенератор завершает обработку ближайшего объемлющего макроопределения или блока повторения. Например, при макроопределении A MACRO K RЕРТ К DB 0 ЕХIТМ ENDM DW? ЕNDМ Макрокоманда А 5 будет заменена на следующий текст: DW 0 DW? Здесь макрогенератор, создавая первую копию тела блока повторения, перенесет предложение DВ 0 в макрорасширение, а затем, встретив ЕХIТМ, полностью завершит обработку этого блока, но не покинет тело макроса - он "перескочит" за ближайшую директиву ЕNDM, т. е. на предложение DW?. Более содержательные примеры на директиву ЕХITМ будут приведены позже (они требуют знания условных директив). Пока лишь отметим, что эта директива используется тогда, когда при выполнении некоторого условия надо досрочно (не доходя до ЕNDМ) прекратить макроподстановку или "раскрутку" блока повторения.
Переопределение и отмена макросов В отличие от других объектов программы на ЯА, макросы можно переопределить или уничтожить. Если в тексте программы описать макрос с именем, которым ранее был обозначен другой макрос, то с этого момента прежний макрос считается уничтоженным, а новый макрос - действующим. Например: A MACRO X INC X ENDM A CX à INC CX A MACRO Y,Z CMP Y, 0 JE Z ENDM A BH, EQ à CMP BH,0 JE EQ Макрос можно и просто уничтожить, не определяя новый макрос с тем же именем, для чего надо воспользоваться следующей директивой: РURGE <имя макроса> {,<имя макроса>} После этой директивы все макросы, имена которых в ней перечислены, считаются несуществующими. Например, после директивы PURGE A, ININT к макросам А и ININТ уже нельзя обращаться.
Date: 2015-10-21; view: 332; Нарушение авторских прав |