Читаем Информатика и информационные технологии полностью

К этой группе можно отнести множество команд микропроцессора, но большинство из них имеет те или иные особенности, которые требуют отнести их к другим функциональным группам.

Команды работы со стеком

Эта группа представляет собой набор специализированных команд, ориентированных на организацию гибкой и эффективной работы со стеком.

Стек – это область памяти, специально выделяемая для временного хранения данных программы.

Для работы со стеком предназначены три регистра:

1) ss – сегментный регистр стека;

2) sp/esp – регистр указателя стека;

3) bp/ebp – регистр указателя базы кадра стека. Для организации работы со стеком существуют специальные команды записи и чтения.

1. push источник – запись значения источникв вершину стека.

2. pop назначение – запись значения из вершины стека по месту, указанному операндом назначение. Значение при этом «снимается» с вершины стека.

3. pusha – команда групповой записи в стек.

4. pushaw – почти синоним команды pusha. Атрибут разрядности может принимать значение use16 или use32. Р

5. pushad – выполняется аналогично команде pusha, но есть некоторые особенности.

Следующие три команды выполняют действия, обратные вышеописанным командам:

1) popa;

2) popaw;

3) popad.

Группа команд, описанная ниже, позволяет сохранить в стеке регистр флагов и записать слово или двойное слово в стеке.

1. pushf – сохраняет регистр флагов в стеке.

2. pushfw – сохранение в стеке регистра флагов размером в слово. Всегда работает как pushf с атрибутом use16.

3. pushfd – сохранение в стеке регистра флагов flags или eflags в зависимости от атрибута разрядности сегмента (т. е. то же, что и pushf).

Аналогично, следующие три команды выполняют действия, обратные рассмотренным выше операциям:

1) popf;

2) popfw;

3) popfd.

54. Арифметические команды

Такие команды работают с двумя типами:

1) целыми двоичными числами, то есть с числами, закодированными в двоичной системе счисления.

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

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

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

1) inc операнд – увеличение значения операнда;

2) add операнд1, операнд2 – сложение;

3) adc операнд1,операнд2 – сложение с учетом флага переноса cf.

Вычитание двоичных чисел без знака

Если уменьшаемое больше вычитаемого, то разность положительна. Если уменьшаемое меньше вычитаемого, возникает проблема: результат меньше 0, а это уже число со знаком.

После вычитания чисел без знака нужно анализировать состояние флага CF. Если он установлен в 1, то произошел заем из старшего разряда и результат получился в дополнительном коде.

Вычитание двоичных чисел со знаком Но для вычитания способом сложения чисел со знаком в дополнительном коде необходимо представлять оба операнда – и уменьшаемое, и вычитаемое. Результат тоже нужно рассматривать как значение в дополнительном коде. Но здесь возникают сложности. Прежде всего они связаны с тем, что старший бит операнда рассматривается как знаковый.

По содержимому флага переполнения of. Его установка в 1 говорит о том, что результат вышел за диапазон представления знаковых чисел (т. е. изменился старший бит) для операнда данного размера, и программист должен предусмотреть действия по корректировке результата.

Принцип вычитания чисел с диапазоном представления, превышающим стандартные разрядные сетки операндов, тот же, что и при сложении, т. е. используется флаг переноса cf. Нужно только представлять себе процесс вычитания в столбик и правильно комбинировать команды микропроцессора с командой sbb.

Для умножения чисел без знака предназначена команда

mul сомножитель_1

Для умножения чисел со знаком предназначена команда

[imul операнд_1, операнд_2, операнд_3]

Для деления чисел без знака предназначена команда div делитель

Для деления чисел со знаком предназначена команда idiv делитель

55. Логические команды

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

1. Отрицание (логическое НЕ) – логическая операция над одним операндом, результатом которой является величина, обратная значению исходного операнда.

2. Логическое сложение (логическое включающее ИЛИ) – логическая операция над двумя операндами, результатом которой является «истина» (1), если один или оба операнда имеют значение «истина» (1), и «ложь» (0), если оба операнда имеют значение «ложь» (0).

3. Логическое умножение (логическое И) – логическая операция над двумя операндами, результатом которой является «истина» (1) только в том случае, если оба операнда имеют значение «истина» (1). Во всех остальных случаях значение операции «ложь» (0).

Перейти на страницу:

Похожие книги

Забытое
Забытое

Захватывающая история Сиенны Престон продолжается во второй части головокружительной серии «Игра обмана».Семнадцатилетняя Сиенна не понаслышке знает о душевной боли и потерях. Но на этот раз всё по-другому: кто-то вмешался в воспоминания её возлюбленного, и теперь ей предстоит найти ответы.След ведёт её к сверкающим небоскрёбам и роскоши Рубекса, столицы Пасифики, где она проникает в правительственное Ведомство интеллекта и генетики. Но ответы получить не так-то просто, особенно когда её собственные воспоминания могут быть искажены. К счастью, рядом есть Зейн Райдер, готовый помочь ей сложить вместе кусочки головоломки. Его преданность и забота размывают границу между дружбой и чем-то большим.Когда Сиенна подбирается слишком близко к тёмным секретам Ведомства, её обвиняют в убийстве видного государственного деятеля, и ей приходится пуститься в бега. Как бы ни разрывалось сердце Сиенны в попытке понять, кого она любит, это всё вскоре перестаёт иметь значение — потому что единственное, что её сейчас ждёт, это смертный приговор.

Александр Степанович Грин , Кристин Смит , Марина Козикова , Марина Суржевская

Любовное фэнтези, любовно-фантастические романы / Проза / Классическая проза / Самиздат, сетевая литература / Технические науки / Любовно-фантастические романы
Портрет трещины
Портрет трещины

Разрушение… РњС‹ сталкиваемся с ним ежедневно, ежечасно. Р'РѕС' слабый стебель травы пророс СЃРєРІРѕР·ь асфальт и победно зеленеет. Как это призошло? Р'РѕС' совершенно неожиданно переломилась мощная металлическая конструкция, которой стоять Р±С‹ века… Почему? Р' чем причина катастроф и разрушений, происходящих в мире прочнейших материалов? Как ведет себя микроскопическая трещинка, откуда у нее такая сила и такое коварство? Как человек учится управлять этой страшной силой и обращать ее себе на пользу? На эти и многие другие РІРѕРїСЂРѕСЃС‹ отвечает автор. Непринужденная форма изложения, поэтические примеры, подтверждающие мысль автора, делают книгу интересной и познавательной. Книга предназначена для широкого круга читателей, для всех, кто хочет постичь одну из великих загадок РїСЂРёСЂРѕРґС‹. Р

Виктор Моисеевич Финкель

Физика / Технические науки / Образование и наука