
лабораторная работа / лабораторные работы по ASSAMBLER / lab2 вариант 30
.doc
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ
САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ
факультет: инженерно-строительный
кафедра: управление и информатика в технических системах
Лабораторная работа №2
по дисциплине: СПО
Вариант №30
Выполнил ст. гр. УИТ-32
Тихонова Т.В.
Принял:
Стельмах И.В.
2006 г.
Цель работы: ознакомление со способами определения данных и изучение механизма передачи управления в программе (циклы и переходы) для операций сравнения.
Задание:
-
Определить массив в области данных
-
Составить алгоритм прграммы, выполняющей действия с элементами массива согласно № варианта (см. табл.).
-
Написать программу на языке ассемблер, реализующей данный алгоритм.
-
Отладить и выполнить программу.
Задание:
30 |
Наити сумму нечётных элементов массива, попавших в заданный интервал |
(2;14) |
12 |
Листинг программы:
DOSSEG
.MODEL small
.stack 100h
.data
massiv DB 0,12,13,1,30,2,44,4,22,6,7,9
.code
mov ax,@data
mov ds,ax
mov cx,12
mov dx,0
lea bx,massiv
m1:
mov al,[bx]
cmp al,2
jl m2
cmp al,14
ja m2
or al,al
jp m2
mov ah,0
add ax,dx
mov dx,ax
m2:
inc bx
loop m1
mov ah,4ch
int 21h
END
В конце выполнения программы dx=001DH=29D, что соответствует теоретическому результату для заданного массива