Конспект лекций по курсу язык ассемблера ibm icon

Конспект лекций по курсу язык ассемблера ibm


1 чел. помогло.
Смотрите также:
Конспект лекций удк 651. 5 Ббк 60. 844 Конспект лекций по курсу «Делопроизводство»...
Конспект лекций удк 651. 5 Ббк 60. 844 Конспект лекций по курсу «Делопроизводство»...
Опорный конспект лекций по макроэкономике Автор: Фридман А. А...
Конспект лекций по курсу «Организация производства»...
Конспект лекций по курсу «Русский язык и культура речи»...
Конспект лекций по курсу “Начертательная геометрия и инженерная графика” Кемерово 2002...
Горобец е. Г., Карлина о. А., Нарушевич а. Г., Нечепуренко м. Ю...
Горобец е. Г., Карлина о. А., Нарушевич а. Г., Нечепуренко м. Ю...
Конспект лекций часть 1 2008 перечень ссылок основная: М...
Конспект лекций по курсу «бизнес-планирование в условиях рынка»...
Конспект лекций по курсу “ Общая химическая технология” для студентов специальности 090200 всех...
Конспект лекций по курсу «теория чисел» Методическая разработка...



Загрузка...
страницы: 1   2   3   4   5   6   7   8   9   ...   12
вернуться в начало
скачать
^

Доступ к элементам стека с помощью регистра ВР



Доступ к любому слову, хранящемуся в стеке, осуществляется на основе определения расстояния от нужного слова до вершины стека и базовой адресации.

Например:

MOV BP,SP ; BP := SP

MOV AX,[BP+4] ; эквивалентно MOV AХ, SS:[BP+4]


ВР по умолчанию относится к сегменту стека, а не к сегменту данных!!!
^

Конструкции языка Ассемблера


Любой язык программирования имеет стандартную структуру, которая позволяет осуществлять структурированное изучение языка.

Все конструкции языка делятся на 4 уровня:

  • алфавит;

  • элементарные конструкции (лексемы);

  • предложения;

  • программные единицы.

1. Алфавит


Алфавит языка программирования – это набор символов, который используется в конструкциях языка, а не только в комментариях. Алфавит ЯА будем изучать постепенно, рассматривая лексемы.

2. Лексемы


Лексемы – это элементарные конструкции языка, т.е. слова. В ЯА лексемы представлены пятью классами:


^ Элементарные конструкции


Идентификаторы Целые числа Ключевые слова Символьные данные



Метки Имена


ВЫРАЖЕНИЯ


1. Идентификаторы – это последовательность латинских букв, цифр и символов . ? @ _ $

Особенности применения имен в ЯА:

      • длина идентификатора не ограничена, но значащими являются только первые 31 символ;

      • идентификатор не может начинаться с цифры;

      • точка может быть только первым символом идентификатора; например, возможен идентификатор

.ABR

      • в идентификаторе одноименные заглавные и строчные буквы считаются эквивалентными;

      • идентификаторы не могут совпадать с зарезервированными (ключевыми) словами.

Идентификаторы делятся на два вида:

а) Имя – ссылка на адрес первого байта, содержащего данные (константы или переменные). Имена описываются директивой декларации.

Пример:

^ FATAL DB 13

Это имя имеет атрибут (тип) BYTE, WORD и т.д.

б) Метка – идентификатор инструкций или директивы, которая используется для передачи управления.

Метки сегментов и процедур:

^ LAD SEGMENT

………………….

ENDS

FUN PROC

……………

ENDP.

Метки команд (инструкции) располагаются в начале строки и отличаются от МНК двоеточием. Метка имеет атрибут NEAR или FAR.

В языке ассемблера допускается только одна метка на строке, но можно поместить метку на отдельной строке, что позволяет пометить инструкцию, расположенную на следующей строке. Запрещены метки, состоящие из одного ? или $.

Одну и ту же инструкцию можно выполнять дважды:

NACHALO:

^ LAB:ADD AX,DX

…………………..

JMM NACHALO

………………….

JMP LAB.



    1. Ключевые (зарезервированные) слова – это сочетания символов, которые имеют определенный смысл и соответственно воспринимаются Ассемблером.

Например,

.286 – директива, позволяющая использовать в программе команды МП i80286;

AND – мнемоника команды;

AX – имя регистра;

.ERR – директива генерации кода ошибки.



    1. ^ Целые числа могут быть записаны в десятичной, восьмеричной или 16-ричной системах счисления, на это указывает буква в конце числа, называемая спецификатором

Основание ПСС

Спецификатор

Примеры

10

D или ничего

25, -387, +4d

2

B

101b, -1001B

8

O или Q

74q, -22Q

16

H

1A3h, -0B4H



Примечания:

      • для 16-чной ПСС, если число начинается с цифры от A до F, то перед ней записывается ноль,

      • в числах можно использовать заглавные или строчные латинские буквы.



    1. Символьные данные заключаются в одинарные либо двойные кавычки, но левый и правый ограничители должны быть одинаковыми.

Примечания:

      • в качестве символов можно использовать любые изображаемые символы и буквы;

      • заглавные и строчные буквы различаются;

      • если внутри строки символов нужно использовать кавычки, то есть 2 возможности:

или удвоить символ, например, ‘Don’’t’;

или использовать другой вариант ограничителя строки ,

например, «Don’t» или ‘кафе «МИР»’

    1. Выражения в языке ассемблера состоят из чисел и\или символов, обозначающих числа. Выражение определяет операнд или его адрес.

Например, в декларациях Alpha EQU 10/4 ; константа Alpha равна 2.

Возможные операции в выражениях: + - * / mod () not k (подразумевается инверсия k)

High n – старший байт числа n

Low n – младший байт числа n и т.д.

Выражением считается список констант в декларациях, например:

Area DB 2, -8, 7.

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

- Косвенная

- Индексная

- Базовая

- Базово – индексная

В программе можно записать эти адресации разными записями:

Название адреса

Обозначение операнда

в инструкции

Формирование адреса



Косвенная

[Рг B]

[Рг U]

[Рг B]

[Рг U]



Индексная

disp [Рг U]

[Рг B]+ disp



disp + [Рг U]



Базовая

disp [Рг B]

[Рг B] + disp



disp + [Рг B]



Базово-индексная

disp [Рг B] [Рг U]

disp [Рг B] + [Рг U]

disp [Рг B + Рг U]



disp + [Рг B] + [Рг U]




Где disp – смещение в байтах, которое может быть константой или выражением.

[Рг B] – содержимое базового регистра (BP или BX).

[Рг U] – содержимое индексного регистра (C или D)

Между индексными или базовыми регистрами (способами адресации) разницы нет, но они выделены, т.к. в базово-индексной адресации можно использовать только пары из разных групп, например:

mov AX, 2[DI] ; AX := ОП[[DI] + 0002h]

mov [BX], AL ; ОП[BX] := [AL].




оставить комментарий
страница7/12
Дата02.10.2011
Размер0,99 Mb.
ТипКонспект, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы: 1   2   3   4   5   6   7   8   9   ...   12
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх