Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
11.02.2014
Размер:
79.87 Кб
Скачать

Цель работы: ознакомление со способами определения данных и изучение механизма передачи управления в программе (циклы и переходы) для операций сравнения.

ЗАДАНИЕ ДЛЯ ЛАБОРАТОРНОЙ РАБОТЫ

  1. Определить массив в области данных

  2. Составить алгоритм программы, выполняющей действия с элементами массива согласно № варианта (см. табл.).

  3. Написать программу на языке ассемблер, реализующей данный алгоритм.

  4. Отладить и выполнить программу.

Задание:

  1. Найти сумму положительных элементов массива, попавших в заданный интервал (0;23). Количество элементов 12.

  2. Найти количество положительных элементов массива, попавших в заданный интервал (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 задание: