Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Режимы адресации




КОМАНДЫ

ОПРЕДЕЛЕНИЕ СЛОВА

ДИРЕКТИВЫ ОПРЕДЕЛЕНИЯ ДАННЫХ

 

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

 

A DB? переменная A не инициализирована;

B DB 10 DUP(?) переменная B - поле из 10 неинициализированных байтов;

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐

Поле B │ * │ * │ * │ * │ * │ * │ * │ * │ * │ * │

└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

 

C DB 10 DUP(0);переменная C – поле из 10 нулевых байтов;

 

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐

Поле C │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │

└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

 

D DB 'Группа ВТИ';символьная строка.

Символьные строки задаются только директивой DB.

 

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐

Поле D │ Г │ р │ у │ п │ п │ а │ │ В │ Т │ И │

└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

 

E DB -85;короткое целое со знаком.

Десятичная константа может задавать числа со знаком в диапазоне от -128 до 127. Например,

E DB -180

Число -180 может быть представлено только в слове FF4Ch. При этом старший байт отбрасывается. 4Ch = 76 в десятичной.

Если число больше 255, то выдается ошибка "Value out of range".

F DB 10b;эквивалентно: F DB 2

1 DB -10b;эквивалентно: F1 DB -2

Для двоичных чисел диапазон от 0b до 11111111b.

L DB 5Fh;шестнадцатеричная константа;

L1 DB -5Fh

Диапазон шестнадцатеричных чисел от 0h до FFh.

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

Типы ассемблера – BYTE и WORD. Здесь отсутствует разделение между BYTE и SHORTINT, WORD и INTEGER. и поэтому может возникнуть ряд проблем:

A2 DB 200; C8h

Если рассматривать это число как число без знака, то оно соответствует 200, а если учитывать знак, то -56

A3 DB 0F1h; F1h

A4 DB 011011b; 1Bh

A5 DB -011011b; E5h

A6 DB -200; 38h=56dec – поле определено неверно

A7 DB 300; -Out of Range (300>255)

 

 

 

Аналогично DB, DW позволяет использовать десятичные, двоичные и шестнадцатеричные цифры.

Диапазон: 1) -32768..32767 – слово со знаком

2) 0..65535 – слово без знака

 

А DW -358

B DW 0F46Eh

C DW 10b

D DW 'PC'

При задании строковых констант символы располагаются в обратном порядке:

┌───┬───┐

поле D │'C'│'P'│

└───┴───┘

E DW 70000 – Out of range (70000>65535)

 

Директивы DD (двойное слово) и DQ (поле из четырех слов) используются аналогично.

 

ADD ОР1,ОР2;Сложение чисел со знаком

ОР1:=ОР1+ОР2

ОР1 – общий регистр

– ячейка памяти

ОР2 – общий регистр

– ячейка памяти

– непосредственный операнд (НО)

 

ADD A,SI

A:=A+SI

A – mem

SI – reg16

 

ADD AX, BB

reg16/ \mem16

 

ADD AX, 5

reg16/ \НО – выбирается из поля самой команды

 

После выборки этой команды первый операнд – в AX, а второй – в регистре команд, т. е. при выполнении операции сложения цикл обращения к памяти не требуется. В этом есть достоинство использования НО.

 

ADD AL,BX; – Type mismatch

byte/ \word

 

ADD AL,BH

ADD 5,AL; – Error

 

5 – это НО, который выбирается из поля команды, и запись результата в поле команды произвести невозможно, и первый операнд во всех командах не может быть НО.

 

 

 

В командах обработки данных формируются адреса операндов, которые указывают местоположение данных в памяти. В командах управления определяются адреса команд, которым передается управление, т. е. адреса переходов.

Способ определения адреса перехода или адреса операнда называется режимом адресации.

 

 




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


Дата добавления: 2014-01-04; Просмотров: 324; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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