Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация и функционирование вычислительных машин1.doc
Скачиваний:
37
Добавлен:
01.05.2014
Размер:
1.13 Mб
Скачать

Организация стека процессора

Стек может работать только со словами, заполнение стека происходит в сторону уменьшения адресов.

По существу команды PUSHAXиPOPAXвыполняются в два приема:

PUSH AX POP AX

(SP)-2SP [SP]AX

(AX)[SP] (SP)+2SP

Использование:

  • промежуточное хранение содержимого регистра;

  • обмен содержимого регистров;

  • сохранение адресов возврата при вызове подпрограмм;

  • передача параметров между вызываемой и вызывающей программами;

  • для обработки прерываний и сохранения векторов прерываний.

Распределение оперативной памяти в i8086, ms dos

ГРАНИЦЫ УЧАЧСТКА (Кб)

СЕГМЕНТ:СМЕЩЕНИЕ

НАЗНАЧЕНИЕ УЧАСТКА

0..1

0000:0000(03FF)

256 векторов прерываний.

1..60

0010:0000

область данных и резидентная часть DOS

IO.SYS – расширительBIOS:

  • настройка на конфигурацию системы;

  • установка новых драйверов;

  • исправление ошибок и неточностей BIOSприменительно к данной системе.

MSDOS.COM– обработчик прерываний операционной системы:

  • прерывания DOS;

  • функция DOS (21h).

резидентная часть COMMAND.COM:

  • обработка командных файлов;

  • инициирование запуска остальных исполняемых файлов.

60..640

данные, программы пользователя.

640..768

A000:0000

область видеоадаптеров.

768..1016

C000:0000

FE00:0000

область ПЗУ;

область BIOS.

Организация выполняемых программ в ms dos

Существует три типа исполняемых файлов:

  • *.bat- задают порядок выполнения некоторой последовательности программ;

  • *.com- файлы исполняемых программ типаcom;

  • *.exe- файлы исполняемых программ типаexe.

*.com- для организации простых модулей (модели памятиtiny,small) длиной не более 64кб;

comфайл формируется в загрузочном виде и не требует настройки.

*.exe- эти файлы могут иметь произвольную длину, они содержат таблицу загрузки и при их загрузке должна выполняться настройка файла для размещения его в памяти.

COM файл

64кб

Данные программы

SS:SP

100h  CS:IP

PSP

0

 DS, CS, ES, SS

PSP(Programsegmentprefix)- префикс сегмента программы, он содержит информацию для доступа программы к параметрам командной строки, к среде окружения, для реакции программы на критические ошибки и некоторые команды типаCtrl+C. В начальной частиPSPуказан адрес обработчика прерываний для возврата вDOS. Так какCSPSPи программа не может исполняться, начиная с этого адреса, первой командой делаютORG100 (100hIP).

EXE файл

SS:SP

Стек

SS:00

Данные

DS (сюда его необходимо установить)

Код

100h CS

PSP

DS (начальное положение)

Структура PSP

0h

DW

CD20вызов прерыванияDOSINT20 для завершения программы

2h

DW

Размер доступной для программы памяти в параграфах

2Ch

DW

Значение сегментного адреса среды окружения

80h

DTA–буферная область данных, адрес начала командной строки программы