Разработка программы "Сведения о машинных залах"

Характеристика задачи "Сведения о машинных залах", ее возможности и структура. Описание входных и выходных сообщений. Алгоритм решения пользователя. Функции, используемые в программе. Руководство системного программиста. Листинг и результат ее работы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.01.2013
Размер файла 33,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

181

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

1. Постановка задачи

1.1 Характеристика задачи

1.2 Выходная информация

1.3 Входная информация

2. Алгоритм решения пользователя

3. Руководство пользователя

3.1 Введение

3.2 Файлы программы

3.3 Аварийные ситуации

3.4 Условия работы

4. Руководство системного программиста

5. Приложение

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

5.2 Результат работы программы

5.3 Файл

5.4 Контрольный пример

Список использованной литературы

машинный зал программа алгоритм

1. Постановка задачи

1.1 Характеристика задачи

Задача "Сведения о машинных залах" позволит автоматизировать ввод, поиск и просмотр данных о ПЭВМ и их составляющих.

Программа предоставляет пользователю следующие возможности:

1. ввод информации о ПЭВМ;

2. выдача по номеру зала данных о данном машинном зале и о характеристиках ПЭВМ, находящихся в данном зале;

Задача предназначена для организаций, использующих данные ПЭВМ;

Периодичность решения задачи по запросу пользователя.

Прекращение решения задачи происходит при отключении источника электроэнергии ЭВМ.

Связь данной задачи с другими задачами не предполагается.

Специальные ограничения на временные характеристики решения задачи не налагаются.

1.2 Выходная информация

Перечень и описание выходных сообщений содержится в таблице 1.

Таблица 1

Идентификатор

Форма представления

Наименование

Периодичность

Сроки выдачи

Получатель

Форма V 001

Видеограмма

Информация о ПЭВМ

По запросу

По запросу

Пользователь

Описание структурных единиц информации Формы V 001 содержится в таблице 2.

Таблица 2

Наименование выходного сообщения

Идентификатор

Информация о ПЭВМ

Форма V 001

Наименование структурных единиц

Обозначение

Требования к точности

Длина в знаках

Диапазон

Машинный зал №

nzala

9(2)

09

Количество ПЭВМ

kolvop

9(2)

09

Есть принтер

Bit

9(1)

01

Жк. Монитор

9(1)

01

USB порт

9(1)

01

CD-RW дисковод

9(1)

01

Дисковод для дискеты

9(1)

01

WINDOWS XP

9(1)

01

Pascal

9(1)

01

Delphi

9(1)

01

Видеограмма V 001 имеет структуру, приведённую на рисунке 1.

Рисунок 1. Форма V 001. Информация о машинном зале

Машинный зал №: 9(2) Количество ПЭВМ: 9(2)

Шифр детали.

Есть принтер.

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

9(12)

9(1)

9(1)

9(1)

9(1)

9(1)

9(1)

9(1)

9(1)

1.3 Входная информация

Перечень и описание входных сообщений содержится в таблице 3.

Таблица 3

Идентификатор

Форма представления

Наименование

Периодичность и сроки поступления

Форма V 001

Файл

data.txt

При запуске программы

Перечень и описание структурных единиц информации Формы V 001 содержится в таблице 2.

2. Алгоритм решения пользователя

Главное меню.

Если "Помощь", то на 3;

Если "Ввод", то на 4;

Если "Просмотр", то на 5;

Если "Поиск", то на 6;

Если "Выход", то на 7.

Помощь.

Вывод информации о программе и о других пунктах меню.

Ввод.

Ввод информации об изделиях.

Просмотр.

Просмотр информации об имеющихся изделиях.

Поиск.

Ввод номера зала для поиска информации о нем;

Вывод информации о найденном машинном зале и о ПЭВМ, входящих в него.

Выход.

Выход из программы.

3. Руководство пользователя

3.1 Введение

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

Помощь - вывод информации о программе и о других пунктах меню.

Ввод - ввод информации о машинных залах.

Просмотр - просмотр информации о машинных залах.

Поиск - ввод номера зала для поиска информации о данном машинном зале, выдача информации о количестве ПЭВМ и их оборудовании.

Выход - выход из программы.

3.2 Файлы программы

13.exe - основной загрузочный модуль программы;

13.asm - программа на языке программирования Ассемблер;

maclib1.inc - библиотека макроопределений;

data.txt - файл с данными.

3.3 Аварийные ситуации

Программа контролирует ввод следующей информации:

ввод буквенно-цифровой информации;

ввод нуля или единицы.

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

3.4 Условия работы

Для нормальной работы программы требуется следующая конфигурация: EGA монитор и выше, не ниже 80186 процессора, 12 Kb свободной дисковой памяти, хотя программа может работать и с другой конфигурацией компьютера, но менее эффективно.

4. Руководство системного программиста

Общие сведения о программе

Программа "Сведения о машинных залах" позволяет вводить информацию о залах и о ПЭВМ, входящих в залы, просматривать имеющуюся информацию.

В программе предусмотрена работа с файлами, которая включает в себя:

добавление записей в файл;

просмотр записей в файле;

поиск данных в файле.

Структура программы

Задача представлена одной программой, состоящей из функций и основной части, которая осуществляет взаимосвязь между функциями и их вызов; и макробиблиотекой, состоящей из макроопределений, вызываемых в основной программе.

Основные функции, используемые в программе:

help - функция помощи;

vvod - функция ввода информации в файл;

prosm - функция просмотра информации из файла;

vivod - функция поиска информации в файле;

Настройка программы

Для корректной работы программы необходимо чтобы файл data.txt находился в одной директории с файлом 13.exe. В случае отсутствия файла, этот файл будет создан в самой программе путём добавления новых записей.

Сообщения системному программисту

Сообщения программы

Действия пользователя

Каталог не найден!

Проверьте правильность пути к файлу с данными, указанного в программе.

Не могу открыть файл!

Зайти в пункт меню ВВОД и ввести информацию для создания файла.

Не хватает памяти. Слишком много открытых файлов!

Закройте все открытые файлы.

5. Приложение

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

186

MODEL SMALL

STACK 100h

include maclib1.inc

sved struc

nzala db 2 dup(0); номер зала

kolvop db 2 dup(0); кол-во пэвм

;mash db 13 dup(' ')

bit db 00000000b; байт признаков

sved ends

Программа

DATA

s sved <>;опpеделение стpуктуpы

ijk db 0

koor db 13

handle dw ?

fl db 'data.txt',0

count db ?

kolvo db ?

nz db 0

index db 0

cehsrav db 13 dup (' ')

a db 1

p db 1

fon db 7

strel db 'Перемещение по пунктам меню осуществляется клавишами _ _','$'

priv1 db 'О программе','$'

priv2 db 'Ввод данных','$'

priv3 db 'Просмотр файла','$'

priv4 db 'Поиск по № зала','$'

priv5 db 'Выход','$'

priv6 db 'О программе.','$'

helpstr1 db 'Программа "Сведения об изделиях"','$'

helpstr2 db 'курсовая работа студента группы ИВТ12','$'

helpstr3 db 'Бондарева Максима.','$'

helpstr4 db 'Программа позволяет:','$'

helpstr5 db '-Добавить данные в файл,или заполнить пустой файл,','$'

helpstr6 db '-Просмотреть содержание файла data.txt,','$'

helpstr7 db '-Вывести данные о машинах по № зала,','$'

helpstr8 db 'Выход из программы.','$'

svednet db 'Сведений нет!!!','$'

presskey db 'Нажмите любую клавишу...','$'

error1 db '','$'

error11 db 0c9h,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0bbh,'$'

error12 db 0bah,'Невозможно открыть файл!',0bah,'$'

error13 db 0c8h,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0cdh,0bch,'$'

error2 db 'Каталог не найден!','$'

error3 db 'Не хватает памяти. Слишком много открытых файлов!','$'

ex_esc db 'Есть ещё детали? "Esc"-Нет','$'

ex_esc1 db 'Есть ещё изделия? "Esc"-Нет','$'

vnzalap db 'Введите № зала/2цифры/: ','$'

vkolvop db 'Введите Количество ПЭвм/2цифры/: ','$'

;vmash db 'Введите шифр машины/12символов/: ','$'

otv db 'Расставьте хар-ки машин:/1-да,0-нет/','$'

pr db 'Есть принтер: ','$'

mon db 'Жк монитор: ','$'

port db 'USB порт: ','$'

disk db 'CD-RW дисковод: ','$'

disket db 'Дисковод для дискеты: ','$'

xp db 'Windows XP: ','$'

pasc db 'Pascal: ','$'

delp db 'Delphi: ','$'

tabest db 'Да','$'

tabnet db 'Hет ','$'

tab0 db ' г===================================================================¬','$'

tab1 db ' ¦ ¦','$'

tab3 db ' ¦Машинный зал №: Количество ПЭВМ: ¦','$'

tab4 db ' ¦======T=======T=======T====T========T========T=======T======T======¦','$'

tab5 db ' ¦ Шифp ¦ Есть ¦ Жк ¦USB ¦ CD-RW ¦Дисковод¦Windows¦Pascal¦Delphi¦','$'

tab6 db ' ¦машины¦принтер¦монитор¦порт¦дисковод¦для дис-¦ XP ¦ ¦ ¦','$'

tab6a db' ¦ ¦ ¦ ¦ ¦ ¦ кеты ¦ ¦ ¦ ¦','$'

tab7 db ' ¦======+=======+=======+====+========+========+=======+======+======¦','$'

tab8 db ' ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦','$'

tab9 db ' L======¦=======¦=======¦====¦========¦========¦=======¦======¦======-','$'

vnzala db 'Введите № машинного зала: ','$'

ODE

start:

mov ax,@data

mov ds,ax

window 0,0,80,25,3,15;

nocursor; Выключение курсора

window 0,0,80,3,1,15

window 0,1,80,25,1,15

do:

cmp p,1;;; Меню

je p1

jmp p2

p1:

mov fon,3

jmp p3

p2:

mov fon,1

p3:

window 0,0,15,0,fon,15

window 0,1,80,25,1,15

gotoxy 2,0

puts priv1

gotoxy 10,24

puts strel

cmp p,2

je pp1

jmp pp2

pp1:

mov fon,3

jmp pp3

pp2:

mov fon,1

pp3:

window 15,0,30,0,fon,15

window 0,1,80,25,1,15

gotoxy 17,0

puts priv2

gotoxy 10,24

puts strel

cmp p,3

je pp13

jmp pp23

pp13:

mov fon,3

jmp pp33

pp23:

mov fon,1

pp33:

window 30,0,48,0,fon,15

window 0,1,80,25,1,15

gotoxy 32,0

puts priv3

gotoxy 10,24

puts strel

cmp p,4

je ppp1

jmp ppp2

ppp1:

mov fon,3

jmp ppp3

ppp2:

mov fon,1

ppp3:

window 48,0,66,0,fon,15

window 0,1,80,25,1,15

gotoxy 50,0

puts priv4

gotoxy 10,24

puts strel

cmp p,5

je pn1

jmp pn2

pn1:

mov fon,3

jmp pn3

pn2:

mov fon,1

pn3:

window 66,0,79,0,fon,15

window 0,1,80,25,1,15

gotoxy 68,0

puts priv5

gotoxy 10,24

puts strel

getch

cmp al,75

je met

jmp met1

met:

cmp p,1

je next

jmp next1

next:

mov p,5

jmp met2

next1:

dec p

jmp met1

do1:

jmp do

met1:

cmp al,77

je me

jmp met2

me:

cmp p,5

je nex

jmp nex1

nex:

mov p,1

jmp met2

nex1:

inc p

met2:

cmp al,13

jne do1

jmp do3

do2:

jmp do1

do3:

cmp p,1

je pom

cmp p,2

je pom1

cmp p,3

je pom1a

cmp p,4

je pom2

cmp p,5

je fin

pom1:

jmp pom11

pom2:

jmp pom22

pom1a:

jmp pompr

fin:

jmp finn

pom:

call help

jmp do2

pom11:

call vvod

jmp do2

pompr:

call prosm

jmp do2

pom22:

call vivod

jmp do2

Просмотр файла

prosm PROC near

openfile fl,handle

mov koor,13

mov ijk,0

snv:

mov ah,3Fh

mov bx,handle

mov cx,48;сколько читать

mov dx,offset s

int 21h

cmp ax,0;Пока не конец файла

je konecp

mov ijk,1

call tablout

jmp snv

konecp:

cmp ijk,1

je clos

window 28,10,50,12,4,15

gotoxy 28,10

puts error11

gotoxy 28,11

puts error12

gotoxy 28,12

puts error13

readkey

window 28,10,50,12,3,3

clos:

closefile fl,handle

window 2,4,77,24,3,3

ret

endp

Пpоцедуpа ввода данных

vvod PROC near

openfile fl,handle

vvodst1:

;ramka 13,5,66,19,1,15,18

gotoxy 15,6

puts vnzalap

getnumber s.nzala,2

gotoxy 15,7

puts vkolvop

getnumber s.kolvop,2

nachv:

;window 14,8,65,18,1,15

;gotoxy 15,8

;puts vmash

;getnumber s.mash,12

gotoxy 15,9

puts otv

gotoxy 15,10

puts pr

gotoxy 15,11

puts mon

gotoxy 15,12

puts port

gotoxy 15,13

puts disk

gotoxy 15,14

puts disket

gotoxy 15,15

puts xp

gotoxy 15,16

puts pasc

gotoxy 15,17

puts delp

c0:;есть принтер

gotoxy 48,10

getch

cmp al,'1'

ja c0

cmp al,'0'

jb c0

outch al

cmp al,'0'

je c0_1

or s.bit,00000001b

jmp c1

c0_1:

and s.bit,11111110b

c1:; жк монитор

gotoxy 48,11

getch

cmp al,'1'

ja c1

cmp al,'0'

jb c1

outch al

cmp al,'0'

je c1_1

or s.bit,00000010b

jmp c2

c1_1:

and s.bit,11111101b

c2:; usb порт

gotoxy 48,12

getch

cmp al,'1'

ja c2

cmp al,'0'

jb c2

outch al

cmp al,'0'

je c2_1

or s.bit,00000100b

jmp c3

c2_1:

and s.bit,11111011b

c3:

gotoxy 48,13; cd-rw дисковод

getch

cmp al,'1'

ja c3

cmp al,'0'

jb c3

outch al

cmp al,'0'

je c3_1

or s.bit,00001000b

jmp c4

c3_1:

and s.bit,11110111b

c4:;дисковод для дискеты

gotoxy 48,14

getch

cmp al,'1'

ja c4

cmp al,'0'

jb c4

outch al

cmp al,'0'

je c4_1

or s.bit,00010000b

jmp c5

c4_1:

and s.bit,11101111b

c5:; windows xp

gotoxy 48,15

getch

cmp al,'1'

ja c5

cmp al,'0'

jb c5

outch al

cmp al,'0'

je c5_1

or s.bit,00100000b

jmp c5

c5_1:

and s.bit,11011111b

c6:; паскаль

gotoxy 48,16

getch

cmp al,'1'

ja c6

cmp al,'0'

jb c6

outch al

cmp al,'0'

je c6_1

or s.bit,01000000b

jmp c6

c6_1:

and s.bit,10111111b

c7:; дельфи

gotoxy 48,17

getch

cmp al,'1'

ja c7

cmp al,'0'

jb c7

outch al

cmp al,'0'

je c7_1

or s.bit,10000000b

jmp s7

c7_1:

and s.bit,01111111b

jmp s7

vvodst:

jmp vvodst1

vodnotend:

jmp nachv

s7:

mov ah,42h

mov bx,handle

xor cx,cx

xor dx,dx

mov al,2h

int 21h

mov ah,40h

mov bx,handle

mov cx,48;сколько писать

mov dx,offset s

int 21h

gotoxy 22,18

puts ex_esc

mov ah,8h

int 21h

cmp al,1bh

jne vodnotend

gotoxy 22,18

puts ex_esc1

mov ah,8h

int 21h

cmp al,1bh

jne vvodst

closefile fl,handle

window 15,5,65,20,3,3

ret

vvod ENDP

Пpоцедуpа поиска

vivod PROC near

;ramka 20,10,60,12,1,15,18

gotoxy 21,11

puts vnzala

getnumber nz,2;Ввод № зала

mov al,count

mov kolvo,al

mov koor,13

;ramka 20,10,60,12,4,15,18

openfile fl,handle

mov index,0

snova:

mov ah,3Fh

mov bx,handle

mov cx,48;сколько читать

mov dx,offset s

int 21h

cmp ax,0;пока не конец файла

je kons11

mov di,0

mov si,0

mov cx,0

mov di,0

mov si,0

e:

mov cl,kolvo

cyc:

mov al,s.nzala[di]

cmp nz[si],al

je el

snova1:

jmp snova

el:

inc si

inc di

loop cyc

call tablout

inc index

jmp contin

kons11:

jmp kons

contin:

jmp snova

kons:

cmp index,0

jne net

gotoxy 34,11

puts svednet

readkey

net:

closefile fl,handle

window 2,4,77,24,3,3

ret

vivod ENDP

Пpоцедуpа помощи

help PROC near

;ramka 15,4,66,21,3,15,18

gotoxy 33,5

window 16,5,65,20,3,15

puts priv6

gotoxy 25,6

puts helpstr1

gotoxy 23,7

puts helpstr2

gotoxy 33,8

puts helpstr3

;// window 21,9,58,9,1,11

;// gotoxy 37,9

;// puts priv2

;// outch '.'

gotoxy 33,10

puts helpstr4

;// window 21,11,58,11,1,11

;// gotoxy 35,11

;// puts priv3

;// outch '.'

gotoxy 16,11

puts helpstr5

;// window 21,13,58,13,1,11

;// gotoxy 37,13

;// puts priv4

;// outch '.'

gotoxy 16,13

puts helpstr6

gotoxy 16,15

puts helpstr7

gotoxy 16,16

puts helpstr8

;// window 21,17,58,17,1,11

;// gotoxy 37,17

;// puts priv5

;// outch '.'

;// gotoxy 29,18

;// puts helpstr9

;// window 26,20,58,20,1,11

gotoxy 30,20

puts presskey

readkey

;// window 20,4,60,22,3,3

ret

help ENDP

Пpоцедуpа вывода шапки таблицы

shapka proc near

ramka 2,4,76,23,1,15,18

gotoxy 3,5

puts tab0

gotoxy 3,6

puts tab1

gotoxy 3,7

puts tab3

gotoxy 3,8

puts tab4

gotoxy 3,9

puts tab5

gotoxy 3,10

puts tab6

gotoxy 3,11

puts tab6a

gotoxy 3,12

puts tab7

ret

endp

Пpоцедуpа вывода таблицы на экpан

tablout PROC near

call shapka

gotoxy 3,13

puts tab8

gotoxy 21,7

puts s.nzala

gotoxy 49,7

puts s.kolvop

; gotoxy 5,13

;puts s.ceh

gotoxy 3,14

puts tab9

mov al,s.bit

and al,00100000b

cmp al,0

jne portk

gotoxy 68,13

puts tabnet

jmp neportk

portk:

gotoxy 68,13

puts tabest

neportk:

mov al,s.bit

and al,00010000b

cmp al,1

jge diskk

gotoxy 60,13

puts tabnet

jmp nediskk

diskk:

gotoxy 60,13

puts tabest

nediskk:

mov al,s.bit

and al,00001000b

cmp al,1

jge disketk

gotoxy 49,13

puts tabnet

jmp nedisketk

disketk:

gotoxy 49,13

puts tabest

nedisketk:

mov al,s.bit

and al,00000100b

cmp al,1

jge xpk

gotoxy 38,13

puts tabnet

jmp nexpk

xpk:

gotoxy 38,13

puts tabest

nexpk:

mov al,s.bit

and al,00000010b

cmp al,1

jge monk

gotoxy 30,13

puts tabnet

jmp nemonk

monk:

gotoxy 30,13

puts tabest

nemonk:

mov al,s.bit

and al,00000001b

cmp al,1

jge prk

gotoxy 22,13

puts tabest

jmp neprk

prk:

gotoxy 22,13

puts tabest

neprk:

gotoxy 28,22

puts presskey

readkey

ret

tablout endp

finn:

clrscr

prog_exit

END start

Подключаемый модуль maclib1.inc

; Ввод строки из одних чисел getnumber(string,max_len)

; Ввод строки getstr(string,max_len)

; Ввод строки из одних рус. букв getword(string, max_len)

; Вывод строки puts(str)

; Ввод символа без отображения getch

; Вывод символа outch(ch)

; Задержка пока не нажата клавиша readkey

; Выход из программы prog_exit

; Очистка экрана clrscr

; Установка курсора gotoxy(x,y)

; Выключает курсор nocursor

; Рисования окна window(x1,y1,x2,y2,c_f,c_s)

; Рисования рамки ramka(x1,y1,x2,y2,c_f,c_s,c_t)

; Открытие файла openfile(filename,handle)

; Закрытие файла closefile(filename,handle)

Ввод строки из одних чисел

getnumber macro buf,max_len

local m,mm,mmm,konecm,back,succ

pusha

mov cx,max_len

xor bx,bx

m: mov buf[bx],' ';запробеливаем строку

inc bx

loop m

xor bx,bx

mmm:

getch;считываем символ без отображения

cmp al,8;если backspase

je back;то переходим на затирку символа

jmp succ;иначе

back:

cmp bx,0;если кол-во ддлина строки равна 0

je succ; то переходим

dec bx;иначе из длину уменьшаем на 1

outch 8;переход курсора на 1 влево

outch 32;затираем предыдущий символ(ставим пробел)

outch 8;смещаем курсор на 1 влево

succ:

cmp al,13;сравниваем введённый символ с enter

je konecm;если равно то переход

cmp bx,max_len;сравниваем длину строки с заданной

je mmm;если равно то на начало ввода

cmp al,'0';если код меньше кода 0

jl mmm;то на начало ввода

cmp al,'9';если код больше кода 9

jg mmm;то на начало ввода

outch al;отображаем символ

mov buf[bx],al;записываем его в строку

inc bx;увеличеваем длину на 1

jmp mmm;на начало ввода

konecm:

mov buf[bx],'$';записываем конец строки

mov count,bl;в count длину строки

popa

endm

Ввод строки из одних русских букв

getword macro buf,max_len

local m,mm,mmm,konecm,back,succ

pusha; ПО АНАЛОГИИ СМ. ВВОД СТРОКИ ИЗ ОДНИХ ЧИСЕЛ

mov cx,max_len

xor bx,bx

m: mov buf[bx],' ';запробеливаем строку

inc bx

loop m

xor bx,bx

mmm:

getch

cmp al,8

je back

jmp succ

back:

cmp bx,0

je succ

dec bx

outch 8

outch 32

outch 8

succ:

cmp al,13

je konecm

cmp bx,max_len

je mmm

cmp al,45

je nes

cmp al,'А';выкидываем из таблицы всё кроме отрезка от А до я

jl mmm

cmp al,'я'

jg mmm

cmp al,'_'; из этого отрезка выкидываем символы псевдографики

jl nes

cmp al,'_'

jg nes

jmp mmm

nes:

outch al

mov buf[bx],al

inc bx

jmp mmm

konecm:

mov buf[bx],'$'

mov count,bl

popa

endm

Ввод символа с клавиатуры без отображения

getch macro

;На выходе - в al введённый символ.

mov ah,08h

int 21h

endm

Вывод символа на экран

outch macro ch

push ax

push dx

mov ah,02h

mov dl,ch

int 21h

pop dx

pop ax

endm

Вывод строки на экран

puts macro str

pusha

lea dx,str

mov ah,9

int 21h

popa

endm

Задержка экрана пока не нажата клавиша

readkey macro

pusha

mov ah,7;номер функции

int 21h;задержка экрана

popa

endm

Выход из программы.

prog_exit macro

pusha

mov ah,4ch

int 21h

endm

Очистка экрана путём установки нового режима

clrscr macro

pusha

mov ah,0;;номер функции установки режима дисплея

mov al,3;;код режима 80*25 2:чёрно-белого, 3:цветного

int 10h;;очистка экрана

popa

endm

Установка курсора.

gotoxy macro x,y; Переход на указанные координаты

pusha

mov ah,02h

mov dh,y; строка

mov dl,x; столбец

int 10h

popa

endm

Выключение курсора

nocursor macro

pusha

mov ah,01h

mov ch,4

mov cl,0

int 10h

popa

endm

Включение курсора

cursor macro

push ax

push cx

mov ah,01h

mov ch,3

mov cl,4

int 10h

pop cx

pop ax

endm

Рисования окна без рамки

window macro x1,y1,x2,y2,c_f,c_s

pusha

mov cl,x1;верхний левый угол

mov ch,y1

mov dl,x2;нижний правый угол

mov dh,y2

mov ax,10h

mov bl,c_f;цвет фона

mul bl

add al,c_s;цвет текста

mov bh,al

mov al,24

mov ah,6h

int 10h

popa

endm

Рисование рамки

ramka macro x1,y1,x2,y2,c_f,c_s,c_t

local m1,m2,m3,m4;;c_f цвет заливки окна

pusha;;c_s цвет рамки окна

window x1+1,y1+1,x2+1,y2+1,0,0;тень;;c_t цвет текста

window x1,y1,x2,y2,c_f,c_s

gotoxy x1,y1

outch '+'

mov cx,x2

sub cx,x1

dec cx

push cx

m1:

outch '-'

loop m1

outch '+'

mov al,y1

add al,1

mov cx,y2

sub cx,y1

dec cx

push cx

push ax

m2:

gotoxy x1,al

inc al

outch '¦'

loop m2

pop ax

pop cx

m3:

gotoxy x2,al

inc al

outch '¦'

loop m3

gotoxy x1,y2

outch '+'

pop cx

m4:

outch '-'

loop m4

outch '+'

window x1+1,y1+1,x2-1,y2-1,c_f,c_t

popa

endm

Открытие файла

openfile macro filename,handle

local m,m1,m2,m3,m4,m5,m6,exit

pusha

mov ah,3Dh

mov al,2h

mov dx,offset filename

int 21h

cmp ax,02h

je m1

cmp ax,03h

je m2

cmp ax,04h

je m3

jmp exit

m1:

puts error1

jmp m

m2: puts error2

jmp m

m3: puts error3

m: mov ah,3Ch

mov cx,0

mov dx,offset filename

int 21h

cmp ax,03h

je m5

cmp ax,04h

je m6

jmp exit

m5: puts error2

jmp exit

m6: puts error3

exit:

mov handle,ax

popa

endm

Закрытие файла

closefile macro filename,handle

pusha

mov dx,offset filename

mov ah,3Eh

mov bx,handle

int 21h

popa

endm

5.2 Результат работы программы

Помощь.

Вывод на экран рисунка 2.

Рисунок 2

О ПРОГРАММЕ.

Данная программа является курсовой

работой студента 2 курса гр. ИВТ-12

Бондарева Максима

ВВОД.

Организует ввод в файл.

ПРОСМОТР.

Просмотр содержимого файла.

ПОИСК.

Позволяет выдать на экран информацию о машинном зале по его номеру.

ВЫХОД.

Выход из программы.

Нажмите любую клавишу...

Ввод.

Появится запрос, приведённый на рисунке 3.

Рисунок 3

Введите номер машинного зала:

Введите количество ПЭВМ:

Ответьте на вопросы:да-1 нет-0:

Есть принтер:

Жк. монитор:

USB порт:

CD-RW дисковод:

Дисковод для дискеты:

WINDOWS XP:

Pascal:

Delphi:

Есть еще детали? Нет (ESC).

Введите номер машинного зала: 12

Введите количество ПЭВМ: 2

Ответьте на вопросы:да-1 нет-0:

Есть принтер: 1

Жк. монитор: 1

USB порт: 1

CD-RW дисковод: 1

Дисковод для дискеты: 0

WINDOWS XP: 0

Pascal: 1

Delphi: 0

Есть еще детали? Нет(ESC).

Введите номер машинного зала: 13

Введите количество ПЭВМ: 17

Ответьте на вопросы:да-1 нет-0:

Есть принтер: 1

Жк. монитор: 1

USB порт: 1

CD-RW дисковод: 0

Дисковод для дискеты: 0

WINDOWS XP: 1

Pascal: 0

Delphi: 0

Есть еще детали? Нет(ESC).

Для выхода из этого пункта меню нажмите клавишу Esc.

Просмотр.

Появится видеограмма, приведённая на рисунке 4.

Рисунок 4

Форма V 001 Информация о машинном зале.

Машинный зал №: 12 Количество ПЭВМ: 2

Есть принтер.

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Да

Нет

Да

Да

Нет

Рисунок 5

Форма V 001 Информация о машинном зале.

Машинный зал №: 13 Количество ПЭВМ: 17

Есть принтер.

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Нет

Нет

Да

Нет

Нет

Нажмите любую клавишу.

Поиск.

Появится запрос, приведённый на рисунке 6.

Рисунок 6

Введите номер машинного зала: 12

Появится видеограмма, приведённая на рисунке 7.

Рисунок 7.

Форма V 001 Информация о машинном зале.

Машинный зал №: 12 Количество ПЭВМ: 2

Есть принтер.

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Да

Нет

Да

Да

Нет

Нажмите любую клавишу…

Выход.

Выход из программы.

5.3 Файл

Файл с данными представлен в виде текстового файла.

5.4 Контрольный пример

Помощь.

О ПРОГРАММЕ.

Данная программа является курсовой

работой студента 2 курса гр. ИВТ-12

Бондарева Максима

ВВОД.

Организует ввод в файл.

ПРОСМОТР.

Просмотр содержимого файла.

ПОИСК.

Позволяет выдать на экран информацию о машинном зале по его номеру.

