Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Программирование циклов и условий. Работа с массивами.





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

В этой работе необходимо применить команду сравнения данных (CMP), команды условных и безусловных переходов (Jmp и Jcc), команду организации циклов (Loop), использование индексных регистров SI и DI и регистра CX.

Следующий пример (в котором сохранены детали обрамления программы из лабораторной работы № 1), выполняет обработку массива, в котором все отрицательные элементы заменяются на нули, а положительные увеличиваются вдвое, одновременно вычисляется сумма новых элементов массива.

 

; Самая первая программа для трассировки

;

assume cs:mycode,ds:mydate,ss:mystack

mycode segment para

start: push ds

xor ax,ax

push ax

mov ax,seg mydate

mov ds,ax

xor si,si ; обнуление

mov di,si

mov sum,si

mov cx,n ; подготовка цикла

cycl: mov ax,a[2*si] ; выборка элемента массива

cmp ax,zero ; сравнение с нулём

jl ifless ; переход, если «меньше»

; а если не меньше, то:

add ax,ax ; удвоение

jmp summa ; обход ветви «меньше»

ifless: mov ax,zero

summa: mov a[2*di],ax ; запись изменённого элемента

add ax,sum ; суммирование

mov sum,ax ; и запись суммы

inc si ; увеличение индексов

inc di

loop cycl

retf

mycode ends

mydate segment para

n dw 12

a dw 4,3,8,-5,-1,-9,6,7,2,-8,1,-3

sum dw ?

zero dw 0

mydate ends

 

mystack segment para stack ‘stack’

dw 100 dup (?)

mystack ends

end start

 

Требуется ввести эту программу и покомандно выполнить её, как описано в лабораторной работе №1, после чего выполнить один из вариантов задания:

a) По данному массиву целых чисел построить массивы частных и остатков от деления на простое число (например, на 3);

b) По данному массиву целых чисел построить массивы квадратов и кубов;

c) По данным двум массивам целых чисел построить массивы сумм и разностей их элементов;

d) По данному массиву целых чисел найти их среднее арифметическое и построить массив, элементы которого равны разности исходных элементов и полученного среднего;

e) По данному массиву целых чисел найти их минимум и построить массив, элементы которого равны разности исходных элементов и полученного минимума;

f) По данному массиву целых чисел найти их максимум и построить массив, элементы которого равны разности полученного максимума и исходных элементов;

g) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти среди них минимум и максимум;

h) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти их среднее;

i) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти сумму элементов, больших 5;

j) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти число элементов, меньших их среднего арифметического;

k) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти их произведение;

l) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти количество нечётных цифр;

m) В данном массиве цифровых символов заменить каждый символ на соответствующее двоичное число и найти количество простых чисел.

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.