↑ вверх

Помощь дистанционщикам!
ДО СибГУТИ (www.do.sibsutis.ru),
ДО СибАГС (www.sapanet.ru),
ДО НГУЭиУ (sdo.nsuem.ru),
ДО СибУПК (sdo.sibupk.su) и др ВУЗы

Этот сайт продаётся. По всем вопросам обращаться по +7 913 923-45-34 (Денис)
Корзина пуста!
Обратная связь




Вариант 07 Лаба 03

20000
      
Просмотров: 701
Тип работы: Контрольная
Название предмета: Основы системного программирования
Тема/вариант: Вариант 07 Лаба 03
Объем работы: 5
ВУЗ: СибГУТИ
Дата выполнения: 2013-08-12
Размер файла, тип файла: 108.23 Kb, RAR
Прикрепленные файлы: Курс 170 Основы системного программирования (952 Kb)

Тема: Работа с массивами данных
Цель работы: Научиться обрабатывать массивы данных.
Порядок выполнения работы:
ВАЖНО: Прочитайте требования к выполнению и оформлению лабораторных работ.
Задание 1Вариант 7
1.    Изучите приведенную ниже программу на языке ассемблера. Программа вычисляет максимальный элемент массива и результат заносит в переменную регистр Max.
TITLE Program3     ;названиепрограммы
.MODEL small     ;отводим под стек и под данные по 64Кб
.STACK 100h     ;отмечаемначалосегментастека
.DATA     ;отмечаемначалосегментаданных
A DW 5, 3, 9, 4, 5
Max DW 0     ;описание массива из 5 элементов
;описание переменной Max
.CODE     ;отмечаемначалосегментакодов
main PROC    
mov AX, @data     ;копируемадрес
mov DS, AX     ;сегментаданных
mov SI, OFFSET A     ;заносим в SI начало массива А
mov CX, 4     ;в СХ заносим количество итераций
cld    ;устанавливаем прямой порядок обработки массива
mov AX, [SI]    
mov Max, AX
L1:     ;в Мах заносим первый элемент массива
inc SI     ;сдвигаемся по массиву к следующему
inc SI     ;элементу
mov AX,[SI]     ;заносим в АХ текущий элемент массива
cmp AX, Max
jbe L2     ;сравниваем АХ с Мах
;если меньше или равно, переходим наL2
mov Max, AX
L2:     ;иначезапоминаемновыймаксимум
loop L1     ;циклическиповторяемвседействия
mov AX,4C00h     ;выход
int 21h     ;изпрограммы
main ENDP    
END main    
2.    Выполните отладку программу с использованием отладчика TurboDebugger. Посмотрите как изменяются регистры в процессе выполнения программы.Чему равно значение переменной Max перед выходом из программы? Совпадает ли результат вычислений с реальным значением максимального элемента массива?
Задание 2
Используя предложенную выше программу, выполните второе задание. Исполнить программу с несколькими (три - четыре) различными (по количеству и по составу) массивами данных, проверить правильность результатов. Номерзаданиявыбирается в соответствии с последнейцифройпароля.
1.    Составьте программу, которая вычисляет и заносит в DX номер максимального элемента массива.
2.    Составьте программу для подсчета вхождений заданного целого числа в массив. Количествовхожденийдолжнонаходиться в регистре DX
3.    Найти количество отрицательных чисел в массиве чисел и занести его в DX.
4.    Найти сумму абсолютных величин в массиве чисел и занести ее в DX.
5.    Найти количество положительных чисел в массиве чисел и занести ее в DX.
6.    Заменить все отрицательные числа нулями в массиве чисел.
7.    Найти среднее арифметическое чисел в массиве и занести его в DX.
8.    Найти количество чисел больших 10h в массиве чисел и занести его в DX.
9.    Найти наименьшее по абсолютной величине числа в массиве чисел и занести его в DX.
10.    Найти количество чисел в массиве чисел больших 12h и меньших 0Afh. Результатзанести в DX.

 

ЗАКАЗАТЬ РАБОТУ
Отправь нам своё задание, и мы поищем твою работу в нашей базе готовых работ. А если не найдем, то порекомендуем партнеров, которые качественно смогут выполнить твой заказ.
(doc, docx, rtf, zip, rar, bmp, jpeg) не более 5 Мб