Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа 1
ОРГАНИЗАЦИЯ УСЛОВНЫХ ПЕРЕХОДОВ
Контрольные вопросы:
1. Какие бывают команды перехода?
Ответ: Команды переходов:
Безусловный переход (Jmp);
Условный переход (Jnnn) (символы nnn мнемонического кода зависят от проверяемого условия). Условные переходы бывают без учета и с учетом знака.
2. Перечислите команды условных переходов.
Ответ:
Без учета знака:
Ja/jnbe переход, если выше (не ниже и не равно) Z,C
Jae/jnb/jnc переход, если C=0: выше или равно (не ниже) C
Jb/jnae/jc переход, если C=1: ниже (не выше и не равно) C
Jbe/jna переход, если ниже или равно (не выше) A,C
Je/jz переход, если равно (нуль): Z=1 Z
Jne/jnz переход, если не равно (не нуль): Z=0 Z
Jp/jpe переход, если четность: Р=1 P
Jnp/jpo переход, если нечетность: Р=0 P
C учетом знака:
Jg/jnle переход, если больше (не меньше и не равно) Z,S,O
Jge/jnl переход, если больше или равно (не меньше) S,O
Jl/jnge переход, если меньше (не больше и не равно) S,O
Jle/jng переход, если меньше или равно (не больше) Z,S,O
Js переход, если отрицательно: S=1 S
Jns переход, если положительно: S=0 S
Jo переход, если переполнение: O=1 O
Jno переход, если нет переполнения: O=0 O
3. С помощью каких регистров признаков осуществляется каждая из них?
Ответ: Смотрите ответ на предыдущий вопрос.
4. Каков формат команд перехода, и к какому способу адресации они относятся?
Ответ: Формат команд:
Код Операнд
<метка> jmp(jnnn) r, m
В команде может использоваться либо прямая, либо косвенная адресация. При прямой в качестве операнда указывается метка, которому передается управление. При косвенной адресации операнд должен указать либо на регистр, в котором хранится смещение на оператор внутри сегмента, либо на участок памяти, где хранится адрес передачи управления.
5. По каким условиям записывается 1 в каждый из разрядов регистра состояния МП?
Ответ:
Флаг Назначение
O (Переполнение) Указывает на переполнение старшего бита (О=1) при арифметических командах.
D (Направление) Обозначает левое (D=1) или правое (D=0) направление пересылки или сравнения строковых данных.
I (Прерывание) Указывает на возможность внешних прерываний (I=1).
T (Пошаговый режим) Обеспечивает возможность работы процессора в пошаговом режиме (T=1).
S (Знак) Содержит результирующий знак при арифметических операциях (0 - плюс, 1 - минус).
Z (Ноль) Показывает результат арифметических операций и операций сравнения (0 - ненулевой, 1 - нулевой результат).
A (Внешний перенос) Содержит перенос из 3-го бита (А=1) для 8-битовых данных, используется для специальных арифметических операций.
P (Контроль четности) Показывает четность младших 8-битовых данных (1 - четное, 0 - нечетное число).
C (Перенос) Содержит перенос из старшего бита (С=1) после арифметических операций, а также последний бит при сдвигах или циклических сдвигах.
Лабораторная работа 2
МАСКИРОВАНИЕ ДАННЫХ
Контрольные вопросы:
Ответ: Практически все МП производят логические операции: «лог. И», «лог. ИЛИ», исключающее ИЛИ, которые выполняются над одноименными разрядами операндов с помощью команд and, or, xor. Команда not инвертирует значение каждого разряда операнда.
Ответ: Хor инвертирует содержимое разряда числа, если в соответствующем разряде маски записана единица, иначе не изменяет его.
Ответ: При выполнение логических команд задействованы разряды регистра состояния: C, O, P, S, Z.
Ответ: Результат после выполнения команд AND, OR, XOR помещается по адресу первого операнда.
Ответ:
Аргументы |
Логические операции |
|||
X1 |
X2 |
И |
ИЛИ |
Исключающее ИЛИ |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Лабораторная работа 3
ПОДПРОГРАММА И СТЕК
Контрольные вопросы:
Ответ: Команда возврата из процедуры RET возвращает управление из процедуры, вызванное ранее командой CALL. Команда RET заносит слово из стека в регистр IP и увеличивает значение регистра SP на 2. Для межсегментного возврата команда RET, кроме того, заносит слово из новой вершины стека в регистр CS и еще раз увеличивает значение SP на 2. Любой числовой операнд команды прибавляется к указателю стека SP.
Ответ: Команда вызова процедура CALL осуществляет передачу управление по адресу процедуры, на которую ссылается операнд команды. Эта команда используется для сохранения адреса точки возврата в стек. Возврат из вызванной процедуры осуществляется по команде RET в точку программы, следующей за командой вызова CALL. Команда RET извлекает из стека адрес точки возврата.
Ответ: Сохраняется и извлекается содержимое регистров МП в подпрограмме по принципу: последний зашел, первый вышел (FIFO) (First input, first output).
Ответ: POPF чтение содержимого регистра признаков из стека;
NOP -- отсутствие операции, т.е. МП остановит действия по выполнению программы, до тех пор пока не поступит новая операция для выполнения.
Лабораторная работа 4
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ДЕЛЕНИЯ
ЦЕЛЫХ ДВОИЧНЫХ ЧИСЕЛ
Контрольные вопросы:
Ответ: Процесс деления заключается в многократных сдвигах влево и сложении в дополнительном коде. При организации автоматического процесса деления все операции должны выполнятся явно.
Ответ: Отличие программ с явным счетчиком (1) и с неявным (2) в том, что назначение регистра СХ в них различно. В первом случае в регистр СХ записывается величина, которую отчитывает счетчик, а во втором случае значение делителя.
Ответ: В программах 1,2 разряды частного при делении чисел на машине определяются (начиная со старшего) путем последовательного вычитания делителя из остатка, полученного от предыдущего вычитания. Если остаток после вычитания получается положительный, в разряд частного записывается 1, если отрицательный, то 0. На практике обычно отрицательный остаток не записывается, просто делитель дополнительно сдвигается на один разряд вправо и вычитается из последнего положительного остатка.
Ответ: Программа 2 выполняется неявно, то есть как бы в уме. Если в явном счетчике происходит наглядное поэтапное рассмотрение процесса деления, то в неявном счетчике, хотя и происходит поэтапный процесс, выделяются только текущие значения остатка и делителя.
Лабораторная работа 5.
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ УМНОЖЕНИЯ
ЦЕЛЫХ ДВОИЧНЫХ ЧИСЕЛ.
Контрольные вопросы:
Ответ: Существует несколько алгоритмов умножения чисел. При неявном алгоритме умножение можно заменить многократным сложением, например 14*3=14+14+14. Существенный недостаток этого способа ─ значительная длительность процесса вычисления. При втором алгоритме умножение (явный алгоритм) осуществляется в столбец. Этот алгоритм применим для умножения двоичных чисел.
Ответ: Алгоритм работы программы умножения основан на многократном сдвиге вправо и сложении.
Ответ: Сдвиг влево (вправо) означает, что содержимое каждого разряда РАк передвигается в соседний старший (младший) разряд.
3