Ассемблер тілінде толық экранды меню бағдарламасын құру және файлдар, директориялар, дискілер мен түстік графикалық параметрлерді басқару


Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 20 бет
Таңдаулыға:   

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

Қаныш Сатпаев атындағы қазақ ұлттық техникалық университеті

Есептеу техника кафедрасы

КУРСТЫҚ ЖОБА

Тақырыбы: Меню

жетекші:

аға оқытушы

Мустафина Б. М.

нормоконтролер:

оқытушы

Азембаева Г. Т.

Тапсырған күні:

“___” 2003 г.

қолы:

студент: Бектасова Г.

тобы: ЗБИ-00-1

мамандығы: 3704

Алматы 2003

Қазақстан Республикасының Білім және Ғылым Министірлігі

Қ. И. Сәтпаев атындағы Қазақ Ұлттық Техникалық Университеті

Ақпараттану және Ақпараттық Технологиялар Институты

Есептеуіш техникасы кафедрасы

Мамандығы ЗБИ-00-1қ

Курстық жұмысты орындауға тапсырма

Студент Бектасова Г. А.

Жұмыстың тақырыбы ”Меню“программасын құру. Оны толық экранда көру, директорияларды ауыстыру, ағымдағы дискіні ауыстыру.

Аяқталған жұмысты тапсыру уақыты: 19. 05. 03.

Тапсырманың берілген уақыты: 15. 03. 03.

Жұмыстың жетекшісі Мұстафина Б. М.

Мазмұны

Кіріспе

1. Есеп қойылымы және шешудің алгоритімі . . . 5

  1. Ассемблер тілінде программалау . . . 5
  2. Ассемблер командасының пішімі . . . 6
  3. Программаның жазылуы . . . 6
  4. Есепті шешудің алгоритімі . . . 7
  5. Программаның жолдық көрсетілуі . . . 8

2. Программадағы инструкция . . . 9

2. 1 Прогрммистке (жүйелік) басқару . . . 9

2. 2 Операторлық босқару . . . 9

3. Программада қолданылған функциялар мен командалар . . . 10

Қортынды . . . 14

Қолданылған әдебиеттер

Қосымша А

Кіріспе

Бұл курстық жобада маған қойылған тапсырма “Меню” программасын құру, ол таңдап алынған белгілі бір файлмен қандайда бір операцияны орындау керек. Курстық жобаны орындау үшін видеобуфер және файлдармен жұмыс істей білу керек. Курстық жобаны орындау барысында аасемблер тілінің видеобуфер, файлдарға арналған тарауларын пайдаланамыз.

Берілген курстық жұмыс программасы меню вариантын ұсынады. Программаны іске қосқанда негізгі меню шығады. Ол төрт пунктен тұрады: ”файл”, ”цвет”, ”графика”, ”выход”. ”Файл” пункті бес пункттан тұрады “*. ЕХЕ”, ”*. TXT”, ”Ch. DIR”, ”Ch. DISC”, ”See Dir”. ”Цвет” пункті төрт пункттан тұрады, ”красный”, ”желтый”, ”зеленый”, ”синий”.

  1. Есеп қойылымы және шешудің алгоритіміАссемблар тілінде программалау

Ассемблер тілінде программа жазу кезінде қолданылатын кейбір қажетті ұғымдарды атап өтейік.

Оператор- бұл белгілі бір әрекет жасау үшін машинаға берілетін нұсқау, әрбір операторға машиналық команда сәйкес келеді. Оперант- әрекет істелінетін деректердің мекенін көрсетеді. Жалғаноператор - ассемблерге деректер және командалармен не істеу керектігін анықтайтын нұсқау береді. Бірақ орындалатын EXE дерекжиынында бұл жалған операторларға сәйкес машиналық шартбелгі болмайды.

Макрокоманда - бастапқы программадағы бірнеше машинелік командалардың орнына жүктелетін символдық аталым.

Ассемблер тілінде тұрақты шамалардың бірнеше түрі қолданылады.

  1. Екілік тұрақты шама (0 және 1) . Бұл символдар міндетті түрде D әрпімен бітуі керек. Мысалы:11101011001 D
  2. Оналтылық тұрақты шамалар (0 - 9, A, B, C, D, E, F) . Міндетті түрде бұлар H әрпімен бітеді. Егер әріптен басталатын болса, онда алдына 0 қойылады. Мысалы: 0AB127H, 4AH.
  3. Ондық тұрақты шамалар (0-9) . Соңына D әрпін қоюғада, қоймауға да болады.
  4. Символдық тұрақты шамалар. Тырнақшаға алынған кез-келген символдар немесе цифрлар жиынтығы.

1 . 2 Ассемблер командасының пішімі

[таңба:] шартбелгі [1-операнд], [ 2-операнд] [; түсініктеме] . Тікжақшаға алынған команданың бөліктері ассемблер командасының түріне байланысты оның құрамында болуы да болмауыда мүмкін.

Таңба

Таңба символдардан тұрады. Бұл символдар жинағы қос нүктемен (:) аяқталады. Таңбаның аталымы A-Z, a-z латын әріптерінен, 0- 9 сандарынан және ?, (. ), $, &, _, @ символдарынан тұрады. Ескертулер:

- таңба аталымының арасында бос аралық болмау керек;

  • таңба аталымы ішінде (. ) пайдаланылатын болса, ол бірінші болып тұруы керек;
  • регистлердің аттарын таңба ретінде алуға болмайды;
  • таңбаның аталымы үшін белгілі бір мағананы білдіретін сөздер алған ыңғайлы;
  • көп қайталанатын бірдей әріптерді пайдаланбаған дұрыс (мысалы: ) .

Операцияның шартбелгісі.

Шартбелгі- команданың мнемоникалық шартбелгілерінен құралады. Таңбадан және басқа операндтардан бос аралық арқылы бөлінеді. Команданың құрамында шартбелгі міндетті түрде болуы керек.

Операндтар.

Операндта деректер, деректердің мекені және регистрлердің аттары сақталады. Екі операндты командаларда бірінші операнд қабылдағыш, екінші операнд таратқыш міндетін атқарады. Командаға сәйкес орындалған операцияның нәтижесі бірінші операндқа жазылып отырады.

Түсініктеме.

Белгісі- нүктелі үтір (; ) . Алдындағы команданың бөліктерінен кемінде бір бос аралық арқылы бөлінеді.

1. 3 Программаның жазылуы

“Меню” программасы ассемблер тілінде жазылған.

Бұл программаны орындау үшін осы ассемблер тілінің трансляторы TASM. EXE, TLINK. EXE және операциялық жүйе DOS немесе WINDOWS қажет.

Жүйелік талап: компъютер IBM PC және операциялық жүйе DOS.

Бұл программа Intel Pentium 166, MMX, VGA. 28 электронды есептеуіш машинасында теріліп өңделген.

Программаны орындауға шақыру командалық жолдағы Nazym. exe файлын шақыру арқылы орындалады.

Бұл программа “UP”, ”DOWN”, ”ENTER” және ”ESC” пернелерімен жұмыс істейді.

Графикалық режимде экранға енгізілетін ақпарат: негізгі меню.

Тапсырма шешімінің алгоритімі 1, 4 пункте берілген.

1. 4 Есептi шешудiң алгоритмi

  1. Программа бойынша инструкция

2. 1. Программистке (жүйелік) басқару.

Программаның қолданылуы - текстік файлды қарау. IBM PC типтес машиналарда программа қараушы (просморщик) ретінде қолданылады. Программа MS DOS операциялық жүйесінің басқаруы арқылы жүзеге асады. Оның жұмыс істеуі үшін операциялық жадының 512 КБайттайы бос орын болуы керек және 80386 процессоры.

Программа GULNARA. EXE файлын жүктеу арқылы іске асады.

Кіріс мәліметтер - командалық жолда файл аты.

Шығыс мәліметтер - дисплейде текстік ақпарат.

2. 2. Операторлық басқару (пользователь)

Программаны іске қосу KURS каталогындағы GULNARA. EXE файлын жүтеу арқылы іске асады. Бұл іске қосылғаннан кейін меню шығады, ол <ESC> пернесін бассақ программа аяқталады, Ал <DOWN>, <UP>, <RIGHT>, <LEFT> пернелерін басатын болсақ онда программа орындалуға жіберіледі.

Бұл программаны іске қоспас бұрын кез-келген кеңейтілуі . TXT (readme. txt), . ЕХЕ (gul. exe) файлдарын буферге жүктеу керек. Олар менюдің бірінші пунктіндегі “*. ЕХЕ” ”пунктін және <ENTER> пернесін басу арқылы іске асады. Олардан кейін терезе тазартылып gul. exe файлы ашылады. “*. ТХТ” пунктін және <ENTER> пернесін басқаннан кейін терезе тазартылып readme. txt файлдың ішіндегі мәлімет шығарылады.

”Ch. DIR” пунктін және <ENTER> пернесін басқаннан кейін ауыстырғыңыз келген директорияны жазғаннан кейін жазған директорияңызға ауысады. Егер директориядағы файлдарды көргіңіз келсе, басты менюдің бесінші пунктіндегі”See Dir” пернесін басыңыз. ”Ch. DISC” пунктін және <ENTER> пернесін басқаннан кейін дискілер түрі шықаннан кейін ашқыңыз келген дискіні таңдайсыз. Егер дискідегі файлдарды көргіңіз келсе, басты менюдің бесінші пунктіндегі ”See Dir” пернесін басыңыз. Басты менюдің ”Цвет” пунктінің бірінші пункті ”красный” пунктін және <ENTER> пернесін басқаннан кейін басты менюдің фоны қызыл түске ауысады. Екінші пункті ”желтый” пунктін және <ENTER> пернесін басқаннан кейін басты менюдің фоны сары түске ауысады. Үшінші пункті ”зеленый” пунктін және <ENTER> пернесін басқаннан кейін басты менюдің фоны жасыл түске ауысады. Төртінші пункті ”синий” пунктін және <ENTER> пернесін басқаннан кейін басты менюдің фоны көк түске ауысады. Басты менюдің ”Графика” пунктін басқаннан кейін терезе тазарып, жасыл түске боялады. Басты менюдің ”Выход” пункті программадан шығуды іске асырады.

Перне атауы: Перне атауы
Атқаратын қызметі: Атқаратын қызметі
Перне атауы: Төменге бағыттаушы стрелка
Атқаратын қызметі: Курсорды төмен жылжыту
Перне атауы: Жоғарыға бағыттаушы стрелка
Атқаратын қызметі: Курсорды жоғары жылжыту
Перне атауы: ESC
Атқаратын қызметі: Шығу

3. ПРОГРАММАДА ҚОЛДАНЫЛҒАН ФУНКЦИЯЛАР МЕН КОМАНДАЛАР

Мен бұл курстық жұмысты орындау барысында Ассемблер машиналық тілінің стандартты функцияларымен командаларын қолдандым. Өз курстық жұмысымда ақпаратты пернетақтадан енгізу, дисплейге шығару, математикалық операциялар орындау және тағы да басқа функцияларды қолдандым.

Енді жоғарыда айтылған функцияларды сипаттап өтейік:

DOS (21h) үзуінің функциясы:

09h - дисплейге символдар қатарын шығаруды жүзеге асырады .

Символдық жолды стандартты шығу құрылғысына шығарады. Жол $ символымен бітуі қажет. Нәтижені қайта бағыттандыру мүмкіндігі бар. Кеңейтілген ASCII кодын оқу үшін функцияның қайта орындалуы қажет. Егер кіріс қайта бағыттандырылған болмаса, онда <CTRL>/C өңдеуді бастайды. BREAK режимі қосулы барысында егер кіріс қайта бағыттандырылған болса, онда <CTRL>/C өңдеуді бастайды.

Шақыруда:

DS:DX - $ -белгісімен бітетін символдар қатарының адресі.

01h - пернетақтадан символды енгізуді жүзеге асырады.

Стандартты енгізу құрылғысынан қатарды шығарады да оны стандартты шығару құрылғысынада көрсетеді. Символ болмаған жағдайда оның енгізілуін күтеді. Нәтижені қайта бағыттандыру мүмкіндігі бар. Кеңейтілген ASCII кодын оқу үшін функцияның қайта орындалуы қажет. Егер кіріс қайта бағыттандырылған болмаса, онда <CTRL>/C өңдеуді бастайды. BREAK режимі қосулы барысында егер кіріс қайта бағыттандырылған болса, онда <CTRL>/C өңдеуді бастайды. Символды енгізгеннен кейін AL- де символдық ASCII кодасы болады.

3Fh - деректерді құрылғыдан енгізуді жүзеге асырады.

Деректерді файлдан қолданушының буферіне жібереді де көрсеткішті модифициялайды. Символдық құрылғыдан оқу барысында ASCII режимінде қатардың көрсетілген ұзындығы оқылады немесе каретканың оралуына дейін, егер ол бұрын кездессе.

Шақыруда:

BX - файлды сипаттаушы

DS:DX -деректерді оқу үшін буфер адресі

CX - оқылатын байт саны

Қайта келу кезінде:

AX - қате коды, егер CF орнатылған болса. Егер AX=0, файлдың соңы.

AL -оқылған байттардың нақты саны

40h - Файлды жазуды немесе құрылғыға шығаруды жүзеге асырады.

Деректерді файлдан қолданушының буферіне жібереді де көрсеткішті модифициялайды. Егер шақыру кезінде CX=0, файлдың ұзындығын көрсеткіштің ағымдағы орнымен сәйкестендіріп орнатады. Егер шығарудың алдында пернетақтадан <CTRL>/C терілсе және BREAK режимі қосылған болса, <CTRL>/C өңделуі басталады.

Шақыруда:

BX - файлдың немесе құрылғының логикалық номері. Дисплейдің 0 мен 1 логикалық номері бар.

CX - шығарылатын символдар саны

DS:DX - буфер адресі

Қайта келу кезінде:

AL - нақты саналған байт саны

Егер CF=0, онда AX-ке фактілі жазылған байттар саны енгізіледі. Егер CF=1, онда AX-ке қайтарудың (қате коды) коды енгізіледі.

4Ah -Жадының белгіленген блогының өлшемін өзгертуін жүзеге асырады.

Жадының белгіленген блогының өлшемін кішірейтеді немесе кеңейтеді.

Шақыруда:

BX - блоктың қажет өлшемі

ES - модифицияланған блоктың сегменттік адресі

Қайта келу кезінде:

AX - қате коды

BX -жады блогының ең үлкен өлшемі

10h үзуінің функциясы - видио сервис:

01h - Курсордың конфигурациялық орнатылуын жүзеге асырады.

Текстілік видиорежимде ашылатын аппараттық курсордың бастапқы және соңғы қатарларға орнатады.

Шақыруда:

CH-тің 0…4 биттері - бастапқы қатар

СL-тің 0…4 биттері- соңғы қатар

02h - Курсордың позициясын орнатуды жүзеге асыру.

Көрсетіген бетте экранға текстілік координатта курсордың орнатады. Курсорды текстілік режимде, графикалық режимде де орнатуға болады, бірақ графикалық режимде курсор көрінбейді.

Шақыруду:

BH - видио беттің номері, 0- бірінші бет

DH, DL - қатар, бағана

06h - Терезені жоғары айналдыру (немесе тазалау) .

Терезені берілген координаттармен, берілген атрибуттармен ASCII-ің пробелдерімен немесе терезені берілген қатар санына төменге айналдыру. Тек активті терезеге қатысты. Айналдыру кезінде жоғарыда пайда болатын қатарлар берілген атрибуттармен ASCII-ің пробелдерімен толықтырылады.

Функцияны экранды немесе экранның кез-келген тікбұрышты ауданын тез тазарту үшін қолданылады.

Шақыруда:

CH, CL - терезенің жоғарғы сол бұрыш қатары, бағанасы

DH, DL - терезенің төмнегіоң бұрыш қатары, бағанасы

AL - бос қатар саны, төменнен жоғары жылжыту(0 = терезені толық тазарту)

BH - бос қатарлар үшін қолданылатын видио атрибут

08h - Курсордың позициясында қатарды және атрибутты оқуды жүзеге асырады.

Берілген бетте ASCII символын және оның атрибутын курсордың позициясына қайтару.

Шақыруда:

BH - бет

Қайта келу кезінде:

AL - символ

AH - атрибут.

09h - Символды атрибутымен курсордың ағымдағы позициясына шығаруды жүзеге асырады.

Ағымдағы курсор позициясына қатарды және оның атрибуттарын графикалық режимде, текстілік режимде де жазады. Графикалық режимде символдар келесі қатарға шықпауы қажет. AL-де барлық кодтар белгілер сияқты қарастырылады және курсордың жағдайымен басқармайды.

Шақырылу:

ВL - атрибут (текстілік режим) немесе түс (графикалық режим) .

ВH - бет

AL - символ

СХ - қайталану коэффициенті

0Сh - Пиксельдерді жазу.

Берілген графикалық позицияда берілген түсті нүктені видиобуферге жазады.

Шақыруда:

АL - түс (түсті регистрдің номері)

ВH - бет

DX - графикалық қатар

СХ - графикалық бағана

BIOS (16h) үзуінің функциясы:

00h - пернетақтадан символды оқуды жүзеге асырады.

Перне басылғаннан кейін (егер ASCII кодасы бар символды перне басылған болса) AL регистріне перненің ASCII кодасы немесе (егер функциялық перне басылған болса) 0 жазылады, ал AH регистріне перненің скан-кодасы жазылады. AL регистрінің мәніне қарай символды немесе функциялық перненің басылғандығын анықтауға болады.

Қорытынды

Курстық жобамен жұмыс істеу уақытында ASSЕMBLER тіліндегі объективті бағытталған программасының кейбір аспектілері қарауда. Курстық жобаны

Дайындау барысында программалық документация., программалық ASSЕMBLER, MICROSOFT WORD, MICROSOFT EXEL, PAINT тілдерінде жұмыс істеу туралы тәжірибе алдық.

Қолданылған әдебиеттер

1. Тұрым А. ЭВМ кешендер, жүйелер және тораптардың жүйелік қамтамасы. Алматы 1995 ҚазҰТУ

2. Куцый А. П, Мұстафина Б. М, Ахметова М. А MS-DOS-тың жүйелік функциялары (1, 2-бөлім) . Алматы 2001 ҚазҰТУ

3. Финогенов К. Г Самаучитель по системным функциям MS-DOS.

Москва 1993.

sseg segment

db 512 dup(?)

sseg ends

dseg segment

paramblk dw 7 dup(0)

exname db '2. exe', 0

fname db 'readme. txt', 0

bufin db 80 dup(' ')

handle dw 0

left = 8

top = 1

wids = 10

height = 5

StrNum db ?

StbNum db ?

atr db ?

ramka2 db ' Файл Цвет Гpафика Выход ', '$'

ramka1 db 218, 9 dup (196), 191, 10, 13

db left dup(0), 179, ' Кpасный ', 179, 10, 13

db left dup(0), 179, ' Желтый ', 179, 10, 13

db left dup(0), 179, ' Зеленый ', 179, 10, 13

db left dup(0), 179, ' Синий ', 179, 10, 13

db left dup(0), 192, 9 dup (196), 217, 10, 13, '$'

ramka3 db 218, 7 dup (196), 191, 10, 13

db 179, ' *. EXE ', 179, 10, 13

db 179, ' *. TXT ', 179, 10, 13

db 179, 'Ch. DIR', 179, 10, 13

db 179, 'Ch. DISC', 179, 10, 13

db 179, 'See DIR', 179, 10, 13

db 192, 7 dup (196), 217, 10, 13, '$'

DirPr dw DP1, DP2, DP3 path1 db 66, 0, 64 dup (0)

errdir db 'Error!!! Directory does not exist . . . ', '$' mes1 db 'The Directory is now current', '$' diskpath db 64 dup(0)

disks db 26 dup(0)

diskkol db 0

files db 0

filefind db '*. *', 0

newDTA db 128 dup (0)

dseg ends

cseg segment

assume ds:dseg, ss:sseg, cs:cseg

; clear screen

Proc cls

mov cx, 0

mov dx, 184fh

mov al, 0

mov ah, 06h

mov bh, 8

int 10h

ret

cls endp

; LineHOR

proc lineHOR

mov cx, 7

mov dh, 0

mov ah, 2

int 10h

lnhor: push cx

mov cx, 1

mov ah, 8

int 10h

mov ah, 9

int 10h

inc dl

mov ah, 2

int 10h

pop cx

loop lnhor

ret

lineHOR endp

; Line3

proc line3

mov cx, 8

mov dl, 0

mov ah, 1

int 10h

ln3: push cx

mov cx, 1

mov ah, 8

Int 10h

mov ah, 9

int 10h

inc dl

mov ah, 2

int 10h

pop cx

loop ln3

ret

line3 endp

; Line

proc line

mov cx, wids-1

mov dl, left+1

mov ah, 2

int 10h

ln: push cx

mov cx, 1

mov ah, 8

int 10h

mov ah, 9

int 10h

inc dl

mov ah, 2

int 10h

pop cx

loop ln

ret

line endp

; Draw HOR ramka

proc HorDrawRamka

mov ah, 02h ; Draw HOR Ramka

mov dh, 0

mov dl, 0

mov bx, 0

int 10h

mov ah, 09h

lea dx, ramka2

int 21h

ret

HorDrawRamka endp

; Draw ramka3

proc DrawRamka3

mov ah, 02h ; DrawRamka

mov dh, 1

mov dl, 0

mov bx, 0

int 10h

mov ah, 09h

lea dx, ramka3

int 21h

ret

DrawRamka3 endp

; Draw ramka

proc DrawRamka

mov ah, 02h ; DrawRamka

mov dh, top

mov dl, left

mov bx, 0

int 10h

mov ah, 09h

lea dx, ramka1

int 21h

ret

DrawRamka endp

; Draw HOR background

proc HorBackground

mov ah, 06h

mov al, 0

mov bh, atr

mov ch, 0

mov cl, 0

mov dh, 0

mov dl, 79

int 10h

ret

HorBackground endp

; Draw background3

proc Background3

mov ah, 06h

mov al, 0

mov bh, atr

mov ch, 1

mov cl, 0

mov dh, 7

mov dl, 8

int 10h

ret

Background3 endp

; Draw background

proc Background

mov ah, 06h

mov al, 0

mov bh, atr

mov ch, top

mov cl, left

mov dh, top+height

mov dl, left+wids

int 10h

ret

Background endp

;

DP1: ; Процедура установки директория

mov ah, 2 ; Установить

mov bx, 0 ; курсор

mov dh, 4 ; в позицию

mov dl, 10 ; 4х10

int 10h

mov ah, 0Ah ; Ввод

