Краткие теоретические сведения icon

Краткие теоретические сведения




Скачати 22.49 Kb.
НазваКраткие теоретические сведения
Дата03.08.2012
Розмір22.49 Kb.
ТипЛабораторная работа

ЛАБОРАТОРНАЯ РАБОТА N 11


Макроопределения. Создание .COM-программы

Краткие теоретические сведения

Макроопределения


Макроопределения (макрокоманды) представляют собой последовательность операторов на языке ассемблера, которая будет заменять повсюду в программе имя данного макроопределения.

Макроопределение задается с помощью директивы MACRO...ENDM.

Структура макроопределения:

---- -----------------------------

[ИМЯ] macro [список_формальных_параметров]

L---- L-----------------------------

----------------------

тело_макроопределения

L----------------------

endm


Макроопределение как и процедура дает возможность краткой ссылки на часто используемую последовательность команд. Однако между макроопределением и процедурой имеется существенное различие: при обнаружении в программе имени процедуры ей передается управление. Поэтому код процедуры сохраняется в единственном экземпляре. В то же время Ассемблер при трансляции каждый раз, когда встречает имя макроопределения, заменяет его кодом макроопределения.

Макроопределения можно задавать в том же исходном файле, что и программа, которая их использует, либо в другом файле - библиотеке макроопределений. Если макроопределение не входит в библиотеку, то оно должно находиться в программе до определения сегментов.

Пример

Вычислить y=d1 ^c1 - d2^c2 с использованием

макроопределения stp, c1 - однобайтовые данные, rm1 - слово.

.model small

.stack 30

.data

d1 db 5

c1 db 3

d2 db 3

c2 db 4

.data?

y1 dw ?

.code

stp macro dm1,cm1,rm1

local M1

push ax

push cx

push bx

mov cl,cm1

mov ch,0

mov al,1

mov bl,dm1

M1: mul bl

loop M1

mov rm1,ax

pop bx

pop cx

pop ax

endm

.startup

stp d1,c1,y1 ; 7D

mov ax,y1

stp d2,c2,y1 ; 51

sub ax,y1 ; 2C

mov y1,ax

.exit 0

end


Библиотека макроопределений - это дисковый файл, который содержит исходные тексты макроопределений. Для считывания библиотеки в исходную программу на ассемблере необходимо ее подключить к программе при помощи оператора: INCLUDE <имя файла>

Директива INCLUDE помещается в начале программы вместо макроопределений.

^

Исполняемые .COM-программы


Для получения .COM-файла необходимо использовать модель памяти TINY: данные переместить из сегмента данных в сегмент кода, например, после .exit и перед end; сегмент стека убрать. В результате программа должна содержать один сегмент кода. Для получения .COM-программы при вызове TLINK задать опцию /t.

Пример


.model tiny

.code

.startup

mov al,b1

add al, 10h

mov y,al

.exit 0

b1 db 2

y1 db ?

end


^

Задания к лабораторной работе



1. В соответствии с заданием к лабораторной работе N 4 -5 создайте макросы для:

  • очистки экрана (в качестве аргументов используйте 1) байт атрибута для установки цвета фона и текста; 2) координату верхнего левого угла окна; 3) координату нижнего правого угла окна)

  • перехода в левый верхний угол очищенной области экрана,

  • вывода строки символов (своей фамилии) на экран

  • создания нового файла,

  • вывода строки символов в файл

  • закрытия файла

2 включите перечисленные макросы в программу для создания .COM-файл;

3 создайте отдельный файл с перечисленными макросами и сделайте вариант программы, используя файл макросов

Схожі:

Краткие теоретические сведения iconКраткие теоретические сведения
Создание и отладка ассемблерных программ. Разработка. Exe-файла. Получение навыков отладки в среде Turbo Debugger
Краткие теоретические сведения iconКраткие теоретические сведения
В этой модели сегмент кода отделен от сегмента данных и стека, данные и сегмент стека объединены в одну группу, т е регистры ds и...
Краткие теоретические сведения iconКраткие теоретические сведения
Процедурам могут быть переданы некоторые аргументы, что позволяет, имея одну копию кода в памяти, изменять ее для каждого конкретного...
Краткие теоретические сведения iconКраткие теоретические сведения
Гарвардского университета "Марк I". После долгих поисков техники обнаружили источник своих бед небольшую моль, попавшую между контактами...
Краткие теоретические сведения iconСубд access теоретические сведения
База данных (БД) это хранилище данных о некоторой предметной области, организованное в виде специальной структуры
Краткие теоретические сведения iconМасаж завдання для індивідуальної роботи студентів заочної форми навчання І. Написати реферат однією з тем
Написати реферат однією з тем Краткие сведения о возникновении и развитии массажа
Краткие теоретические сведения iconДокументи
1. /4 курс/Mенеджмент.doc
2. /4 курс/_стор_я...

Краткие теоретические сведения iconДокументи
1. /4 курс/Mенеджмент.doc
2. /4 курс/_стор_я...

Краткие теоретические сведения iconДокументи
1. /4 курс/_стор_я _нженернох д_яльност_.doc
2. /4...

Краткие теоретические сведения iconУдк 669. 187: 621. 36. 001. 57 Теоретические аспекты разработки идентификационных моделей как законов регулирования координат электротехнического комплекса сталеплавления Труфанов И. Д., Бондаренко А. А., Чумаков К. И., Арсеньева С. И
...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи