Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vecher_lektsii_Beregovoy.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.88 Mб
Скачать

Упрощенные директивы определения сегмента

Формат директивы 

Назначение

.CODE [имя]

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

.DATA

Начало или продолжение сегмента инициализированных данных. Также используется для определения данных типа near

.CONST

Начало или продолжение сегмента постоянных данных (констант) модуля

.DATA?

Начало или продолжение сегмента неинициализированных данных. Также используется для определения данных типа near

.STACK [размер]

Начало или продолжение сегмента стека модуля. Параметр [размер] задает размер стека

.FARDATA [имя]

Начало или продолжение сегмента инициализированных данных типа far

.FARDATA? [имя]

Начало или продолжение сегмента неинициализированных данных типа far

Наличие в некоторых директивах параметра [имя] говорит о том, что возможно определение нескольких сегментов этого типа.

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

Идентификаторы, создаваемые директивой model

Имя идентификатора

Значение переменной

@code

Физический адрес сегмента кода

@data

Физический адрес сегмента данных типа near

@fardata

Физический адрес сегмента данных типа far

@fardata?

Физический адрес сегмента неинициализированных данных типа far

@stack

Физический адрес сегмента стека

Операнды директивы MODEL используют для задания модели памяти, которая определяет набор сегментов программы, размеры сегментов данных и кода, способ связывания сегментов и сегментных регистров.

Модели памяти

Модель

Тип кода

Тип данных

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

TINY

near

near

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

SMALL

near

near

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

MEDIUM

far

near

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

COMPACT

near

far

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

LARGE

far

far

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

Инструкции пересылки данных и двоичной арифметики

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

Процессор i8086 и более поздние версии относятся к двухадресным машинам. Это значит, что его команда может содержать не более двух операндов. Если для выполнения команды необходимо иметь два источника данных, например, сложение, то сохранение результата выполнения команды производиться по адресу одного из источников данных. Чтобы показать, какой из операндов будет хранить результат, его обозначают при описании команды как dst (destination – назначение), операнд, который используется только как адрес исходных данных, обозначается как src (source – источник). В двухоперандных командах операнд dst указывает, перед выполнением команды, адрес исходного данного, а после выполнения – адрес результата.

Мнемокод

Действие

Код

Операнды

mov

dst, src.

пересылка

add

dst, src

сложение

inc

dst

увеличить на единицу

sub

dst, src

вычитание

dec

dst

уменьшение на единицу

neg

dst

изменение знака

sal

dst,счетчик

арифметический сдвиг влево

sar

dst,счетчик

арифметический сдвиг вправо ( по мере сдвига вправо освобождающиеся места заполняются значением знакового разряда)

shl

dst,счетчик

логический сдвиг влево

shp

dst,счетчик

логический сдвиг вправо

xlat

таблица

трансляция байтов из таблицы

lea

dst, src

загрузка исполнительного адреса

mod

dst, src

получения остатка от деления



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