ДИРЕКТИВА ОПРЕДЕЛЕНИЯ ДЕСЯТИ БАЙТ (DT)




Дисциплина «Машино-ориентированное программирование»

 

Декларация данных.

(слайд №2)

 

Простые типы данных в ассемблере:

 

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

  • работа с объектами осуществляется с помощью конструкций языка;
  • внутреннее представление значений объектов может зависеть от реализации транслятора (компилятора или интерпретатора) и от платформы;
  • объекты не включают в себя другие объекты и служат основой для построения других объектов.

 

Синтаксис декларирования данных в ассемблере следующий:

<имя> <директива> <выражение>

<имя> - некоторое символическое имя метки или ячейки памяти в сегменте данных, используемое в программе;

<директива> - зарезервированное слово для указания типа объявляемых данных;

<выражение> - может содержать константу или «?» (неопределенное значение).

Таким образом:

 

Определение последовательности повторяющихся данных:

выражение1 DUP (выражение2)

 

ЕСЛИ

выражение2 =?

ТО это неинициализируемые данные

 

(слайд №3)

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ БАЙТА (DB)

 

Из различных директив, определяющих элементы данных, наиболее полезной является DB (определить байт). Символьное выражение в диpективе DB может содержать строку символов любой длины, вплоть до конца строки.

Числовое выражение в директиве DB может содержать одну или более однобайтовых констант. Один байт выражается двумя шестнадцатеричными цифpами. Наибольшее положительное шестнадцатеричное число в одном байте это 7f, все "большие" числа от 80 до ff представляют отрицательные значения. В десятичном исчислении эти пределы выражаются числами +127 и -128.

 

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ СЛОВА (DW)

 

Директива DW определяет элементы, которые имеют длину в одно слово (два байта). Символьное выражение в DW ограничено двумя символами, которые ассемблер представляет в объектном коде так, что, например, 'pc' становится 'cp'. Для определения символьных строк директива DW имеет ограниченное применение.

Числовое выражение в DW может содержать одно или более двухбайтовых констант. Два байта представляются четырьмя шестнадцатеричными цифрами. Наибольшее положительное шестнадцатеричное число в двух байтах это 7fff; все "большие" числа от 8000 до ffff представляют отрицательные значения. В десятичном исчислении эти пределы выражаются числами +32767 и -32768.

Для форматов директив DW, DD и DQ ассемблер преобразует константы в шестнадцатеричный объектный код, но записывает его в обратной последовательности.

Таким образом, десятичное значение 12345 преобразуется в шестнадцатеричное 3039, но записывается в объектном коде как 3930.

 

(слайд №4)

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ ДВОЙНОГО СЛОВА (DD)

 

Директива DD определяет элементы, которые имеют длину в два cлова (четыре байта). Числовое выражение может содержать одну или более констант, каждая из которых имеет максимум четыре байта (восемь шестнадцатеричных цифр). Наибольшее положительное шестнадцатеричное число в четырех байтах это 7fffffff; все "большие" числа от 80000000 до ffffffff представляют отрицательные значения. В десятичном исчислении эти пределы выражаются числами +2147483647 и -2147483648.

Ассемблер преобразует все числовые константы в директиве DD в шестнадцатеричное представление, но записывает объектный код в обратной последовательности.

Таким образом, десятичное значение 12345 преобразуется в шестнадцатеричное 00003039, но записывается в oбъектном коде как 39300000.

Символьное выражение директивы DD ограничено двумя символами. Ассемблер преобразует символы и выравнивает их слева в четырехбайтовом двойном слове в объектном коде.

 

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ УЧЕТВЕРЕННОГО СЛОВА (DQ)

 

Директива DQ определяет элементы, имеющие длину четыре слова (восемь байт). Числовое выражение может содержать одну или более констант, каждая из которых имеет максимум восемь байт или 16 шестнадцатеричных цифр. Наибольшее положительное шестнадцатеричное число - это семерка и 15 цифр f. Для получения представления о величине этого числа, покажем, что шестнадцатеричное 1 и 15 нулей эквивалентен следующему десятичному числу:

Обработка ассемблером символьных строк в директиве DQ aналогично директивам DD и DW.

 

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ ДЕСЯТИ БАЙТ (DT)

 

Директива DT определяет элементы данных, имеющие длину в десять байт. Назначение этой директивы связано с "упакованными десятичными" числовыми величинами. По директиве DT генерируются различные константы, в зависимости от версии ассемблера.

 

(слайд №5)

Константные выражения.

 

Константное выражение – это выражение, состоящее из одних констант.

 

Символьные строки.

 

Символьная строка используются для описания данных, таких как, например, имена людей или заголовки страниц. Содержимое строки oтмечается одиночными кавычками, например, 'pc' или двойными кавычками - "pc". Ассемблер переводит символьные строки в объектный код в обычном формате ASCII.

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

 


Целые числа:

[ знак ] последовательность_цифр [ признак_системы_счисления ]

 

Признак системы счисления (система счисления –символический метод записи чисел, представление чисел с помощью письменных знаков - СС. ):

1. B - двоичная,

2. Q или O - восьмеричная,

3. D - десятичная,

4. H - шестнадцатеричная(если число начинается с цифр A..F, то впереди должна быть вставлена цифра 0).

Например:

 

42q

00100010b

22h

34d

0A34h

 

(слайд №6)

По умолчанию в ASM86 считается обычно десятичная. В MACRO-11 - восьмеричная. Умалчиваемая система счисления может быть переопределена директивой .RADIX.

Например:

RADIX 8

 

Вообще, числовые константы используются для арифметических величин и для aдресов памяти. Для описания константы кавычки не ставятся. Ассемблер преобразует все числовые константы в шестнадцатеричные и записывает байты в объектном коде в обратной последовательности - справа налево. Ниже показаны различные числовые форматы.

 

Десятичный формат.

 

Десятичный формат допускает десятичные цифры от 0 до 9 и обозначается последней буквой d, которую можно не указывать, например, или 125d. Несмотря на то, что ассемблер позволяет кодирование в десятичном формате, он преобразует эти значения в шестнадцатеричный объектный код. Например, десятичное число 125 преобразуется в шестнадцатеричное 7d.

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-06 Нарушение авторских прав и Нарушение персональных данных


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