Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОСПО.doc
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
910 Кб
Скачать
  1. Основы программирования на ассемблере: арифметические и логические действия.

  1. Команды инкремента и декремента

Предназначены для быстрого увелечения/уменьшения на единицу регистровых операндов.

    • Inc BX = add BX,1

    • Dec BX = sub BX,1

Разрядность операции определяется типом операнда, который может быть 8,16,32-разрядный.

  1. Команды сложения и вычитания

Add позволяет выполнить сложение регистровых и других операндов.

ADD DL,AH

ADD DL,10

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

Аналогично операция вычитания SUB.

  1. Умножение и деление.

В ядре процессора Intel MUL перемножает 8,16-биотвые операнды, создавая при этом 16,32-разрядные произведения. Для данной инструкции требуется указать только один операнд второй операнд должен находится в аккумуляторе. Старшая часть произведения будет размещаться в регистре D, а младшая в регистре A.

Пример: 5*8

MOV AL,5

MOV BH,8

MUL BH

MUL – беззнаковая команда.

IMUL – знаковая. В этом случае знаковый разряд операндов в процедуре умножения не участвует, а служит лишь для вычисления знака результата.

DIV – беззнаковое деление. Выполняет деление 16-разрядного на 8-разрядный операнды. В результате частное записывается в регистр AL, а остаток в регистр AH. Делитель всегда регистр DL, делимое – AX.

Пример: 51/10

MOV AX,51

MOV DL,10

DIV DL

;AL = 5, AH = 1.

IDIV - знаковое деление.

  1. Логические операции

Выполняются над операндами побитно. Логические операции выполняет процессор. AND, OR, XOR

  1. Основы программирования на ассемблере: получение кодов нажатых клавиш и вывод их на экран.

Для 21-го прерывания регистр AH содержит номер подфункции, например единица – вызов функции чтения кода нажатой клавиши. О значении регистра AH должен позаботится программист. Код нажатой клавиши будет передан системой в AL.

L1: MOV AH,1

INT 21H

MOV DL,AL

MOV AH,2

INT 21H

CMP AL,13H

JNZ L1

Для того чтобы распечатать введённый код на дисплее используют функцию №2. Код вводимого символа должен располагаться в регистре DL.

CMP AL,13H ; команда выполняет вычитание однако в его результате меняются только флаги.

  1. Понятие объекта в метафоре объектно-ориентированного программирования.

51. Понятия "Прагматика и семантика".

ПРАГМАТИКА---смысл программы с точки зрения её пользователя. Семантика--- смысл программы с точки зрения компьютера

ОБЬЕКТ

ЦЕЛЬ

Прагматика

Real World

Virtual World

БОРТОВОЙ КОМП.

УПРАВЛ.

ВОЗДЕЙСТ

Семантика

  1. Последовательное и параллельное программирование. Жизненный цикл по Боэму.

  1. Регистры указателя команд в процессоре ix86.

Регистры указателя команд

Может использоваться 16-разр. Регистр IP (Инстракшн Поинт), либо как 32-разр. регистр EIP

Регистр содержит относительный адрес (это смещение относительно селекора кодового сегмента) следующей команды, подлежащей выполнению.

Регистр флагов

Может быть как 16 так и 32-разр

FLAGS – 16-разр. регистр

EFLAGS – 32-разр. регистр

Флаги это битовые поля (биты) отражающие результаты выполнения операции или состояние процессора

1. Старшее полуслово регистра EFLAGS содержит всего два вида. Остальные –резерв

  • RF – флаг возобновления задачи

  • VF – флаг режима виртуального 86 процессора

2. Младшее полуслово регистра флагов

Реистр флагов изменяется процессором при выполнении большиства операций и служит для хранения информации об особенностях полученного результата.