
билет 3
.pdf
Вопрос 4
Регистры общего назначения , их использование. Регистр флагов. Mov, and, xor, or.
Регистры общего назначения предназначены для хранения операндов арифметикологических инструкций, а также адресов или отдельных компонентов адресов ячеек памяти. Регистры общего назначения (РОН), представляющие собой часть регистров процессора, использующихся без ограничения в арифметических операциях, но имеющие определенные ограничения, например в строковых. РОН, не характерные для
эпохи мейнфреймов типа IBM/370 стали популярными в микропроцессорах архитектуры X86 — i8085, i8086 и последующих.
Регистры общего назначения (AX, BX, CX, DX). Особенность этих регистров состоит в том, что возможна адресация их как одного целого слова, так и однобайтовой части. Левый байт является старшей частью (High), а правый - младшей частью (Low) соответствующего регистра. Например, двухбайтовый регистр CXсостоит из двух однобайтовых CH и CL, и ссылки на регистр возможны по любому из этих трех имен.
Рис.1. Адресация регистров общего назначения
Таким образом, любые регистры общего назначения могут участвовать в арифметических операциях как 8, так и 16-битовых значений. Разберем назначение каждого из регистров.
Регистр AX. Он является основным сумматором и применяется для всех операций вводавывода, некоторых операций над строками и некоторых арифметических операций. Например, команды умножения, деления и сдвига предполагают использование регистра AX. Некоторые команды генерируют более эффективный код, если они имеют ссылки на регистр AX.
Регистр BX. Он является базовым регистром. Это единственный регистр общего назначения, который может использоваться в качестве "индекса" для расширенной адресации. Также он используется при организации вычислений.
Регистр CX. Это счетчик, используемый для управления числом повторений циклов и для операций сдвига влево или вправо. Регистр CX используется также при вычислениях.
Регистр DX. Он является регистром данных и применяется для некоторых операций ввода-вывода и тех операций умножения и деления над большими числами, которые используют регистровую пару DX:AX.

Регистры общего назначения (РОН) составляют группу регистров, которые в первую очередь используются для вычислительных целей. Все эти регистры имеют ширину 16 бит, но программа может в индивидуальном порядке использовать старшую или младшую 8-битовые части каждого регистра.
Например, ширина регистра АХ составляет 16 бит; программа может ссылаться на старшие 8 бит регистра АХ, как на регистр АН, а младшие S бит - это регистр AL. То же самое справедливо и для регистров ВХ, СХ и DX.
Основная цель, для которой предназначены регистры общего назначения - хранение операндов. Регистры общего назначения хороши тем, что они могут хранить как слово, так и байт данных. Однако иногда эти регистры имеют специальное назначение, приписываемое им некоторыми командами.
Регистр флагов – это очень важный регистр процессора, который используется при выполнении большинства команд. Регистр флагов носит название EFLAGS. Это 32разрядный регистр. Однако старшие 16 разрядов используются при работе в защищённом режиме, и пока мы их рассматривать не будем. К младшим 16 разрядам этого регистра можно обращаться как к отдельному регистру с именем FLAGS. Именно этот регистр мы и рассмотрим в этом разделе.
Каждый бит в регистре FLAGS является флагом. Флаг – это один или несколько битов памяти, которые могут принимать двоичные значения (или комбинации значений) и характеризуют состояние какого-либо объекта. Обычно флаг может принимать одно из двух логических значений. Поскольку в нашем случае речь идёт о бите, то каждый флаг в регистре может принимать либо значение 0, либо значение 1. Флаги устанавливаются в 1 при определённых условиях, или установка флага в 1 изменяет поведение процессора. На рис. 2.4 показано, какие флаги находятся в разрядах регистра FLAGS.
Бит |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Флаг |
0 |
NT |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
0 |
AF |
0 |
PF |
1 |
CF |
Рис. 2.4. Регистр флагов FLAGS.
Флаг установлен, если значение соответствующего ему бита равно 1.
Флаг сброшен, если значение соответствующего ему бита равно 0.
Девять из шестнадцати бит флагового регистра являются активными и определяют текущее состояние машины и результаты выполнения команд:

Рис.2. Структура флагового регистра
Многие арифметические команды и команды сравнения изменяют состояние флагов. Назначение флагов приведено в таблице 1.
Таблица 1. Назначение флаговых битов
Флаг |
|
Назначение |
|
|
|
|
|
|
OF (Переполнение) |
|
Указывает на переполнение старшего бита при арифметических |
|
командах. |
|
|
|
|
|
|
|
DF (Направление)
Обозначает левое или правое направление пересылки или сравнения строковых данных.
IF (Прерывание) |
|
Указывает на возможность внешних прерываний. |
|
|
|
TF (Пошаговый режим)
SF (Знак)
ZF (Ноль)
AF (Внешний перенос)
PF (Контроль четности, паритета)
CF (Перенос)
Обеспечивает возможность работы процессора в пошаговом режиме.
Содержит результирующий знак после арифметических операций (0 - плюс, 1- минус).
Показывает результат арифметических операций и операций сравнения (0 - ненулевой, 1 - нулевой результат).
Содержит перенос из 3-го бита для 8-битовых данных, используется для специальных арифметических операций.
Если младшие 8 битов содержат четное число единиц, то значение флага равно 1, в противном случае - 0.
Содержит перенос из старшего бита после арифметических операций, а также последний бит при сдвигах или циклических сдвигах.
При программировании на Ассемблере наиболее часто используются флаги OF, SF, ZF и CF для арифметических операций и операций сравнения, а флаг DF - для обозначения направления в операциях над строками.
Mov, and, xor, or.
mov приёмник, источник – команда пересылки данных. Копирует содержимое источника в приёмник, источник не изменяется. Например: mov ax, 1 присваивает регистру ax значение 1. Команда mov ax, word ptr eax – записывает в ax слово, лежащее по адресу eax. Байт по адресу eax записывается в младшую половину ax (в al), а байт по адресу eax+1 записывается в ah (по закону Intel). Но не обязательно, записывая команды, использовать такую сложную адресацию. Например, если у нас есть переменая "y" типа longint, то при помощи следующей команды ей можно присвоить значение 10000: mov y, 10000; Можно также записать mov dword ptr y, 10000, показывая, что "y" – 32-разрядная переменная. Если записать mov dword ptr [y+10], 5000, то, начиная с адреса [y+10] в память будет записано 32-битное число 5000. Можете не бояться писать подобные вещи (прибавление константы к адресу), так как все эти выражения вычисляются на стадии компиляции и на скорость программы не влияют. Пусть, например, "y" находится по адресу 34567. Если мы запишем [y+10], то компилятор просто поймёт это как [32577], так как он знает адрес переменной "y". Операнды команды mov могут быть как регистрами, так и переменными, но одновременно оба операнда не могут быть переменными
and|or приёмник, источник – выполняет логическое побитовое И|ИЛИ над приёмником и источником, и помещает результат в приёмник. Часто используется для выборочного обнуления|объединичивания отдельных битов. Например, команда and al, 00001111b обнулит старшие 4 бита регистра al, а младшие не изменит
xor приёмник, источник – логическое исключающее ИЛИ. Выполняет побитое логическое исключающее ИЛИ над приёмником и источником, результат заносится в приёмник. Часто используется для обнуления регистров. Например, xor ax, ax обнуляет регистр ax, и делает это быстрее, чем mov ax, 0. Этой командой следует пользоваться для обнуления регистров. Можете не бояться экзотичности этой команды. Она будет эффективно работать на любом Intel-совместимом компьютере. Эта команда официально поддерживается Intel как каманда обнуления регистра
Вопрос 5
Абстрактный анализ систем. Философия Аристотеля, механистическая концепния, «организменный подход».
Абстрактный анализ систем. Философия Аристотеля, механистич. концепция, ”организмич. подход”
Объединяющ. тезисы различ. направлений науки:
1.организмич. подход - изучение сис-мы в целом и изучение влияния различ. подсис-м на целевую ф-ию.
2.информац подход – изучение сис-м с точки зрения кол-ва инф-ии. Здесь мат базой явл-ся теория связи Шеннона.
3.”развитие”. Составляются уравнения (модели) изменения систем, кт очень похожи и мало зависят от базовых систем; 4.возможность создания мат. моделей
Аристотель объяснял поведение всего внутренними свойствами. Задача науки состояла в изучение свойств.Такой подход сохранялся до Ньютона и Галилея.
Механистич. концепция Ньютона описывает окружающий мир через систему взаимодействия. По Ньютону положение тела в любой момент времени можно определить зная начальное положение и силу действующего на него.
Организмеческий подход является синтезом основных концепций системного подхода и механической концепции. На сегодняшний день основу организменного подхода составляет теория информации. В общем виде развитие сис-мы - накопление информации, т.е. уменьшение внутренней энтропии, соответственно разрушение сис-мы - увеличения энтропии. Согласно термодинамике энтропия замкнутой сис-мы возрастает, поэтому существование замкнутой сис-мы невозможно. Необходима внеш. подпитка инф-ии