ВУЗ:
Составители:
Рубрика:
26
Примерные варианты контрольных задач:
1. Реализовать сложение двух 64-разрядных чисел.
2. Реализовать вычитание двух 64-разрядных чисел.
3. Реализовать вычитание двух 64-разрядных чисел, не используя ко-
манду SUB.
4. Показать на примере реализацию команд умножения и деления
командами 32-разрядного процессора (формат посмотреть в окне
дизассемблера).
4.3. Изучение логических команд и команд сдвигов
При выполнении задания требуется все исходные данные и результат
представлять в двоичном виде. Кроме демонстрации работы логических ко-
манд требуется особо выделить и продемонстрировать: отличия команды
NOT от команды NEG, отличия команд SHR и SAR, отличия команд SUB и
TEST, отличия циклических сдвигов и циклических сдвигов через флаг C.
Работу команды SAR продемонстрируйте для положительных и отрицатель-
ных чисел.
Некоторые часто используемые приемы работы с использованием ло-
гических команд:
1. Очистка содержимого регистра командой «исключающее или», в кото-
рой и источник, и приемник – один и тот же регистр (XOR CX,CX).
2. Проверка присутствия бита на заданной позиции с помощью маски,
например, есть ли в регистре AX единица в 5-м бите, проводится ко-
мандой TEST (TEST AL, 00100000B).
3. Использование маски для очистки одного бита (или нескольких битов)
командой «логическое и». На очищаемые позиции в маске устанавли-
вается 0, а в остальных – единицы, например, если в AL надо 5-й бит
установить равным нулю, то пишется команда: AND AL,11011111B.
4. Аналогично для установки бита в конкретной позиции используется
команда «логическое или» (AND AL,00100000B).
5. Проверку содержимого крайних битов осуществляют сдвигом их во
флаг переноса C.
6. Умножение (деление) на число, равное степени числа 2, делают ариф-
метическим сдвигом влево (вправо).
Примерные варианты контрольных задач:
1. Реализовать циклический сдвиг влево 32-разрядного числа, оперируя
только 16-разрядными регистрами.
2. Реализовать циклический сдвиг вправо 32-разрядного числа, оперируя
только 16-разрядными регистрами.
3. Реализовать умножение на 7 (или 15, или 17, или 33), используя коман-
ды сдвигов и (только один раз) сложение или вычитание.
4. Реализовать умножение числа 2000000099 на 10.
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »