Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_tekhnologii.docx
Скачиваний:
5
Добавлен:
27.09.2019
Размер:
839.82 Кб
Скачать

34 Система команд процессора i32. Машинная обработка. Байт способа адресации.

Каждая команда состоит из нескольких полей (до 6).

1.Префикс. – может содержать от 0 до 4 однобайтных префиксов. Это необязательная часть инструкции, позволяет изменить некоторые особенности ее выполнения.

2.Код операции. – действие команды, которое должен выполнить процессор (содержит или 1 или 2 байта).

3. Mod R/M. – байт способа адресации, показывает способы адресации.

7

6

5

4

3

2

1

0

mod

r/o

r/m

mod – режим адресации

R/O – указывает регистр или является продолжением кода команды.

R/M – указывает регистр или режим адресации.

Mod 00 – используется адресация без смещения; 01 – с 8-ми битными смещениями; 10 – с 8-ми битными или с 16-, либо с 32-битными смещениями; 11. R/M имеет различия между 16- и 32-битной адресацией.

16

32

000

[bx+si]

[eax]

001

[bx+di]

[ecx]

010

[bp+si]

[edx]

011

[bp+di]

[ebx]

100

[si]

sib

101

[di]

[ebp]

110

[bp]

[esi]

111

[bx]

[edi]

4. Поле SIB. – занимает 1 байт, используется для 32-битной адресации.

7

6

5

4

3

2

1

0

S

I

B

S – коэф. масштабирования; I – индексный регистр; B – регистр баз.

5.Смещение. – число, которое масштабируется и добавляется в регистр памяти. Может содержать 0,1,2,4 байта.

6.Непосредственный операнд. (0,1,2,4 байта).

35 Разветвляющий вычислительный процесс.

Разветвляющийся вычислительный процесс реализуется по одному из нескольких заранее предусмотренных направлений в зависимости от выполнения некоторого условия (логического выражения).

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

Разветвляющийся вычислительный процесс, содержащий две ветви, схематично может быть изображен с помощью структуры выбора (структура разветвления), которая содержит три элемента: логическое условие, ветвь ДА и ветвь НЕТ. В любом конкретном случае процесс реализуется только по одной ветви, а выполнение остальных исключается.

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

JCC – условный переход. Это набор команд, каждая из которых выполняет переход, если удовлетворяется соответствующее условие. Команды условного перехода: JA – если выше, JNBE – если не ниже или равно, JAE – если выше или равно, JB – если ниже, JC – если перенос, JBE – если ниже или равно, JE – если равно, JZ – если 0, JG – если больше JGE – если больше или равно, JL – если меньше, JNG – если не больше, JNE – если не равно, JNZ – если не 0, JNO – если нет переполнения, JO – если есть переполнение, JPO – если нечетное, JP – если есть четность, JS – если есть знак, JNS - если нет знака.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]