Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Lab2.pdf
Скачиваний:
159
Добавлен:
11.05.2015
Размер:
1.1 Mб
Скачать

3.4. Скелет (каркас) программы

Программы, выполненные под управлением DOS (сеанс MS-DOS для Windows), могут принадлежать к одному из двух типов, которым соответствуют расширения имён программных файлов .com и .exe. Основное различие этих программ заключается в том, что программы типа .com состоят из единственного сегмента объёмом в 64 Кбайт, в котором размещаются программный код, данные и стек, а в программах типа .exe для каждого из них выделяются отдельные сегменты. Управление сегментами – один из наиболее сложных аспектов программирования на языке ассемблера. При этом ассемблер имеет не один, а целых два набора директив управления сегментами. Первый набор, включающий упрощенные директивы определения сегментов, позволяет достаточно просто ими управлять и идеально подходит для компоновки ассемблерных модулей с языками высокого уровня (Pascal и С). Второй набор, включающий стандартные директивы определения сегментов, предназначен для построения сложных ассемблерных программ. В данном лабораторном практикуме, как правило, применяются упрощенные директивы, введение которых возможно лишь с одновременным указанием используемой модели памяти. В свою очередь, модель памяти неявно задаёт атрибуты упрощенных директив, определяющих действия компоновщика Turbo Linker при формировании исполнительного файла программы.

3.4.1. Модуль EXE

Для программы на языке Assembler, как и для программ многих другихязыков программирования, имеется так называемый каркас программы — т.е. часть, которая присутствует во всех программах. Для режима IDEAL, который мы будем использовать, каркас выглядит следующим образом:

1IDEAL

2

MODEL

small

3

STACK

256

4DATASEG

5CODESEG

6

Start:

mov

ax,@data

7

Exit:

mov

ds,ax

8

mov

ax,4C00h

9

END

int

21h

10

Start

 

Таким образом, используя данный скелет, можно съэкономить время при подготовке новых программ.

3.4.2. Модуль COM

Для программ типа COM:

1IDEAL

2 MODEL Tiny

3DATASEG

4CODESEG

5

Org

100h

 

6

Proc

main

ax,4C00h

7

Exit:

mov

8

Endp

int

21h

9

main

 

10

End

main

 

Из отличий от программы EXE можно выделить следующие:

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]