Лабораторная работа №2
Битовые операции в языке Ассемблер.
Совместное использование языка Ассемблер и языков высокого уровня
Цель работы
1. Ознакомиться и освоить работу с командами битовых операций на языке Ассемблер
2. Освоить включение ассемблерных команд в программу на языке высокого уровня
3. Выполнить задание согласно варианту. Результаты вычислений вывести на экран в двоичной системе счисления.
Выполнение работы
1. Ознакомиться с командами операций алгебры логики, логических, арифметических и циклических сдвигов.
2. Проанализировать задание, составить алгоритм выполнения необходимых расчетов
3. Написать на языке ассемблера программу, выполняющую поставленную задачу
4. Протестировать программу на различных входных данных
Содержание отчета
1. Перечень битовых операций языка ассемблера
2. Алгоритм выполнения поставленной задачи
3. Листинг программы на ассемблере и С++ (Паскале)
4. Результаты выполнения программы на различных входных данных
Варианты заданий
1. Задано число в регистре AX. Установить биты 0,3,5 в значение 1. Результат записать в регистр BX.
2. Задано число в регистре AX. Установить биты 0,3,5 в значение 0. Результат записать в регистр BX.
3. В регистре AX задано число. Без использования операций условного перехода установить регистр BX в значение 1, если 3-й бит исходного числа равен 1. Установить в 0, если 3-й бит равен 0.
4. В регистре AX задано число. Без использования операций условного перехода установить регистр BX в 0, если 1,5,7 биты числа равны 0. Иначе BX не должен быть равен 0 (любое, получившееся по алгоритму, число не равное 0).
5. Установить BX числу равному полю регистра AX с 0 по 30 биты. Считать, что число отрицательное.
6. Задано число в регистре AX. Установить биты 1,20 в значение 1. Результат записать в регистр BX.
7. Задано число в регистре AX. Установить биты 1,20 в значение 0. Результат записать в регистр BX.
8. В регистре AX задано число. Без использования операций условного перехода установить регистр BX в значение 1, если 24-й бит исходного числа равен 1. Установить в 0, если 24-й бит равен 0.
9. В регистре AX задано число. Без использования операций условного перехода установить регистр BX в 0, если 0,20,31 биты числа равны 0. Иначе BX не должен быть равен 0 (любое, получившееся по алгоритму, число не равное 0).
10.Установить BX числу равному полю регистра AX с 2 по 8 биты. Считать, что число отрицательное.
11.Задано число в регистре AX. Установить биты 1,2,3 в значение 1. Результат записать в регистр BX. Вывести на экран.
12.Установить BX числу равному полю регистра AX с 0 по 3 биты. Считать, что число положительное.
13.Задано число в регистре AX. Установить биты 1,2,3 в значение 0. Результат записать в регистр BX. Вывести на экран.
14.В регистре AX задано число. Без использования операций условного перехода установить регистр BX в значение 1, если 31-й бит исходного числа равен 1. Установить в 0, если 31-й бит равен 0.
15.В регистре AX задано число. Без использования операций условного перехода установить регистр BX в 0, если 30,29,7 биты числа равны 0. Иначе BX не должен быть равен 0 (любое, получившееся по алгоритму, число не равное 0).
16.Установить BX числу равному полю регистра AX с 4 по 20 биты. Считать, что число положительное.
17.Установить BX числу равному полю регистра AX с 4 по 20 биты. Считать, что число отрицательное.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.