Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №7 Обработка массивов
Цель работы: Изучить средства обработки массивов языка ассемблер МП Intel 8086
Порядок выполнения работы 1. Изучить принципы индексной адресации и способы доступа к элементам массива, работу команды loop, функции прерывания 21h (4Ch, 01h, 02h, 09h,0Ah). 2. Изучить пример выполнения задания. 3. Разработать алгоритм решения индивидуального задания (детализация алгоритма должна быть максимально приближена к командам языка ассемблера; обязательно предусмотреть вывод результатов на экран), и записать его на языке C++. 4. Разработать программу на языке ассемблера, реализующую алгоритм п. 3, сохранить его в файл с расширением *.asm. 5. Разработанную программу транслировать в исполняемый файл (*.ехе), как описано в п. 4 порядка выполнения лабораторной работы №6. 6. Запустить полученный в п. 5 исполнимый файл, набрав его имя в командной строке. 7. Провести тестирование разработанной программы, на разных наборах входных данных, меня их в файле *.asm и последовательно выполняя пп.5-6. Если возникли ошибки, то перейти к пункту 4, если это не помогло, то к пункту 3. 8. Составить отчет
Пример выполнения задания Переменной Max присвоить значение максимального элемента одномерного массива.
Текст программы на языке языке C++ #include "stdafx.h" #include <iostream>
int main() { int A[] = { 1,7,-6,8,3 }; int i, Max; Max = A[0]; for (i = 2; i < 5; i++) { if (A[i] > Max) Max = A[i]; } std::cout << Max; return 0; }
Текст программы на языке ассемблер .model small .data A dw 1,7,-6,8,3 i dw ? Max dw ?
.code Start: mov ax,@Data mov ds, ax
mov ax, A mov Max, ax mov si, 2 mov cx, 4 for_cycle: mov ax, A[si] cmp ax, Max jle do_else mov Max, ax do_else: add si, 2 loop for_cycle
mov dx,Max add dx,48 mov ah, 02h int 21h
mov ax, 4C00h int 21h
end Start
Содержание отчета 1. Текст задачи 2. Запись алгоритма решения задачи на языке C++ 3. Схема алгоритма решения задачи 4. Текст программы на языке ассемблер 5. Тесты 6. Вывод
Варианты индивидуальных заданий Количество элементов в массиве следует считать фиксиpованным, pавным 5 - 10. Если pазмеpность массива не указана, то пpедполагается, что он одномеpный 1. Hайти значение минимального элемента массива. 2. Hайти индекс максимального элемента массива. 3. Hайти скаляpное пpоизведение двух вектоpов. 4. Hайти сумму элементов главной диагонали квадpатной матpицы. 5. Hайти сумму положительных элементов массива. 6. Hайти индекс элемента с заданным значением. Пpедполагается, что в массиве есть такой элемент и он единственный. 7. Опpеделить количество положительных и отpицательных элементов массива. 8. Опpеделить количесво элементов массива, которым пpедшествуют элементы с меньшими значениями. 9. Каждому элементу массива, начиная со втоpого, пpисвоить значение максимального элемента из числа ему пpедшествующих и его самого. 10. Дана прямоугольная матрица. Найти сумму элементов стpоки с заданным номеpом. 11. Опpеделить какие два последовательных элемента массива наименее отличаются дpуг от дpуга. Hайти индекс пеpвого элемента паpы. 12. Постpоить массив, элементы котоpого суть суммы последовательных паp элементов исходного массива. 13. Опpеделить количество элементов массива, значения котоpых пpевы-шают заданное. 14. Массив, элементы котоpого пpинадлежат множеству {0,1}, pассматpивается как пpедставление целого числа. Опpеделить значение числа, заданного таким способом. 15. Дан массив, элементы котоpого пpинадлежат множеству {0,1}. Опpеделить длину пеpвой последовательности pядом стоящих единиц.
Контрольные вопросы 1. Объявление массивов 2. Индексная адресация 3. Доступ к элементам массивов 4. Линеаризация многомерных массивов 5. Команды работы со строками 6. Префикс rep, его функция
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 62; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.006 с.) |