Некоммерческое акционерное общество

АЛМАТЫ ЭНЕРГЕТИКА ЖЈНЕ БАЙЛАНЫС УНИВЕРСИТЕТІНІЅ

КОММЕРЦИЯЛЫЌ ЕМЕС АКЦИОНЕРЛІК ЌОЄАМЫ

Компьютерлік технологиялар кафедрасы

 

АССЕМБЛЕР 

5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттері үшін курстық жұмысты орындауға арналған әдістемелік нұсқау

 

Алматы 2013

ҚҰРАСТЫРУШЫЛАР: Байжанова Д. О. Ассемблер: 5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттері үшін курстық жұмысты орындауға арналған әдістемелік нұсқау. – Алматы: АЭжБУ, 2013. – 18 б.

 

Бұл әдістемелік нұсқауда курстық жұмыс мазмұны мен тақырыптары келтірілген. Әдістемелік нұсқау ІNTEL бірге тіркесетін, яғни үйлесімді процессорлар, мысалы Intel 80x86 негізіндегі компьютерлерде ассемблердің қолданылуы, Ассемблер тілінде  бағдарламаларды құрастыру әдістері мен тәсілдері қарастырылған. Әдістемелік нұсқау 5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттеріне арналған.

         Әдебиеттер тізімі - 14 атау.

 

Пікір беруші: техн.ғыл.канд., профессор Көпесбаева А.Ә.

 

“Алматы энергетика және байланыс университеті” коммерциялық емес акционерлік қоғамының 2012 жылғы баспа жоспары бойынша басылады.

 

© “Алматы энергетика және байланыс университеті” КЕАҚ, 2013 ж.

 

Кіріспе

Курстық жұмыстың мақсаты: дәрісте алған теориялық білімді практика жүзінде қолдана білу. Нәтижесінде Бірыңғай бағдарламалық құжат жүйесіне сәйкес өңделген құжатпен тіркелген жұмыс істейтін бағдарлама алынуы керек.

Материалдарды игеру курсы нәтижесінде студент:

1) бағдарламалық жүйені жобалаудың әдістері мен құралдарын, бағдарламалық жүйенің компоненттері мен оларды жасау технологиясын  өңдей білу керек;

2) жобалау, тестілеу, кейінге қалдыру, сынаққа алу, бағдарламалық жүйені эксплуатациялау кезінде пайда болатын есептерді қойып, шеше білу, берілген бағдарламаға сипаттама бере білу, бағдарламалық жүйенің сапасын бағалай білуге міндетті.

Курстық жұмыстың тақырыбы келесі операцияларды қамту керек:

-       пернетақтадан енізу;

-       экранға шығару;

-       директориямен жұмыс;

-       дискіні жазып оқу жағдайында нұсқаулармен жұмыс;

-       файлға енізу - шығару;

-       диалогтік режимде бағдарламаның жұмыс істеуі;

-       оңай мәзірлерді өңдеу және олармен жұмыс.

Бағдарлама жұмысының нәтижесі оны қадағалауға ыңғайлы түрде ұсынылулы, экранға, басылымға, файлға шығарылуы керек.

Тараушы мәлімет пернетақтадан немесе файлдардан енгізілуі керек.

Курстық жұмыстың тақырыбының күрделілігі студенттің мүмкіндіктеріне байланысты болуы керек.

 

1 Курстық жұмыстың орындалуы

.1   Курстық жұмыстың құрылымы:

-      титулдық бет;

-      курстық жұмыстың тапсырмалары және студент пен оқытушының қолдары;

-      қысқаша түсініктеме;

-      мазмұны;

-      кіріспе;

-      негізі бөлім;

-      қорытынды;

-      қысқартулар тізімі;

-      терминдер тізімі;

-      әдебиеттер тізімі;

-      қосымша(лар).

Курстық жұмыс бағдарлама (қосымша) болғанда ғана қарастырылып, тексеріліп, қорғалады.

Жүйелік қамтыма келесі құжаттардан тұрады:

1) бағдарлама құрылымының сипаттамасы (листинг);

2) алгоритмнің блок-сұлбасының сипаттамасы;

3) бағдарламаны сипаттау;

4) қолданудың сипаттамасы;

5) оператордың басқармасы;

6) қолданушының басқармасы;

7) бағдарламалаушы басқармасы;

8) қорытынды мысал.

 

2 Жұмыстың негізгі бөлімінің орындалуы

2.1 Бағдарлама құрылымының сипаттамасы

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

Блок атауларын құрылымнан бағдарламаның мәтініне ауыстыру қажет. Бұл бағдарлама жазуды жеңілдетеді. Құрылымды сызған кезде бағдарламаның әртүрлі бөліктерінің арасындағы байланысты көрсету маңызды. Бағдарлама құрылымын сипаттаған кезде бір блоктан екінші блокқа қандай айнымалылар жіберілетінін ажырату.

 

2.2 Алгоритмнің блок-сұлбасының сипаттамасы

Бұл жерде бағдарламаның әрбір бөлігінің жұмысы көрсетілуі керек. Әдетте блок-сұлба бағдарламаның қиын бөліктері үшін аса қажет. Блок-сұлбаны сипаттау кезінде командаларды қайталамай, операциялардың мақсатын көрсету. Алгоритмдері блок-сұлбада бір төбеде ондаған операторлар сәйкес келе алады. Алгоритм блок-сұлбасы мен бағдарламадағы түсініктеме (комментарий) атауларында сәйкестік ұстанған жөн.

Төбелердің нөмірленуі не торда жүзеге асуы мүмкін, не төбенің сол жақ бөлігінің үзуін өзі нөмірлей алады.

Төбелерде нұсқауларды әріппен жасайды, (А, B, C....), бұл жағдайда нұсқау әріпке беріледі, байланыс жүретін жерде немесе төбенің нөмірін нұсқау арқылы, бұл жағдайда байланыстың қай жерден келгенін, қалай жүретінін және төбе нөмірін көруге болады. Нұсқаулар диаметрі 0,5а-ға тең шеңберлерде беріледі. Алгоритмнің негізгі блогындағы блок-сұлбасының төбесінің өлшемі мынаған тең а:б, сонымен қатар  1:1,5 ( 1:2 рұқсат етіледі), а = n*(10 немесе 15 мм.), мұндағы n жұп коэффициенті. Мысалы, төбе өлшемі мынадай болуы мүмкін: n = 10 және модуль 15 мм болғанда 200-ге 300 мм.

 

2.3 Бағдарлама мәтінінің сипаттамасы

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

Түсінікті етіп сипаттау үшін көп сөздің қажеті жоқ! Ең бастысы бағдарлама мәтінінің сипатталуы - нәтиже мен қимылдарды нақты сипаттау, туларды белгілеу (назначение флагов), тармақталу шарты, буферлерді тағайындау  болып табылады.

Бағдарлама мәтінін сипаттаған кезде сипатталушы бағдарламаның фрагментін келтіру қажет.

Бағдарламаның оқылуы - бағдарлама мәтінін түсінікті деңгейде безендіруге тәуелді. Бұл тек бағдарламаны қолданушыға ғана емес, бағдарламалаушы-өңдеушіге де керек. Сауатты түсініктеме (комментарий) бағдарламаны кейінге қалдыруға көмектеседі, жұмыстың логикасын қарай отыра (прослеживать) «жоғары-төмен» бағдарлама жүйесінің компоненті болып табылады.

Түсініктемелер (комментарий) түріндегі нақты сипатталған бағдарлама өздігінен құжатталатын (самодокументирующейся) деп аталады.

Түсініктемелерді (комментарий) келесі элементтерге жіктеуге болады.

 

2.3.1 Бағдарлама атының тақырыбы (заголовок) – Бағдарлама атауының және бағдарлама жұмысының қысқаша сипаттамасы.

Бұл жерде бағдарлама өңдеушісі жайында кейбір мәліметтерді беруге болады (телефондар, топ аты, тегі). Мысалға,

TITLE DISK.ASM

;ДИСК ТАҢДАЙТЫН БАҒДАРЛАМА (ФАЙЛ DISK.ASM)

;Бағдарлама жүйедегі орнатылған дискілер санын анықтайды, ;критикалық қателерді өңдейді, қарапайым мәзірді пайда етеді ;таңдалған дискілерді орнатады.

 

2.3.2 Блок түсініктемелері (комментарий).

Блок атаулары алгоритм блок-сұлбасына сәйкес келетін блоктардың атымен өзгертіледі. Блоктар бірнеше операторларды біріктіреді.

Мысалға:

         ; пернетақтадан сұрау

         ................

         ;мәзір рамкасын қалыптастыру

 

2.3.3 Жолдағы түсініктеме (комментарий).

Әдеттегідей, анықтайды немесе бағдарламадағы кейбір әрекеттерді еске түсіреді, жалауды (флаг) белгілеу, тексеру және т.б. Түсініктемелерді (комментарий) бос мақсаттарға қолдана бермеу керек.

Дұрыс түсініктеме қатары:

mov  bx,fio[1]     ; fio[1]-де нақты ендірілген сан болады

cmp  ah,77         ;бағыттауыш солға

Осылайша, түсініктемелер бағдарлама құрылымында бағыт табуы керек. Дұрыс, сауатты түсініктеме бағдарламаны оқуымен қатар оның жасалуына да көмектеседі!

 

3 Бағдарлама жазылуының технологиясы

3.1 Бағдарлама жасап-шығарудың басты деңгейлері

Бағдарлама жүйесінің жасап-шығарылуының басты этаптарына келесілер жатады: тапсырманың қойылуы, жасау, орындау, жүйенің өзгеруіне байланысты сынау. Бұл этаптар біртіндеп жабылуы мүмкін. Сонымен, тапсырманың реттелуі бағдарлама құрылымы және мәліметтерге дайындық кезінде басталуы шарт емес. Болашақ қолданушымен келісуді талап ететін сол не басқа дәлелдемелер шағымданады. Қолданбалы бағдарламалау жүйесін жобалауда бірінші қадам: бағдарлама мақсаттарының нақты реттелуіне тоқталады.

Бұл мәселе анықталып жатқан кезде, басында қарастырылған процедуралар бір бүтін сияқты бірнеше бөлшектерге бөлінеді. Жүйенің жалпы көрінісінен басталып, үлкен санды теңдіктен тұратын иерархиялық құрылымға қол жеткізе отырып, зерттеу әдісі бөлшектенетін зерттеу әдісі құрылымдық анализ деп аталады. Құрылымдық анализдің жоғарғы деңгейі жүйенің функционалдық сипатын құру – бұл жобаға қатысты бүкіл ақпараттың жалпы түсініктемесі. Жүйенің функционалдық элементтерге жіктелуі белгілі бір ережелерге бағынады. Жалпы ереже келесіден тұрады: істелуге тиісті нәрсені қандай түрде істеуге болатынын ажырату керек. Мәліметтердің әртүрлі элементтерінің арасындағы логикалық байланысы бүкіл жобалау процесінің негізін құрайды. Бұл процесті құрудың көптеген әдісі ұсынылған. Бір әдістерде жобалау жүйелік анализде базаланады, бірінші этапта жүйенің функциялануы мен ондағы мәліметтердің жасалынуы қолға алынады, содан кейін жүйе одан да кіші құрамадағы бөлшектерге біртіндеп бөлінеді.

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

Егер жоба жақсылап ойластырылып қарастырылған болса, модульдерді кодтау кезінде аса үлкен қиыншылықтар туындамайды.

Бағдарлама жасаудың процесі өзіне бірнеше этап қоса отырып, итерациялық болып табылады, яғни кейбір этаптарды бағдарлама бөліктерін анықтауда қайталаған жөн. Соңғы уақыттарда бағдарламаны құрудағы модульдік принципі кең орын алуда. Бағдарламаның модульдік принципі кейбір орнатылған ережеге сәйкес бағдарламаның бөлшектенуімен түсіндіріледі. Бағдарламалардың модульдерге бөліну себебі:

–       оларды жасау мен жұмыс істелуін жеңілдету;

–       бағдарлама оқылуын жеңілдету;

–       олардың модификациясы мен бағыттауын жеңілдету;

–       күрделі құрылымы бар мәліметтердің жұмысын жеңілдету;

–       алгоритмдердің неғұрлым бөлшектенуінен қашу;

–       ЭЕМ жадысында бағдарлама орналастыруды қамтамасыз ету.

Модульдік принципке негізделген бағдарлама жобалаудың әдістері үш топқа бөлінеді:

–        " жоғарыдан- төмен " жобалау әдісі (төменде жобалау);

–       " төменнен- жоғарыға " (жоғары жобалау);

–        "іштен шекараларға қарай" (кеңейтілген ядро әдісі).

Модульдерге бөлу эвристикалық жол арқылы жүзеге асырылады. Әрі қарай “ жоғарыдан-төмен ” бағдарламалау әдісін қарастырамыз.

 

3.1.1 Тапсырманың қойылуы.

Бағдарламалауды бастамас бұрын тапсырманы нақты қою керек. Тапсырманы қою кезінде тапсырыс беруші мен қолданушы арасында кеңес жүргізілуі керек немесе тапсырыс беруші бұл жүйенің дұрыс істеу аумағын білмегендіктен; бағдарлама жасаушы – бағдарлама көшіруінің шарты. Сонымен қатар, тапсырманы қоюда мыналарды білген жөн:

-   бағдарлама қандай мақсатпен жасалынуда;

-   қандай мәліметтер өңделуде және олардың саны, сақталынатын форматтары, қалай енгізіліп-шығарылады, мәліметтерді сақтау мерзімі және т.б;

-   бағдарлама қандай есептік құжат дайындау керек және олардың формасы;

-   бағдарлама мен қолданушы арасындағы интерфейс қандай (экран түрлері, және т.б);

-   қандай тапсырмалар байланысқан, қандайлары - байланыспаған;

-   бағдарлама аумағының өңделуі уақыт бойынша шектелген бе әлде шектелмеген бе;

-   бағдарлама жүйеде жұмыс істей ме, оған бірнеше қолданушы бір уақытта көңіл аудара ала ма;

-   бағдарламаны көшіруге байланысты басқа да сұрақтар.

Тапсырманы қою процесі жұмыстың ең жауапты бөлімі, оның табысты және дұрыс түрде орындалуына тапсырманы табысты аяқтау тәуелді, әсіресе бағдарламаны дұрыстайтын этап (бағдарламаны дұрыстауға 70% уақыт кететіні белгілі). Курстық жұмысқа сәйкес тапсырманы қою тапсырманы кеңейтіліп сипатталуына көшеді, мазмұны:

-       жұмыс нәтижесінде нені алу қажет (құжаттар, файлдар, экран және т.б.);

-       мәзірді ұйымдастыру жолы (бейнежадыда, 21h үзу функциясы көмегімен, "төмен түсу", көпдеңгейлі және т.б.);

-       оператордың дұрыс емес жұмысынан туындаған қателерді немесе жүйенің соқтығуынан болған қателерді қайта өңдеу;

-       жұмыстың аяқталуы.

 

3.1.2 Бағдарлама құрылымын құру.

Бағдарлама құрылымы техқұжаттың міндетті компоненті болып табылмайды, жеке блоктар мен бағдарлама модульдерінің арасындағы байланыс кескіні үшін өңдеушіге осы керек. Құрылым негізіне жоғарыдан төмен қарай бағдарламалау кезінде блоктар тізімі жазылады.

Құрылымдық бағдарламаны құрғаннан кейін бағдарламадағы блоктар саны, олардың орындалу тәртібі, олардың аты анықталады.

 

3.1.3 Алгоритм блок-сұлбасын жасап-шығару.

Алгоритмдердің блок-сұлбасы бағдарламаны жазумен қатар жүргізіледі. Егер кодтау қиын болса, онда алгоритмнің блок-сұлбасын кішкене аумаққа құруға болады. Осы этапта бағдарлама блогының атауы түсініктеме түрінде енгізіледі.

 

3.1.4 Бағдарлама мәтінінің жазылуы.

Бағдарламалаудың "жоғарыдан-төмен" әдісінде ең алдымен, сегменттердің псевдооператорлары, сегмент адресінің қосу операторы, бағдарламаның блогтық түсініктемелері жазылады. Мысалға, Turbo Assembler тілінде жазылған бағдарлама үшін:

 

TITLE aos.asm

Comment# Көптерезелі мәзірді жасау үшін арналған бағдарлама. Бағдарлама мәзір конфигурациясын жасайды, ендірілу деңгейі 3-тен артық емес және экрандағы бейне санымен шектеледі. Біріктіретін функциялар: директорияларды қарау және директориялар ішіне өту және  мәзір файлына таңдау жасау (қарау немесе басқа мақсаттар үшін), мәзір бойынша курсорды ауыстыру бойынша басқару, бағдарлама аумағынан тыс буфердегі  мәтінді қарау. Жасаушы Иванов В.В.,  БВТ-XX-YY тобы #

 .model small

 .code

 .stack 200h

;__________________________________________________________

Start: Push cs

                  Pop   ds

         <мұнда  бағдарлама денесі болады>

         .........

exit:   mov ah,4ch ; бағдарламадан шығу

         int 21h

End Start

 

MASM-да жазылған бағдарламалар үшін:

;жүйе қайтаратын қондырылған дискінің санын анықтайды

;дискіні таңдап және курсор басқаратын дискінің санын анықтайды

(файл DISKI.ASM)

CSEG        SEGMENT

ASSUME CS:CSEG,DS:CSEG

begin:        push  cs

         pop   ds

jmp   v1

fr1     db     'қате',10,13,'$'

v1:

         <мұнда бағдарлама денесі болады>

         .........

exit:   mov ah,4ch ;бағдарламадан шығу

         int 21h

CSEG        ends

         end begin

 

Келтірілген мысалда мәліметтер кодтық сегментте орналасады, ал кодтық сегментте бірінші ASSUME және адрес, сегмент адрестерін жүктеу операторлары болу керек (бұл мысалда push cs,pop ds). Осы операторлардан бағдарламаның орындалуы басталуы керек, begin: белгісі нені көрсетеді, end begin директиваларында орнаған ссылка. Мәліметтерден өту үшін jmp v1 операторы қызмет етеді. Бастапқы этаптарда қателер туралы хаттан басқа басқа мәліметтер анықталмаған.

exit: белгісінің соңғы операторында бағдарламаның аяқталуы тұр, (4ch функциясы 21h үзуі).

Келесі этапта "жоғарыдан-төмен" бағдарламалау әдісі бойынша бағдарлама құрылымы анықталады, бағдарлама элементтерінің атауы толтырылады. Нақтылық үшін келесі тапсырмаға мысал қарастырайық: "Тараушы дискке аудару, бағдарламасын жасау".

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

Жалпы түсініктер негізінде бағдарлама құрылымын операциялардың тізбектелуі түрінде жазайық.

 

;жүйе қайтаратын қондырылған дискінің санын анықтайды

;дискіні таңдап және курсор басқаратын дискінің санын анықтайды (файл DISKI.ASM)

CSEG        SEGMENT

ASSUME CS:CSEG,DS:CSEG

begin:        push  cs

         pop   ds

jmp   v1

;----------------

ch_d db     0; мұнда жүйе қайтаратын қондырылған дискінің санын орнатамыз

diski  db     23 dup(0),'$'; дискілер тізімін орнатататын буфер

fr1     db     'қате',10,13,'$'

;----------------

v1:    ;қазір қандай диск екенін анықтайды

         ;қанша дисктің орнатылғанын көрсетеді?

         ;мәзірді толықтау

         ;мәзірді шығару

; меңзерді (курсор) басқару процедурсын шақыру

         call   UPRCUR

exit:   ; бағдарламадан шығу

         mov ah,4ch

         int 21h

<Мұнда процедуралар орнатылады. Бұл аймақ процедуралар түрінде мысал ретінде көрсетілген. Бірақ ол бағдарламаның логикасына қарсы емес!>

UPRCUR   proc  ;процедура пернетақтадан сұрайды, басылған пернені талдайды және меңзерді (курсор)  ауыстырады, мәзір бойынша дискіні таңдайды және оны белсенді етеді, <Enter> немесе  <Esc>-сіз процедурадан шығады

         ret

UPRCUR   endp

CSEG        ends

         end begin

 

Енді біздің бағдарлама кодтауға дайын: макрокомандалар, процедуралар және бағдарлама мәтінін жазу керек.

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

Ассемблерде құрылған бағдарлама мысалын қарастырайық (кодтау). Әрине, дайын бағдарламада бұл аумақтарды өшіру керек. Бағдарламаны жазып жатқан кезде біртіндеп бастапқы түсініктемелер (комментарий) мен бағдарлама мәтіні толтырыла бастайды.

Бағдарлама жазудың сипаттаушы процесі өңдеушіні қанағаттандырғанша итерациялы түрде қайталанып отырады. Мысалы, бағдарламалаудың бірінші этапында мәзір бойынша меңзердің (курсор) циклдық орын ауыстыруы болмауы мүмкін. Мүмкін, келесі этаптарда өңдеуші мәзірді аса көркем қылып жасағысы келетін шығар, экраннан "қоқыс" –ты алып тастайды. Бағдарламаның фрагменті болып табылуы мүмкін, сол себепті оны соның ішіне салу керек. Егер бағдарлама дұрыс құрылып жұмыс істеп тұрса, ешқандай мәселе туындамайды.

 

4 Пайдалану сынағы

Бағдарламаны кейінге қалдыра тұрғаннан кейін, ол бір нәрсені орындай бастағанда бағдарламаны көшіру қажет, яғни онымен оператор сияқты жұмыс істеу керек. Мүмкін, табарсыз, жеке операциялар интерфейске ыңғайлы емес, сол себепті интерфейсті жақсартқыңыз келеді немесе кейбір қарастырылмаған жағдайларда бағдарлама тұрып қалады да жүйенің қайта жүктелуін сұрайды, соған көз жеткізуіңіз мүмкін немесе логикалық қате табылады. Бағдарлама жұмысын аяқтаған жөн. Әдетте бұл этапта жұмыстың аяқталуы іске асады "ақымақтан қорғау", яғни бұл оператордың дұрыс жұмыс жасамауынан, дұрыс емес, мәліметтерден және т.б. себебінен болуы мүмкін. Байқалған кемшіліктер шеттетіледі, бұл дегеніміз 3 және 4 пункттар қайталанылады. Өңдеуші өз бағдарламасының жұмысын одан ары қадағалауы керек. Бұл бағдарламаны алып жүру деп аталады.

 

5 Техқұжатты безендіру

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

5.1 Қолданушыға бағытталған нұсқау

 

Қолданушыға бағытталған нұсқау қателер мен үзіліс кезіндегі қажетті қимылдар туралы хабарламаның бағдарламасын жібергендегі басты мәліметтер тізімін құрайды. Сақтау ережесі мен мәліметтерді жаңартуларға және т.с.с. бағыттала алады.

 

5.2 Жүйелік бағдарламалаушыға арналған нұсқау

Жүйелік бағдарламалаушыға арналған нұсқауда берілген бағдарламаны жүйеге қалай орнату керек екендігі, бағдарламаның эталондық мәтіні қай жерде сақталатындығы, жүйе бұзылғанда не істеу керек екендігі жайлы мәліметтер бар. Жүйелік бағдарламалаушыға арналған нұсқау барлық бағдарламаға керек емес ол тек қажет жағдайда ғана жазылады.

 

5.3 Операторға нұсқау

Операторға нұсқау тек оператор мен қолданушы екі бөлек адам болғанда ғана талап етіледі. Мысалға, мәліметтерді мәліметтер файлына енгізетін адам оператор болуы мүмкін, ал бұл мәліметтерді қолданушы пайдаланады.

 

5.4 Бақылаушы мысалды сипаттау

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

 

Курстық жұмыс тақырыптарының тізімі

1.     Мәзірді үшдеңгейлі салыммен жасап-шығару

2.     Резиденттік бағдарламаны жасап-шығару.

3.     Windows –тағы консолдік қосымшаларды жасап-шығару.

4.     Трансляторлар, грамматикалар, компиляторлар.

5.     Ағымдарды басқарудың механизмі. Құру, жіберу және аяқтау.

6.     Жүйеде орындалатын процестерді сипаттау.

7.     Ядро объектілерін бірнеше процестерге сәйкесінше қолдану.

8.     Процесс приоритеті кластары мен соған жататын ағым приоритеттерін қолдану.

9.     Қолданушы режимінде ағымдарды синхрондау.

10.Ағымдарды ядроның стандартты механизмдерімен синхрондау.

11.Оқиғаларды қабылдаудың демонстрациялық бағдарламасы.

12.Мьютекстер мен семафорларды қолданудың бағдарламасы.

13.Критикалық секцияларды шындыққа айналдыру.

14.Функция, кластарды тестілеудің бағдарламасы.

15.Таймерлік функцияларды қолдану.

16.Виртуалды жадыны зерттеу.

17.Жүйелік ақпаратты қорытындылау. SYSTEM_INFO құрылымы.

18.Жүйелік ақпаратты қорытындылау. VM_QUERY құрылымы.

19.Виртуалды жадының адрестік ортасының құрамын зерттеу.

20.Орындарға бөлуді басқару, виртуалдық жадыны босату.

21.Құрылым массивін басқару үшін виртуалды жадының механизмін қолдану.

22.Орындарға бөлуді басқару, физикалық жадыны босату.

23.Динамикалық түрде орналасатын жады.

24.Динамикалық  кітапханалар (DLL).

25.DLL енгізу және  API-шақыруларды ұстау.

26.Қақпан көмегімен DLL енгізу.

27.Жойылған ағымдар DLL.

28.Ескертулердің құрылымдық өңдеушісі.

29.Жұмысты аяқтау өңдеушісі.

30.Өңделмеген ескертулер және С++ ескертулері.

31.Терезелік хабарламаны қолданудың демонстрациясы.

32.Аппараттық енгізудің моделі және енгізудің локальдік жағдайы.

33.Win32 қолдана отырып файлдарды көшіру.

34.Файлдар мен каталогтарды басқару.

35.Реестрді басқару.

36.Реестр бөлімдерінің тізімі мен олардың мазмұнын алу.

37.Кескінді файл жадысына сұрыптау.

38.Тілдік интерпретаторларды жүзеге асыру.

39.Процессорарлық қарым-қатынас.

40.Бағдарламаларды зерттеулерден қорғау.

41.VXD драйверлері.

42.Тапсырма бланкісіне мәліметтерді енгізу бағдарламасы.

43.Рецензия бланкісіне мәліметтерді енгізу бағдарламасы.

44.ARS–пен жұмыс жасау үшін Help бағдарламасын қайта өңдеу.

45.Командалық жолды құру мен команданы орындау мүмкіндігі.

46.Меңзерді (курсор) басқару бағдарламасын модификациялау.

47.Көптерезелі мәзірді ұйымдастыру принципі.

48.Буферлермен жұмыс.

49.Бақылаушы бағдарламасының құрылымы.

50.Командалық жолдар параметрлері.

51.Командалық жолдың синтаксистік тәуелсіз талдауы.

52.Файлдармен жұмыс: файлды ашу, файлды жабу,  файлды оқу, файлға жазу.

53.Дискілермен жұмыс.

54.Симофорлар көмегімен басқаруларды жіберуді басқару.

55.Кестелер көмегімен кодтауды түрлендіру принципі.

56.Буферде оқу бағдарламасы, буферді өңдеу және файлға буфер жазу.

57.«Ыстық» пернелерді анықтау.

58.Бір есептік жүйеден екіншісіне түрлендіру.

59..сom файл форматы, .com-дағы командалар мен мәліметтерді адрестеу.

60..еxe файлда қорғалатын процедуралардың инсталляциясы.

61.Дербес компьютердің үзіліс кезінде жұмыс жасауы.

 

Әдебиеттер тізімі 

Нормативтік құжаттар

1.   ЕСПД (Единая система программной документации), ГОСТ 2.105-95.

2.   Фирменный стандарт. Работы учебные. Общие требования к построению, изложению, оформлению. Алматинский университет энергетики и связи. – Алматы: АИЭС, 2009.

3.   Межгосударственный стандарт ЕСКД – Общие требования к текстовым документам.

        Жұмыстың негізгі бөлімін орындауға арналған әдебиет

Негізгі әдебиет

4. Зубков С.В. Assembler для DOS, Windows и UNIX. – М.: ДМК, 2009. - 841 c.

5. Юров В., Хорошенко С. Ассемблер. - СПб.: “Питер”, 2009. – 687 c.

6. Пирогов И.Ю. Assembler.Учебный курс. – М.: “Нолидж”, 2007. – 498 c.

7. Пузанков Д.В. Микропроцессорные системы. – СПб.: “Политехника”, 2008, – 935 с.

8. Абель П. Язык Ассемблера для IBM PC и программирования. – М.: “Высшая школа”, 2002.– 447 с.

Қосымша әдебиет

9. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT.– М.: “Финансы и статистика”, 2006. – 544 с.

10.  Система программирования на макроассемблере MS-DOS (в 4-х частях). – Киев: НПО «Горсистемотехника», 2006. – 874 c.

11.  Майко Г.В. Assembler для IBM PC. - М.: “Бизнес-Информ”, “Сирин”, 2007. – 587 c.

12.  Hортон П. ПК фирмы IBM и OS MS-DOS. -М.: “Радио и связь”, 2005. – 478 c.

14.Скэнлон Л. ПЭВМ IBM PC и XT. Программирование на языке Ассемблера. - М.: “Pадио и Связь”, 2004. – 587 c.

 

Мазмұны

Кіріспе                                                                                                         3

1 Курстық жұмысты безендіру                                                                   4

1.1 Курстық жұмыстың құрылымы                                                            4

2 Жұмыстың негізгі бөлімінің орындалуы                                                  5

2.1 Бағдарлама құрылымының сипаттамасы                                              5

2.2 Алгоритм блок-сұлбасының сипатталуы                                              5

2.3 Бағдарлама мәтінінің сипаттамасы                                                        5

3 Бағдарлама жазудың технологиясы                                                         7

3.1 Бағдарлама жасап-шығарудың басты этаптары                                   7

4 Пайдалану сынағы                                                                                    12

5 Техдокументті безендіру                                                                          13

5.1 Қолданушыға бағытталған нұсқау                                                        13

5.2 Жүйелік бағдарламалаушыға нұсқау                                                     13

5.3 Операторға нұсқау                                                                                 13

5.4 Бақылаушы мысалдың сипаттамасы                                                    13

Курстық жұмыстың тақырыптарының тізімі                                              14

Әдебиеттер тізімі                                                                                         16

2012 ж. баспа жоспары, реті 222