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

Лабораторная работа №31 / Отчет(5 лаба)

.doc
Скачиваний:
45
Добавлен:
02.05.2014
Размер:
48.13 Кб
Скачать

Федеральное агентство по образованию

Уфимский государственный авиационный технический университет

Кафедра технической кибернетики

Отчет

По лабораторной работе №3

«Ассемблер: программирование операций ввода-вывода»

Выполнил: студент гр. РС-218

Иванов О.В.

Проверила: ассистент Семененко Д.В.

Уфа 2008

Цель работы: целью работы является закрепление лекционного материала по командам прерывания на языке ассемблера и приобретение практических навыков использования этих команд в программах с операциями ввода-вывода.

Задание: определить, находиться ли минимальный элемент двухмерного массива на главной диагонали или нет. Элементы массива однобайтовые.

Листинг программы

TITLE MIN_EL_B

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK ')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

Mas db 1,3,4,2,6

db 1,5,9,8,6

db 7,1,2,8,3

db 1,2,9,8,1

db 4,7,8,2,8

Len_mas equ 5

Mes1 db 0ah,0dh,'Minimalnyi element massiva = $'

Mes2 db 0ah,0dh,'Element massiva nahoditsj na glav diag! $'

Min db ?

I dw ?

J dw ?

DSEG ENDS

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG, SS:STACK

START PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

XOR AX,AX

XOR DI,DI

MOV CX,5

LEA BX,Mas

MOV DL,byte ptr [BX];

CYC1: PUSH CX

XOR SI,SI

MOV CX,Len_mas

INC DI;

CYC2: CMP BYTE ptr [BX+SI],DL

JA NOT_MIN

MOV DL,BYTE ptr [BX+SI]

MOV Min,DL

MOV I,DI;

MOV J,SI

NOT_MIN:

INC SI

LOOP CYC2

POP CX

ADD BX, Len_mas

LOOP CYC1

XOR DX,DX

MOV DX,I

CMP DX,J

JNE K1

MOV AH,09H

MOV DX,OFFSET Mes2

INT 21h

K1:

MOV AH,09H

MOV DX,OFFSET Mes1

INT 21h

MOV AH,02H

MOV DL,Min

ADD DL,30h

INT 21h

EXIT: RET

START ENDP

CSEG ENDS

END START

Тестирование

Тест

Ожидаемый результат

Фактический результат

Mas db 1,3,4,2,6

db 1,5,9,8,6

db 7,1,2,8,3

db 1,2,9,8,1

db 4,7,8,2,8

Element massiva nahoditsj na glav diag

Element massiva nahoditsj na glav diag

Вывод: в ходе лабораторной работы приобрели навыки написания программ с использованием прерываний в операциях ввода/ввода.

Соседние файлы в папке Лабораторная работа №31