
лабораторная работа / лабораторные работы по ASSAMBLER / Отчет по 2 й работе asm
.docЦель работы: ознакомление со способами определения данных и изучение механизма передачи управления в программе (циклы и переходы) для операций сравнения.
ЗАДАНИЕ ДЛЯ ЛАБОРАТОРНОЙ РАБОТЫ
-
Определить массив в области данных
-
Составить алгоритм программы, выполняющей действия с элементами массива согласно № варианта (см. табл.).
-
Написать программу на языке ассемблер, реализующей данный алгоритм.
-
Отладить и выполнить программу.
Задание:
-
Найти сумму положительных элементов массива, попавших в заданный интервал (0;23). Количество элементов 12.
-
Найти количество положительных элементов массива, попавших в заданный интервал (5;32). Количество элементов 14.
1 задание:
DOSSEG
.MODEL small
.stack 100h
.data
star db 'Roshchin'
MassEv DB -1,-2,-3,-4,5,-6,-7,-8,-9,10,-11,-12
.code
mov ax,@data
mov ds,ax
mov cx,12
mov dx,0
lea bx,MassEv
a1:
mov al,[bx]
or al,al
js a2
add dl,al
a2:
inc bx
loop a1
;конец программы без RET!!!
mov ah,4ch
int 21h
END
2 задание:
DOSSEG
.MODEL small
.stack 100h
.data
star db 'Roshchin'
MassEv DB -1,-2,-3,-4,-5,6,7,8,9,10,-11,-12,-13,-14
.code
mov ax,@data
mov ds,ax
mov cx,14
mov dx,0
lea bx,MassEv
a1:
mov al,[bx]
or al,al
js a2
cmp al,5
jle a2
cmp al,32
jge a2
mov al,[bx]
inc dx
a2:
inc bx
loop a1
;конец программы без RET!!!
mov ah,4ch
int 21h
END
1 задание:
2 задание: