Студопедия — SOURCE DB 10,20,30,40
Студопедия Главная Случайная страница Обратная связь

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

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; просмотров: 984. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

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

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