русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Директива с несколькими операндами


Дата добавления: 2013-12-23; просмотров: 808; Нарушение авторских прав


Например,

С DB 17h ; 17h

А DB 254 ; 0FEh

В DB -2 ; 0FЕh ( = 256-2=254)

По каждой из этих директив ассемблер отводит одинбайт подпеременную изаписывает в этот байт указанное число.

 

Таким образом, к началу выполнения программы

переменная А будет иметь значение 254,

переменная В- значение –2,

а переменная С- значение 17h.

 

Операнд-число, естественно, переводится ассемблером в двоичную систему.

При этом неотрицательные числа записываются в память как числа без знака,

а отрицательные числа записываются в дополнительном коде (см. комментарии к директивам).

 

В связи с этим и получается, что в качестве операндовможно ука­зывать числа от -128 до 255. Отсюда же следует, что числа 254 и -2 будут пред­ставлены в па-мяти одними тем же байтом 0FEh

(это для насданные числа раз­личны, а для машины они одинаковы, и ей безразлично, что обозначает байт 0FEh - число со знаком или без знака).

 

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

-либо указать чис­ловой код этого символа,

- либо указать сам символ в кавычках.

в си­стеме кодировки ASCII код символа "*"равен 2Ah, поэтому следующие две ди­рективы эквивалентны:

Q DB 2Ah Q DB "*"

Во второмслучае ассемблер сам определит кодуказанного символа и запишет этот код в ячейку памяти. Ясно, что этот вариант лучше - он нагляднее и не тре­бует знания кодов символов, поэтому его обычно и используют на практике.

 

Мы рассмотрели два основных случая задания начального значения.

В общем же случае такое значение указывается любым константным выражением со зна­чением

от -128до 255.

(Если значение выходит за эти пределы, то ассемблер за­фиксирует ошибку.)



Константные выражения аналогичны арифметическим выра­жениям языков высокого уровня.

Мы их рассмотрим позже, а пока лишь отме­тим, что к таким выражения относится оператор TYPE, поэтому допустима, ска­жем, следующая директива (имя Qописано выше):

 

V DB TYPE Q

 

 

которая эквивалентна директиве V DB 1.

 

Мы рассмотрели случаи, когда в директиве DBуказывается один операнд.

Это удобно, когда надо описать скалярнуюпеременную, но неудобно, когда надо опи­сать переменную-массив.

В самом деле, если надо, к примеру, описать массив из 4 байтов с некоторыми начальными значениями, то это можно сделать так:

 



<== предыдущая лекция | следующая лекция ==>
Директива DB | Например,


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.