Вариант 07 Лаба 04 |
200,00 ₽
Просмотров: 1847
|
Тип работы: | Контрольная |
Название предмета: | Основы системного программирования |
Тема/вариант: | Вариант 07 Лаба 04 |
Объем работы: | 5 |
ВУЗ: | СибГУТИ |
Дата выполнения: | 2013-08-12 |
Размер файла, тип файла: | 110.43 Kb, RAR |
Прикрепленные файлы: |
Курс 170 Основы системного программирования (952 Kb)
|
Цель работы: Научиться использовать команды логических операций
Порядок выполнения работы:
ВАЖНО: Прочитайте требования к выполнению и оформлению лабораторных работ.
Задание 1вариант 7
1. Изучите приведенную ниже программу на языке ассемблера. Программа подсчитывает количество единиц в заданном байте и результат заносит в регистр DX.
TITLE Program4 ;названиепрограммы
.MODEL small ;отводим под стек и под данные по 64Кб
.STACK 100h ;отмечаемначалосегментастека
.DATA ;отмечаемначалосегментаданных
B DB 54 ;задаембайт 54=00011011b
.CODE ;отмечаемначалосегментакодов
main PROC
mov AX, @data ;копируемадрес
mov DS, AX ;сегментаданных
mov СХ, 8 ;задаемколичествоповторений
xor DX, DX
mov AX, DX
mov AL, B ; заносимзаданныйбайт
Cycle: shr AL, 1 ;регистр AL сдвигаем вправо на одну позицию
jnc Next ;если сдвинутый бит 0, то переходим на конец цикла
inc DХ ;иначеувеличиваемсчетчик
Next: loop Cycle
mov AX,4C00h ;выход
int 21h ;изпрограммы
main ENDP
2. Выполните отладку программу. Чему равно значение DX перед выходом из программы?
Задание 2
Используя предложенную выше программу, выполните второе задание. Исполнить программу с несколькими (три - четыре) различными (по количеству и по составу) массивами данных, проверить правильность результатов. Номерзаданиявыбирается в соответствии с последнейцифройпароля.
1. Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты. Результатзанести в DX.
2. Дан массив из 8 байт. Рассматривая его, как массив из 64 бит, посчитать количество единиц. Результатзанести в DX.
3. Дан массив из 8 байт. Выполнить последовательное логическое умножение всех элементов массива. Результатзанести в DX.
4. Дан массив из 10 байт. Посчитать количество байт с тремя единицами. Результатзанести в DX.
5. Рассматривая заданный байт как набор логических значений
(x7 x6 x5 x4 x3 x1 x0) (true -1, false - 0), вычислить логическую формулу
f=(x7 & x6 &x3 ) V (x6 & x4 & x2 & x1)
6. Дан массив из 8 байт. Рассматривая его, как массив из 64 бит определить номер последней единицы в этом массиве.
7. Дан массив из 10 байт. Посчитать количество единиц во всех разрядах, кратных трём: 3, 6, 9, …, 75, 78.
8. Дан массив из 6 байт. Рассматривая его, как массив из 48 бит, посчитать в нём количество нулей.
9. Дан массив из 6 байт. Посчитать количество байт число единиц, в которых не превышает 3
10. Дан массив из 6 байт. Посчитать количество единиц во всех разрядах, кратных пяти: 5, 10, …, 45.
Сообщить другу