Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Использование библиотек макроопределений




6.1. Составить в текстовом редакторе следующую программу в ЕХЕ-формате:

 

.286

TITLE MACRO6 (EXE) Проверка директивы INCLUDE

;--------------------------------------------

INCLUDE D:MACRO.LIB

;--------------------------------------------------------

STAC SEGMENT PARA 'Stac'

DW 32 DUP(?)

STAC ENDS

;---------------------------------------------------

DATA SEGMENT PARA 'Data'

MESSGE DB 'Test of macro','$'

DATA ENDS

;---------------------------------------------------

CSEG SEGMENT PARA 'Code'

BEGIN PROC FAR

INIT CSEG,DATA,STAC;Макрокоманда

PROMPT MESSGE

RET

BEGIN ENDP

CSEG ENDS

END BEGIN

 

Программа содержит директивы IF1, INCLUDE и ENDIF. В LST-файл ассемблер выводит только директиву ENDIF. Обе макрокоманды в кодовом сегменте INIT и PROMPT закатологизированы в файле MACRO.LIB, т.е. просто записаны друг за другом на дисковый файл по имени MACRO.LIB с помощью текстового редактора.

Расположение директивы INCLUDE не критично, но она должна появиться ранее любой макрокоманды из включаемой библиотеки.

6.2. Записать с помощью текстового редактора библиотечный файл MACRO.LIB:

 

INIT MACRO CSNAME,DSNAME,SSNAME

ASSUME CS:CSNAME,DS:DSNAME

ASSUME SS:SSNAME,ES:DSNAME

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSNAME

MOV DS,AX

MOV ES,AX

ENDM;Конец макрокоманды

PROMPT MACRO MESSAGE

; Макрокоманда выводит на экран любые сообщения

;; Генерирует команды вызова DOS

MOV AH,09;Вывод на экран

LEA DX,MESSAGE

INT 21H

ENDM

 

6.3. Выполнить ассемблирование и компоновку программы. Запустить программу из панели NORTON. Просмотреть листинг программы и записать его в отчет.

 

7. Конкатенация (&).

7.1. Ввести в текстовый редактор файл fcbcre.asm из библиотеки ASMLIB. Выполнить ассемблирование и компоновку программы этого файла, запустить загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.

7.2. Ввести в файл директиву:

 

INCLUDE D:macro.lib

 

Заменить блок команд:

 

ASSUME.................

.................

.................

MOV ES,AX

 

на макрокоманду:

 

INIT CODESG,DATASG,STACKSG

 

Заменить команду REP STOSW в процедуре D10PROC на макрокоманду:

 

STOE W

 

Стереть в файле macro.ib макрокоманду PROMPT. Ввести в файл macro.ib макрокоманду:

 

STOE MACRO TAG

REP STOS&TAG

ENDM

7.3. Выполнить ассемблирование и компоновку программы fcbcre.asm. Запустить программу из панели NORTON. Просмотреть листинг программы и записать его в отчет.

 

8. Директивы повторения: REPT, IRP, IRPC.

8.1. Ввести в текстовый редактор файл allasc.asm из библиотеки ASMLIB. Выполнить ассемблирование и компоновку программы этого файла, запустить загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.

8.2.Изменить процедуру D10DISP в файле allasc.asm следующим образом:

 

D10DISP PROC

MOV CX,256;256 итераций

D20: REPT 5

LEA DX,CTR;Адрес счетчика D20

MOV AH,09;Ф-ция вывода символа





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 454 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2551 - | 2215 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.