lea dx, path1 ; строки символов в пересенную path1

int 21h

xor bx, bx

mov bl, path1[1] ; Записать в BL количество введенных символов

mov path1[bx+2], 0 ; Дописать в конец строки 0 (ASCIZ)

mov ah, 3Bh ; Установить

lea dx, path1[2] ; текущий директорий

int 21h

jc errchdir ; Если ошибка - перейти на errchdir

call cls ; Обновить

call HorBackGround ; экран

call HorDrawRamka ;

mov ah, 02 ; Установить

xor bx, bx ; курсор

mov dh, 20 ; в позицию

mov dl, 0 ; 20x0

int 10h

mov ah, 09h ; Вывести

lea dx, mes1 ; сообщение mes1

int 21h

ret

errchdir:

call cls ; Обновить

call HorBackGround ; экран

call HorDrawRamka

mov ah, 02 ; Установить

xor bx, bx ; курсор

mov dh, 20 ; в позицию

mov dl, 0 ; 20x0

int 10h

mov ah, 9 ; Вывести

lea dx, errdir ; сообщение errdir

int 21h

ret

;

DP2: ; Процедура переключения текущего диска

mov disks[0], 'A' ; Записать в таблицу имен дисков "A"

mov diskkol, 0 ; Сбросить количество обнаруженных дисков

xor dx, dx ; В DX будет логический номер диска

mov bx, 1

mov cx, 24 ; кол-во проверяемых дисков

mov dl, 03h ; Начать проверку с жестких дисков (C, D . . . )

lea si, diskpath ; строка, куда будет возвращаться путь на диске

checkdisks:

test cx, cx ; если CX=0

jz chngdisk ; то перейти на chngdisk

mov ah, 47h ; определить текущий директорий на

int 21h ; проверяемом диске

jc nodisk ; идти на nodisk, если ошибка определения пути

mov disks[bx], dl ; иначе записать в таблицу имен дисков номер

add disks[bx], 40h ; и преобразовать его в латинскую букву

inc bx ; перейти к следующему имени диска в таблице

inc dl ; следующий логический номер диска

dec cx ; уменьшить счетчик

jmp checkdisks ; вернуться на проверку

nodisk: ; если диск не определился

inc dl ; проверить следующий логический номер диска

dec cx ; уменьшить счетчик

jnz checkdisks ; если счетчик не = 0, вернуться на проверку

chngdisk:

mov diskkol, bl ; в DISKKOL - количество найденных дисков

call cls ; Обновить

call HorBackGround ; экран

call HorDrawRamka

mov ah, 02h ; Установить

mov bh, 0 ; курсор

mov dh, 20 ; в позицию

mov dl, 0 ; 20x0

int 10h

xor cx, cx ; Обнулить счетчик

mov cl, diskkol ; записать в счетчик количество дисков

xor bx, bx

diskout: ; Вывод имен найденных дисков

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal тілінде графикалық ойын бағдарламасын құру және негізгі алгоритмдік әдістер
C++ тілінде айнымалылар мен массивтер: типтер, статикалық және динамикалық массивтер, меню тізімін құру
Ассемблер тіліндегі меню арқылы үш әуенді ойнататын бағдарлама: жобалау, құрылым және жүзеге асыру
Java тілінде қарапайым калькулятор бағдарламасын құру
Ассемблер тілінде бағдарламалау: MS-DOS пен Windows орталарында қосымшалар әзірлеу
Түстік модельдер мен графикалық форматтар: RGB, Lab, CMY және графикалық редакторлар
Windows операциялық жүйесінде Win32 API арқылы Assembler тілінде бағдарламалау
C++ тілінде автосалоннан көлік сатып алу бағдарламасын құру
Ассемблер тілінде программалау: синтаксисі, құрылымы және отладтау әдістері
Ассемблер тілінде программалау: директивалар, өрнектер және деректерді сипаттау
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz