КАТЕГОРИИ: Архитектура-(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; Просмотров: 331; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |