Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общий формат ассемблерной командыСодержание книги
Поиск на нашем сайте
В самом общем виде команда на языке ассемблера выглядит следующим образом: Метка: Мнемоника Операнд, Операнд; Комментарий Метка (символьный адрес команды в сегменте кода) представляет собой идентификатор, то есть последовательность букв и цифр, начинающуюся с буквы. Символы метки могут разделяться знаком подчеркивания. Все имена регистров являются зарезервированными и использовать их в качестве метки нельзя. Они применяются для указания соответствующих регистров. Символьный адрес команды является необязательным. Он указывается в команде тогда, когда на неё ссылаются в командах условного или безусловного переходов. Команда (мнемоника) указывает транслятору с ассемблера, какое действие должен выполнить данный оператор. Операнды – это регистры, метки (адреса) данных или непосредственно данные. В зависимости от формата команды количество операндов может варьироваться: ни одного (безадресная команда), один (одноадресная команда) или два (двухадресная команда). Разрядность операндов должна совпадать. Комментарий служит для пояснения действий команды или директивы ассемблера. После точки с запятой комментарий записывается на одной строке. Для продолжения комментария на последующих стоках он записывается после точки с запятой. Комментарий является необязательным. Таким образом, из всех компонентов команды в обязательном порядке указывается сам оператор и необходимые для его выполнения операнды. Примеры: add ah, al; Сложить содержимое регистров ah и al met: inc ah; Увеличение содержимого регистра ah на 1 mov ah,4 Определение данных В сегменте данных можно зарезервировать определённое количество байтов для размещения исходных данных или результатов работы программы, а также указать их начальные значения. Формат операторов резервирования и инициализации данных в общем случае имеет вид: Метка Мнемоника Операнд,...,Операнд; Комментарий Метка (символьный адрес) обозначает смещение (номер ячейки в сегменте данных) первого резервируемого байта. К метке в сегменте данных обладает теми же свойствами, что и метка в сегменте кода, но является обязательной. Мнемоника определяет длину каждого операнда: 1) DB (определить байт). Диапазон для целых чисел без знака: 0...255, для целых чисел со знаком: -128…127. 2) DW (определить слово – два байта). Диапазон для целых чисел без знака: 0...65535, для целых чисел со знаком: -32768…32767. 3) DD (определить двойное слово – четыре байта). Диапазон для целых чисел без знака: 0...4294967295, для целых чисел со знаком: -2147483648…2147483647. Операнды показывают инициализируемые данные или объем резервируемого пространства. Выражение может содержать константу или символ? для неопределенного значения. Примеры: Data_byte DB 104 Data_word DW 100H,FFH,-5 Data_DW DD 5*25,0FFFDH,1 Data_str DB ‘H’,’E’,’L’,’L’,’O’ Data_str1 DB ‘HELLO’ При определении большого числа ячеек можно применять оператор повторения DUP (Операнд,...,Операнд). Примеры: Arr DB 30 DUP(1,2) – зарезервирует по адресу Arr 30 однобайтовых ячеек с начальными значениями 1 в нечетных и 2 в четных байтах; ММ1 DB 15 DUP(14) – означает, что по адресу ММ1 находятся 15 байт, содержащих шестнадцатиричную цифру 0ЕH (14 – в десятичной системе). Arr_DW DW 4 DUP(?) – определяет по адресу Arr _ DW 4 ячейки, содержащих произвольную информацию. Операнды могут задаваться в различных системах счисления: для двоичной системы счисления после значения операнда ставится символ B, для шестнадцатеричной – символ H, для десятичной – ничего. Примеры: Data_word DW 100H – по адресу Data _ word зарезервировано 2 байта с первоначальным значением 100 в шестнадцатеричной системе счисления (или 256 в десятичной). Met DB 01010011B – по адресу Met зарезервирована однобайтовая ячейка с первоначальным значением 01010011 в двоичной системе счисления (или 83 в десятичной). ARG DB 15 – по адресу ARG зарезервирована однобайтовая ячейка с первоначальным значением 15 в десятичной системе счисления. Далее рассмотрим основные команды языка ассемблера для процессора Intel 8086, необходимые для выполнения заданий лабораторного практикума.
|
||||
Последнее изменение этой страницы: 2020-12-09; просмотров: 124; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.125.137 (0.006 с.) |