Директивы определения типа данных

 

Ассемблер определяет типы данных, используемых в команде, двумя способами: во-первых, через указание длины данных при их объявлении и, во-вторых, по их содержимому. Основной формат определения типа данных:

[имя] Dn выражение

Имяданным присваивается, если в программе есть ссылки на эти данные. Тип переменной Dn, определяется следующими директивами:

Ÿ DB–определить тип данных как байты (8 бит). Один байт выражается двумя десятичными или шестнадцатиричными цифрами.Например, tabb db 23,45; строка из двух байт

hex db 35h,6Fh;

Prt db ‘Привет коллега!$; строка символов.

Ÿ DW – определить тип данных как слово (два байта).

Например, tabw dw 1А23Н,45ЕВН; строка слов.

Ÿ DD – определить тип данных как двойное слово ( четыре байта).

Например, tabd dd 45567785.

Ÿ DF – определить тип данных как шестибайтовое поле.

Например, tabf df 455677858700.

Ÿ DQ – определить тип данных как восьмибайтовое поле.

Ÿ DT – определить тип данных как десятибайтовое поле.

Ÿ DUP – директива повторения операнда.

Например, Т1 DB 9 DUP (06),15,47; Т1 – идентификатор,

DB–тип данных,9–количество повторений числа 06.

Выражение может содержать константу или несколько констант, разделенных запятыми и ограниченных длиной строки.

Например, TABDB DB 45,32,78,09,55,39 ; ассемблер определяет в памяти эти константы как последовательность смежных байт. Ссылка по имени TABDB указывает на первую константу (45), по имени TABDB +1-на вторую (32) и т.д.

EQUи=эти директивы не определяют данные, а позволяют присвоить выражению символическое имя(идентификатор). Выражение может быть 16-битовой константой, ссылкой на адрес, символическим именем, меткой команды, операндом, символом.

Например, К EQU 1024; присвоить имя константе.

Tadr EQU DS:[BP] [SP]; присвоить имя комбинации адресов.

Count EQU CX; присвоить имя регистру.

К2 = 24; присвоить имя константе.

Директивы определения сегментов и процедур

 

Эти директивы отмечают начало и конец сегментов. Наиболее распространенные директивы приведены в таблице 2.12.

Таблица 2.12 - Директивы определения сегментов и процедур

END .DATA .CODE .STACK .MODEL   Формат: END [метка точки входа]; определяет конец программы. Формат: .DATA [имя сегмента]; Задаёт начало и описывает сегмент данных в малой модели программы. Формат: .CODE [имя сегмента]; Задаёт начало и описывает сегмент кода в малой модели пограммы. Формат: .STACK [размер]; Задаёт начало и описывает сегмент стэка в малой модели программы. Формат: .MODEL [модель]; Позволяет определить модель памяти для программы. [модель] одна из следующих директив: Ÿ TINY – код, данные и стэк в одном сегменте. · SMALL - код, данные и стэк в двух сегментах. · COMPACT – код в одном, а данные в N сегментах.

 








Дата добавления: 2016-02-24; просмотров: 795;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.