Разработка программы "Сведения о машинных залах"
Характеристика задачи "Сведения о машинных залах", ее возможности и структура. Описание входных и выходных сообщений. Алгоритм решения пользователя. Функции, используемые в программе. Руководство системного программиста. Листинг и результат ее работы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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