- •Программная инженерия
- •1.1Объектно-ориентированная технология разработки программ
- •1.2 Понятие класса
- •1.3 Понятие объекта
- •1.4 Составляющие класса и объекта
- •1.7 Понятие наследования
- •1.8 Структура классов в Delphi
- •1.9 Виды наследования
- •1.4.1 Классификация грамматик по Хомскому
- •1.4.2 Классификация языков
- •2.3 Цепочки вывода (левосторонний, правосторонний)
- •2.4 Проблемы однозначности и эквивалентности грамматик
- •2.7 Построение ка для языка, заданного регулярным выражением.
- •2.9 Определение ll(k)- грамматики и принципы построения распознавателей для этой грамматики.
- •2.12 Понятие прохода
- •2.13 Общие принципы генерации кода
- •2.14 Синтаксически управляемый перевод (су-схемы).
- •Технология разработки программного обеспечения
- •Начало проекта
- •1. Конструкция иерархии данных
- •2. Конструкция последовательности данных
- •3. Конструкция выбора данных
- •4. Конструкция повторения данных
- •Проектирование для потока данных типа «преобразование»
- •Проектирование для потока данных типа «запрос»
- •Базы данных
- •13. Физическая организация баз данных
- •14. Хешированные, индексированные файлы
- •15. Защита баз данных.
- •16.Целостность и сохранность баз данных.
- •Организация эвм и систем
- •Операционные системы
- •2.5.2. Программа типа exe
- •4.3.1. Непосредственная адресация
- •4.3.2. Регистровая адресация
- •4.3.3. Косвенная адресация
- •4.3.4. Прямая адресация (адресация по смещению)
- •4.3.5. Базовая адресация
- •4.3.6. Индексная адресация
- •4.3.7. Базовая-индекснаяадресация
- •5.2.3.1. Сложение и вычитание
- •5.2.3.2. Инкремент и декремент
- •5.2.3.3. Умножение и деление
- •5.2.3.4. Изменение знака числа
- •6.5.3. Запрет определенного маскируемого прерывания
4.3.6. Индексная адресация
Этот метод адресации подобен предыдущему, только адрес операнда формируется сложением содержимого индексного регистра (SI или DI) и смещения. Если смещение не задано, то предполагается нулевое значение.
В индексной адресации можно использовать множитель 1, 2, 4 или 8 чтобы прочитать элемент равный соответственно – байту, слову, двойному или учетверенному слову. Это называется масштабированием индексного регистра.
Примеры: mov ax,[si] mov ax,[di] mov ax,12[di]
mov ax,[esi*4]+2
Индексная адресация имеет множество альтернативных форм. Так, эквивалентными формами являются:
смещение[SI] [смещение][SI] [SI+смещение] [SI].смещение [SI]+смещение
В каждом случае адрес операнда равен сумме значений указанного смещения и содержимого заданного индексного регистра.
4.3.7. Базовая-индекснаяадресация
Адрес операнда формируется сложением содержимого базового регистра (BP или BX) и индексного регистра (SI или DI), и смещения, если оно указано.
Если используется регистр BP, то адрес отсчитывается относительно сегмента, на который указывает регистр SS. В ином случае этот адрес отсчитывается относительно сегмента, на который указывает регистр DS.
Примеры:
mov ax,[bp][si] mov ax,12[bp+di] mov ax,[bx][si+2]
mov ax,2[bx][si]
Базово-индекснаяадресация имеет множество альтернативных форм. Так, эквивалентными формами являются:
смещение[BP][SI] [смещение][BP][SI] [BP+DI+смещение] [BP+DI].смещение [DI]+смещение+[BP]
В каждом случае адрес операнда равен сумме значений указанного смещения и содержимого заданных регистров. Можно комбинировать любой базовый регистр с любым индексным регистром, но комбинация двух базовых или двух индексных регистров не допускается.
Математические операции языка Ассемблер.
Выполнение простейших арифметических действий на ассемблере можно выполнять с помощью обычных арифметических операторов: + (плюс), - (минус), * (умножение), / (целочисленное деление), MOD (остаток от деления). К арифметическим операторам относят также унарный плюс (+) и унарный минус (-),которые соответственно могут ставиться перед положительными и отрицательными числами. В выражениях могут использоваться также круглые скобки(). Часть выражения, заключенная в круглые скобки, вычисляется в первую очередь.
Примеры использования арифметических операторов:
db 3+2*5
; db
13
db (8+3)*2
; db
22
mov al,14 / 4
; mov al,3
mov al,14 mod 4
; mov al,2
mov al,10 - +5
; mov al,5
mov al,10 - -5; mov al,15
5.2.3.1. Сложение и вычитание
Основной инструкцией для сложения целых двоичных чисел является ADD, а для вычитания SUB.
Инструкция ADD складывает операнд-источниксоперандом-приемникоми записывает результат воперанд-приемник:
ADD приемник,источник
Инструкция SUB вычитает операнд-источникизоперанда-приемникаи записывает результат воперанд-приемник:
SUB приемник,источник
Пример: mov ax,10
add ax,6 ; ax=ax+6 sub ax,9 ; ax=ax-9
В результате выполнения этих инструкций в регистре AX окажется число 7.