Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию