Автор работы: Пользователь скрыл имя, 19 Декабря 2013 в 21:49, лабораторная работа
Три массива в памяти заданы начальными адресами и длинами. Вычислить и вывести на устройство вывода среднее арифметическое параметров этих массивов.
Определить среднее арифметическое первых отрицательных чисел в массивах.
Определить количество нечетных чисел.
Лабораторная работа 5
Три массива в памяти заданы начальными адресами и длинами. Вычислить и вывести на устройство вывода среднее арифметическое параметров этих массивов.
rd #85
wr R1
rd #14
wr R2
call M
wr R6
rd #100
wr R1
rd #4
wr R2
call M
wr R7
rd #110
wr R1
rd #9
wr R2
call M
add R7
add R6
div #3
out
hlt
M: rd @R1
wr R3
L2: rd @R1+
wr R4
sub R3
js LI
mov R3,R4
LI: JRNZ R2,L2
rd R3
ret
Определить среднее арифметическое первых отрицательных чисел в массивах
rd #85
wr R1
rd #14
wr R2
call M
wr R6
rd #100
wr R1
rd #4
wr R2
call M
wr R7
rd #110
wr R1
rd #9
wr R2
call M
add R7
add R6
div #3
out
hlt
M: rd @R1
wr R3
L2: rd @R1+
wr R4
rd #0
sub R4
js LI
jns 33
mov R3,R4
LI: JRNZ R2,L2
rd R3
ret
11 |
Определить количество нечетных чисел |
Ищет все нечетные числа в массивах и делит на 3
rd #85; загрузка параметров массивов
wr R1
rd #14
wr R2
call M; вызов подпрограммы
wr R6
rd #100
wr R1
rd #4
wr R2
call M
wr R7
rd #110
wr R1
rd #9
wr R2
call M
rd R4
div #3
out
hlt; Подпрограмма
M: rd @R1+; загрузка 1-го элемента
wr R3
M1: rd @R1; определение четности
div #2
mul #2
sub R3
jnz 29; если число нечетное
jz 32; если четное
rd R4; если нечетное - добавление 1
add #1
wr R4
js LI
LI: JRNZ R2,M
ret
Ищет сумму всех нечетных чисел в 3-х массивах и делит на 3
rd #85; загрузка параметров массивов
wr R1
rd #14
wr R2
call M; вызов подпрограммы
wr R6
rd #100
wr R1
rd #4
wr R2
call M
wr R7
rd #110
wr R1
rd #9
wr R2
call M
rd R5
div #3
out
hlt; Подпрограмма
M: rd @R1+; загрузка 1-го элемента
wr R3
M1: rd R3; определение четности
div #2
mul #2
sub R3
jz 35; если четное
jnz 29; если число нечетное
rd R4; если нечетное - добавление 1
add #1
wr R4
rd R5
add R3
wr R5
js LI
LI: JRNZ R2,M
ret