Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка.doc
Скачиваний:
111
Добавлен:
01.05.2014
Размер:
1.1 Mб
Скачать

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

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

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

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 (Program segment prefix)- префикс сегмента программы, он содержит информацию для доступа программы к параметрам командной строки, к среде окружения, для реакции программы на критические ошибки и некоторые команды типа Ctrl+C. В начальной части PSP указан адрес обработчика прерываний для возврата в DOS. Так как CSPSP и программа не может исполняться, начиная с этого адреса, первой командой делают ORG 100 (100hIP).

EXE файл

SS:SP

Стек

Данные

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

КОД

100h CS

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

Структура PSP

0h

DW

CD 20вызов прер DOS INT 20 для заверш програм

2h

DW

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

2Ch

DW

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

80h

DTA –буф область данных,

адрес начала команд строки программы