Программирование на языке assembler

Автор работы: Пользователь скрыл имя, 15 Марта 2013 в 19:59, доклад

Описание работы

Після створення процесора 8086 фірма Intel розробила більш досконалі процесори об’єднані під назвою I 80x86, така назва означає, що всі команди мікропроцесора, які виконуються на молодших моделях обов’язково виконуються на старше, отже все ПЗ, які розроблені для процесора 8086 успішно будуть працювати і на останніх моделях 80486 і Pentium. Ми будемо розглядати процесори з точки зору програміста. Не дивлячись на різноманітність моделей процесорів, найбільш важливим з точки зору біології програмування є 8086 як базова модель і 80386 , як перший процесор фірми Intel, який в повному об’ємі реалізував принцип багатозадачності.

Файлы: 1 файл

Assembler.doc

— 316.50 Кб (Скачать файл)

Если вы посмотрите на текст листинга 1, то увидите пример использования одного из этих идентификаторов. Это @data; с его помощью мы получили значение физического адреса сегмента данных нашей программы.

Теперь можно закончить обсуждение директивы MODEL. Операнды директивы MODEL используют для задания модели памяти, которая определяет набор сегментов программы, размеры сегментов данных и кода, способ связывания сегментов и сегментных регистров. В табл. 5 приведены некоторые значения параметра модель памяти директивы MODEL.  Таблица 5. Модели памяти

Модель

Тип кода

Тип данных

Назначение модели

TINY

near

near

Код и данные объединены в одну группу с именем DGROUP.   
Используется для создания программ формата .com.

SMALL

near

near

Код занимает один сегмент, данные объединены в одну группу с именем DGROUP.   
Эту модель обычно используют для большинства программ на ассемблере

MEDIUM

far

near

Код занимает несколько сегментов, по одному на каждый объединяемый программный  модуль.   
Все ссылки на передачу управления - типа far.   
Данные объединены в одной группе; все ссылки на них - типа near

COMPACT

near

far

Код в одном сегменте;   
ссылка на данные - типа far

LARGE

far

far

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


Параметр модификатор директивы MODEL позволяет уточнить некоторые особенности использования выбранной модели памяти (табл. 6). Таблица 6. Модификаторы модели памяти

Значение  модификатора

Назначение

use16

Сегменты  выбранной модели используются как 16-битные (если соответствующей директивой указан процессор i80386 или i80486)

use32

Сегменты выбранной модели используются как 32-битные (если соответствующей директивой указан процессор i80386 или i80486)

dos

Программа будет работать в MS-DOS


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

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

 

 

 

      


Информация о работе Программирование на языке assembler