Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
13_CРС_СП_МУ.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
379.9 Кб
Скачать

4 . Результаты тестирования и характеристики

РАБОТЫ ПРОГРАММЫ.

В результате выполнения программы на монитор выводится текстовое сообщение в заданном формате и программа работает в соответствии с поставленной задачей . Быстродействие программы, надеюсь, максимально возможное - вывод сообщения происходит сначала на активную страницу , а только затем происходит замена страниц. Невозможность одновременной работы с несколькими страницами определяется однозадачностью OS MS-DOS - поэтому мы определяем эффективность работы нашей программы как максимальную.

СРС №10

Организация ввода данных и вывода результатов

1.ЗАДАНИЕ НА СРС

Разpаботать пpогpамму на языке Ассемблеpа, удаляющую i строку от начала файла. Исходный текст пpогpаммы следует написать таким обpазом, чтобы все его стpоки имели одну и ту же длину. Hомеp стpоки исходного текста, относительно котоpой следует выполнить коppекцию, опpеделить десятичной однобайтовой константой с помощью диpективы db.

2.КРАТКОЕ ОПИСАНИЕ АЛГОРИТМА.

- открываем исходный файл

- читаем его в буфер

- удаляем в буфере заданную строку

- записываем файл из буфера на диск

- закрываем файл

После каждого действия проводится проверка на правильность

выполнения операции.

3.ТЕКСТ ПРОГРАММЫ .

CODE SEGMENT

ASSUME CS: CODE, DS: CODE,ES:CODE

ORG 100H

BEGIN:

JMP START

F_Name DB 'LAB_7.ASM',0h

R_Name DB 'LAB_7.RES',0h

File DW 0

F_size DW 0

String DB 16

Err_mes DB 'Error in process',7,'$'

Start:

;\\---------------------------------\\

;\\ OPEN FILE \\

mov ax,3d02h

mov dx,offset F_name

int 21h

jc Error

mov Word ptr File,ax

;\\---------------------------------\\

;\\ SIZE OF FILE \\

sub cx,cx

sub dx,dx

mov ax,4202h

mov bx,word ptr file

int 21h

jc Error

or dx,dx

jnz Error;Файл больше FFFFh байт

cmp ax,0d000h

ja Error

mov word ptr F_size ,ax

;Установка указателя на начало файла

sub cx,cx

sub dx,dx

mov ax,4200h

mov bx,word ptr file

int 21h

jc Error

;\\---------------------------------\\

;\\ READ FROM FILE \\

mov dx,offset Buf

mov cx,word ptr F_size

mov bx,word ptr file

mov ah,3fh

int 21h

jnc Skip1

Error:

mov bx,word ptr file

or bx,bx

je Skip

;\\ CLOSE FILE \\

mov ah,3eh

int 21h

Skip:

mov ah,9

mov dx,Offset err_mes

int 21h

ret

Skip1:

cmp ax,word ptr F_size

jne Error

;Файл в Buf,обработка

cld

mov al,13

mov bx,word ptr F_size

mov cl,byte ptr String

sub ch,ch

mov di,offset Buf

Loop1:

xchg bx,cx

repne scasb

xchg cx,bx

loop Loop1

mov si,di

mov cx,bx

sub di,2

std

repne scasb

add di,2

mov bx,word ptr F_Size

sub bx,si

add bx,di;Новый размер файла

mov cx,F_Size

add cx,offset Buf

sub cx,si;Число перемещаемых байт

mov word ptr F_size,bx

cld

rep movsb

;\\---------------------------------\\

;\\ CLOSE FILE \\

mov ah,3eh

mov bx,file

int 21h

mov word ptr file,0

;\\---------------------------------\\

;\ CREATE FILE \\

mov ah,3Ch

mov cx,00h

mov dx,offset R_name

int 21h

jc Error

mov word ptr file,ax

;\\---------------------------------\\

;\\ WRITE TO FILE \\

mov ah,40h

mov bx,word ptr file

mov cx,word ptr F_size

mov dx,offset Buf

int 21h

jc Error1

cmp ax,word ptr F_size

je Skip2

Error1:

jmp Error

;\\---------------------------------\\

;\\ CLOSE FILE \\

Skip2:

mov ah,3eh

mov bx,file

int 21h

ret

db 13

Buf:

CODE ENDS

END BEGIN

4.РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ И ХАРАКТЕРИСТИКИ

РАБОТЫ ПРОГРАММЫ.

Программа была протестирована для всех возможных вариантов размещения строки в файле. Для всех вариантов были получены правильные результаты. В целом, эффективность программы можно оценить как максимальную так как идёт обработка файла в памяти.

СРС №11.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]