ВЫХОД.

Выход из программы.

Нажмите любую клавишу...

Ввод.

Введите номер машинного зала:

Введите количество ПЭВМ:

Ответьте на вопросы:да-1 нет-0:

Есть принтер:

Жк. монитор:

USB порт:

CD-RW дисковод:

Дисковод для дискеты:

WINDOWS XP:

Pascal:

Delphi:

Есть еще детали? Нет(ESC)

Введите номер машинного зала: 12

Введите количество ПЭВМ: 2

Ответьте на вопросы:да-1 нет-0:

Есть принтер: 1

Жк. монитор: 1

USB порт: 1

CD-RW дисковод: 1

Дисковод для дискеты: 0

WINDOWS XP: 0

Pascal: 1

Delphi: 0

Есть еще детали? Нет(ESC)

Введите номер машинного зала: 13

Введите количество ПЭВМ: 17

Ответьте на вопросы:да-1 нет-0:

Есть принтер: 1

Жк. монитор: 1

USB порт: 1

CD-RW дисковод: 0

Дисковод для дискеты: 0

WINDOWS XP: 1

Pascal: 0

Delphi: 0

Есть еще детали? Нет(ESC).

Просмотр.

Информация о машинном зале.

Машинный зал №: 12 Количество ПЭВМ: 2

Есть принтер

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Да

Нет

Да

Да

Нет

Информация о машинном зале.

Машинный зал №: 13 Количество ПЭВМ: 17

Есть принтер

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Нет

Нет

Да

Нет

Нет

Поиск.

Введите номер машинного зала: 12

Форма V 001 Информация о машинном зале.

Машинный зал №: 12 Количество ПЭВМ: 2

Есть принтер

Жк. монитор

USB порт

CD-RW дисковод

Дисковод для дискеты

WINDOWS XP

Pascal

Delphi

Да

Да

Да

Да

Нет

Да

Да

Нет

Список использованной литературы

Н.А. Ларина методическое пособие «Язык программирования Ассемблер».

В.А. Скляров «Программирование на языке Ассемблера».

Г.В. Майко «Assembler для IBM PC».

Размещено на Allbest.ru


Подобные документы

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

    курсовая работа [721,4 K], добавлен 10.11.2010

  • Разработка принципов организации информационного обеспечения, структуры входных и выходных сообщений, классификаторов и кодов. Уточнение состава аппаратной платформы. Функциональное назначение проекта, руководство пользователя и описание программы.

    курсовая работа [623,3 K], добавлен 18.09.2015

  • Описание входной и выходной информации. Требования к комплексу технических средств и к интерфейсу конечного пользователя. Разработка форм представления входных и выходных данных. Проектирование программных модулей. Руководство пользователя и программиста.

    курсовая работа [421,6 K], добавлен 27.06.2015

  • Общие сведения о языке ассемблера. Назначение команды прерывания INT число. Описание логической структуры программы: алгоритм работы, используемые методы, входные и выходные данные. Структура и тестирование программы. Руководство оператора программы.

    курсовая работа [90,0 K], добавлен 01.12.2009

  • Приемы программирования в Delphi. Алгоритм поиска альфа-бета отсечения, преимущества. Описание программного средства. Разработка программы, реализующая алгоритм игры "реверси". Руководство пользователя. Листинг программы. Навыки реализации алгоритмов.

    курсовая работа [357,1 K], добавлен 28.02.2011

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Процесс и порядок написания программы, реализующей графическое решение логической задачи (игры). Обзор аналогичных продуктов. Описание и алгоритм решения задачи. Структура программы, ее процедуры и функции. Настройка и руководство для пользователя.

    курсовая работа [35,7 K], добавлен 29.06.2010

  • Логическая структура программы. Руководство системного программиста, пользователя. Требования к уровню обеспечения информационной безопасности. Цели и задачи защиты данных. Расчет себестоимости и отпускной цены системы. Техника безопасности, охрана труда.

    дипломная работа [1,5 M], добавлен 27.06.2014

  • Описание математической модели. Обоснование метода реализации. Вид алгоритма и программы. Руководство системного программиста, оператора. Комбинирование метод хорд и касательных. Интерпретация и анализ результатов. Листинг программы, контрольный пример.

    курсовая работа [3,3 M], добавлен 12.01.2014

  • Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

    курсовая работа [355,7 K], добавлен 21.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.