Студопедия Главная Случайная страница Обратная связь

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

SOURCE DB 10,20,30,40





DEST DB 4 DUP(?)

DSEG ENDS;

- в программе должно быть указание, какие сегментные регистры закрепляются за используемыми именами регистров, например:

ASSUME CS: CSEG, DS: DSEG, SS: STACK.

При исполнении программы адреса сегментных регистров CS, SS, ESв соответствии с вышеприведенными указаниями загружаются автоматически;

- сегмент данных DS в EXE-программе не может быть загружен автоматически, поскольку он используется программой-загрузчиком LINK для формирования начального адреса служебной области памяти – префикса программного сегмента (PSP), непосредственно предшествующего любой исполняемой программе. PSP – это группа служебных слов в оперативной памяти, формируемая для каждой загружаемой программы пользователя и занимающая обычно 256 байт (100Н байт), именно адрес этой области записывается в регистр DS. Поэтому в самом начале исполняемой программы этот сегмент инициируется принудительно: сначала в стек записывается адрес возврата к служебной области в виде 2-ух слов – содержимого регистра DS и нулевого смещения; затем в регистр DS записывается адрес сегмента данных исполняемой программы, например, как показано ниже:

PUSH DS; поместить в стек адрес PSP

SUB AX, AX; обнулить регистр АХ

PUSH AX; поместить в стек смещение адреса возврата=0

MOV AX, DSEG; инициировать адрес сегмента данных

MOV DS, AX; загрузить адрес в регистр DS;

- в исходной программе обязательно должна быть определена метка для первой команды, с которой начнется выполнение программы. Это может быть собственно метка или имя процедуры, как показано в приведенной ниже программе. Имя этой метки обязательно должно быть указано в конце программы в качестве операнда директивы END, например,

END OUR_PROG;

- обеспечение выхода из программы, например, используя функцию 4С прерывания 21Н, как показано ниже:

MOV AX, 4C00Н

INT 21H

или оформив основную программу как процедуру с атрибутом FAR и стандартным выходом из процедуры RET, как показано в приведенной ниже программе.

Пример 1 программы на Ассемблере

TITLE EX_PROG

PAGE, 132

STACK SEGMENT PARA STACK ‘STACK’

DB 64 DUP(‘STACK ’); Область стека

STACK ENDS

DSEG SEGMENT PARA PUBLIC ‘DATA’

SOURCE DB 10, 20, 30, 40; эта таблица будет скопирована

DEST DB 4 DUP(?); в эту таблицу в обратном порядке

DSEG ENDS

SUBTTL ОСНОВНАЯ ПРОГРАММА

PAGE

CSEG SEGMENT PARA PUBLIC ‘CODE’

ASSUME CS: CSEG, DS: DSEG, SS: STACK

OUR_PROG PROC FAR

; занести в стек такие начальные значения, чтобы программа

; могла возвратить управление отладчику

PUSH DS; поместить в стек номер блока адреса возврата







Дата добавления: 2014-11-10; просмотров: 1014. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия