«Ассемблер-күрделі машиналық тіл»



Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
Негізгі бөлім ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4
1.Ассемблер программалау тіліне шолу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5
2.Негізгі бөлім мен процедураларға түсіндірме ... ... ... ... ... ... ... ... ... ... ... ... ..6
3. Есептің құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8
4.Логикалық структураны сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
5. Әдістің баяндамасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...10
6. Программа листингі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..16
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 28
Қолданылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 29
Жоғарғы деңгейлі тілдерде есептеу және мәтіндермен жұмыс істейтін программалар жазу ыңғайлы. Бірақ олар жылдамдығы мен жадыда алатын орны жағынан алғанда онша тиімді болып шықпайды. Осының салдарынан жоғарғы деңгейде программалау тілдерінің бәрінде ассемблерде жазылған жазылған программалық жекебөлшектерін қолдану мүмкіндіктері ескерілген.
Есептеу машинасын керекті бағытта жұмыс істейтін – машиналық тіл. Ассемблер тілі – машиналық тілдің рәміздік көрсетімі. Ассемблер немесе жоғарғы деңгейлі тілде жазылған программаны машиналық тілге аудару үшін аударғыш деп аталатын бағдарламалар қолданылады. Ассемблер тілінде жазылған программаның аударғышы Ассемблер деп аталады.
Машинадағы барлық процестер ең төменгі, аппараттық деңгейде тек машиналық тілдің командалары арқылы жүзеге асырылады. Ассемблер тілі компьютердің әрбір түрі үшін әр түрлі болып келеді.
Кейде мәселен, программа ерекше, бейстандартты құрылғымен жұмыс істеуі немесе аппаратураға тікелей қатынасумен байланысты іс-әрекеттер жасауы керек болады. Бұл кезде программалаушы қандай білікті болмасын және өзінің программасын қандай да жоғарғыдеігейлі тамаша тілде жазбасын, бәрібір, оған ассемблер тілін білу керек болады. Сондықтан да, жоғарғы деңгейлі тілдердің компиляторларының көбісінде ассемблер тіліндегі жекебөлшектермен байланысу құралдары бар екені немесе программалаудың ассемберлік деңгейін қолдауы бостан бос емес.
1. Скэндлон Л.ПЭВМ ІВМ РС и ХТ.Программирование на языке Ассемблера-М.: «Радио и Связь».1989
2. Юров В.,Хорошенко С.Ассемблер. «Питер»,1999
3. Халықова К.З., Тұрғанбаева А.Р. Программалау тілдерін оқыту: Оқу құралы.-Алматы,2005.
4. Майко Г.В.Ассемблер для ІВМ РС.-М.: «Бизнес-Информ», «Сирин»,1997
5. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
6. Халықова К.З., Паскаль тілінде программалау: Оқу құралы. – Алматы: АГУ им. Абая, 2002.
7. Культин Н. Delphi. Программирование на Object Paskal. Санкт-Петербург, 1998.
8. М. Фленов. Библия Delphi. Санкт-Петербург, 2004.
9. Орлик С.В Секреты Delphi на примерах. М.:Бином, 1996
10. Н.Культин «Delphi в задачах и примерах» Санк-Петербург 2006г

КУРСТЫҚ ЖҰМЫСТЫ ОРЫНДАУҒА ТАПСЫРМА

Студент: Сагымбаева М.К
Тақырыбы: Ассемблер-күрделі машиналық тіл
Жұмыс барысында қолданылатын бастапқы мәліметтер мазмұны,Ассемблер
программалау тілінде бағдарлама құру, әдістің баяндалуы, пайдалануға
нұсқаулық пен әрекеттерді есептеуден, қорытындыдан құралады. Программа
листингісі де берілген.
Сызба материалдар саны: 10 сурет

Жұмыс жетекшісі: Кенжалиева М.Д.

Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... .3
Негізгі
бөлім ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .4
1.Ассемблер программалау тіліне
шолу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
2.Негізгі бөлім мен процедураларға
түсіндірме ... ... ... ... ... ... . ... ... ... ... ... ... .6
3. Есептің
құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... .8
4.Логикалық структураны
сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
.9
5. Әдістің
баяндамасы ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... .10
6. Программа
листингі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ..16
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ..28
Қолданылған әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ..29

Кіріспе

Жоғарғы деңгейлі тілдерде есептеу және мәтіндермен жұмыс істейтін
программалар жазу ыңғайлы. Бірақ олар жылдамдығы мен жадыда алатын орны
жағынан алғанда онша тиімді болып шықпайды. Осының салдарынан жоғарғы
деңгейде программалау тілдерінің бәрінде ассемблерде жазылған жазылған
программалық жекебөлшектерін қолдану мүмкіндіктері ескерілген.
Есептеу машинасын керекті бағытта жұмыс істейтін – машиналық тіл.
Ассемблер тілі – машиналық тілдің рәміздік көрсетімі. Ассемблер немесе
жоғарғы деңгейлі тілде жазылған программаны машиналық тілге аудару үшін
аударғыш деп аталатын бағдарламалар қолданылады. Ассемблер тілінде жазылған
программаның аударғышы Ассемблер деп аталады.
Машинадағы барлық процестер ең төменгі, аппараттық деңгейде тек
машиналық тілдің командалары арқылы жүзеге асырылады. Ассемблер тілі
компьютердің әрбір түрі үшін әр түрлі болып келеді.
Кейде мәселен, программа ерекше, бейстандартты құрылғымен жұмыс істеуі
немесе аппаратураға тікелей қатынасумен байланысты іс-әрекеттер жасауы
керек болады. Бұл кезде программалаушы қандай білікті болмасын және өзінің
программасын қандай да жоғарғыдеігейлі тамаша тілде жазбасын, бәрібір, оған
ассемблер тілін білу керек болады. Сондықтан да, жоғарғы деңгейлі тілдердің
компиляторларының көбісінде ассемблер тіліндегі жекебөлшектермен байланысу
құралдары бар екені немесе программалаудың ассемберлік деңгейін қолдауы
бостан бос емес.

Негізгі бөлім

1.Ассемблер тіліне шолу

Машиналық тіл – негізі 0 мен 1-дің киындасуларының жиынынан тұратын
тіл.
1950-ші жылдары программалаушылар программалау үшін машиналық тілдің
символикалық (рәміздік) аналогін қолданған. Оны ассемблер деп атаған
Ассемблер тілі сөздер жинағынан тұрады. Бұл сөздер жинағы электрондық
есептеу машинасына қандай өрекет жасау керектігін көрсетеді. Жоғарғы
деңгейлі тілдерге қарағанда ассемблер тілінің командалар жинағы ЭЕМ-нің
буындарымен тікелей байланысты. Сондықтан ассемблер тілі машина-тәуелді
және машина-бағдарлы программалау тілі деп саналады.
Ассемблер тілінің тиімділігі:
• Тез орындалады, өйткені процессорды толығырақ басқарудың
мүмкіндігі бар;
• Компьтерге төмен деңгейде қатынас құруға болады.
Орындалатын программаны және бағдарламахананы немесе басқа алдын ала
аудармаланған ішпрограммаларды біріктіретін көмекші программа байланыстар
түзеткіші немесе программа құрастырғыш (LINKER) деп аталады. Орындалатын
программаны жадыға орналастырушы программа жүктемелеуіш (Loader) деп
аталады. Кейде байланыстарды түзету мен жүктемелеу жұмыстарын бір программа
атқарады.
Программаның бастапқы мәтіні кез келген мәтіндік редакторда теріледі
де, .asm кеңеймесі бар файл түрінде сақталады.
Сосын TASM.EXE аударғыш (оны кейде компилятор деп те атайды)
прграммасының көмегімен бастапқы мәтіндік файлдан Name.obj (машиналық
тілдегі программаның мәтіні, бірақ ішкі командалар арасындағы байланыстары
жөнге келтірілмеген) объектік кодасы бар файл алынады.Сонымен қатар ол
Name.lst (листинг) және Name.crf (ерсілі-қарсылы сілтемелер) файлдарын
қалыптастырады.
Осыдан кейін TLINK.EXE (құрастырғыш немесе байланыс редакторы)
программасының көмегімен объектік файлдан ( деп аталатын) орындалаиын
программа алынады. Сонымен қатар Name.map (карта файлын), Name.lib
(кітапхана файлын), Name .def (анықтамалар файлын) және Name.res
(ресурстар файлын) құрастыра алады.
Ассемблер – машиналық тілдің символдық аналогы, сондықтан прграмма
шағынпроцессордың архитектурасының барлық ерекшеліктерін бейнелеуге тиіс.
Олар жадыны ұйымдастыру, операндтарды адрестеу тәсілдері, регистрлерді
пайдалану ережелері т.б.
Ассемблер тілінде жазылған программаны жадының сегмент деп аталатын
бөлшектер жинағы ретінде қарастыруға болады. Әрбір сегмент тілдің сөйлемдер
жинығынан тұрады. Әрбір сөйлем программаның кодасында бөлек бір жолдан
тұрады.
Ассемблер сөйлемдері 3 түрлі болады:
• Командалар. Бұлардың объектік кодасы бар және бұлар
шағынпрпоцессорға не істеу керек екенін көрсетеді.
• Макрокомандалар. Макрокоманда- бсатапқы программадғы бірнеше
машиналық командалардың орнына жүретін символдық атау.
• Директивалар (жалғаноператорлар). Жалғаноператорлар Асссемблерге
деректермен және командаларамен не істеу керектігін анықтайтын
нұсқау береді. Сондықтан олар шағынпроцессордың емес,
аударғыштың жұмысын басқарады жне орындалатын EXE файлында бқл
жалғаноператоларға сәйкес машиналық кода болмайды.

Тіркегіштер
Шағын санашықтың ішінде әдейі ұяшықтар бар.Олар тіркегіштер деп
аталады.Тіркегіштерге деректерді жады мекендерін жазуға болады.Тіркегіштер
тікелей шағын санашықтың ішінде болғандықтан,ол өте жылдам .Егер
программада кейбір мәндерге жылдам қатынас құру қажет болса,онда оны
тіркегіште сақталуы программаның орындалуын жылдамдатады.8088 шағын
санашықтың тіркегіштер жиынтығы мынадай топтардан тұрады:
• жалпы міндетті тіркегіштер;
• мекендететін тіркегіштер;
• сегментті тіркегіштер;
• басқару тіркегіштері.

AX—AH AL
BX—BH BL
CX—CH CL
DX—DH DL
Жалпы міндетті тіркегіштер
АХ-тіркегіші бұрынғы шағын санағыштың аккуммуляторына сәйкес.Арифметикалық
функцияларынан басқа АХ тіркегішінде т.б.функциялар бар.Команданың кіші
көлемі прграмманы қысқартуға және оны орындалуын жылдамдатуға мүмкіншілігін
береді.
ВХ тіркегіші-мекендету тіркегіші және есептеу тіркегіші сияқты қолданылады.
СХ 8088 шағын санашықтың командалары СХ тіркегішін санашық ретінде
қолданады.Онда айнымалының қайталау саны сақталынады.
DХ тіркегіші аккумулятордың ұлғайтқышы ретінде жоғарғы дәлдікті есептеуүшін
пайдаланады және сонымен бірге көбейтуде ж\е бөлуде қолданылады.
Мекендету тіркегіштері
8088 шағынсанашығында лперандтарды адрестеуге қатысатын 4,16 биттік
тіркегіш бар.Олардың біреуі бір уақытта жалпы міндетті тіркегіш болады.Бұл
ВХ тіркегіші немесе базалық тіркегіш және де одан басқа 3 тіркегіш бар.Олар
мыналар:
ВР бұл база көрсеткіші;
SI бұл таратқыш индексі;
DI бұл қабылдағыш индексі.

Басқару тіркегіштері.8088 шағынсанашығында 3 16 биттік тіркегіштер
бар.Олар алдымен басқару операцияларында қолданылады.
SP стектің көрсеткіші;
IP команданың көрсеткіші және тіркегіш жалаушалары.
Сегменттер
регистрі(BIOS,IO.SYS,MsDOS.SYS,макр оанықтауыш,макрокомандалар,жинақтау ыш
есептеулері(Д,С,В,А обьектілер модулі.) )
CS программаны анықтау сегменттер регистрі
DS деректер құрылымымен жұмыс істейтін сегменттер регистрі
SS стекті сегментті регеистр
ES қосымша сегменттер регистрі.
Қандайда нақты жазылған қолданушы программалардыбасқа тілге
түрлендіретін программаларды транслятор деп атайды.Трансляторларды 2 топқа
бөлуге болады.Кіруші тіл сандық машиналық тілдің символдығы болса,ал кіруші
тіл ассемблер деп аталады.
Ассемблер тілі әр бір жеткізу машинаға әр бір машиналық командаға
сәйкес болатынтіл.Мұнда екілік,сегіздік әдіс,адрестердің орнына символдық
белгілер қолданылады.

SEGMENT -дерективасы жаңа сегментті бастайды;
ENDS -дерективасы оны аяқтайды;
ALIGN -дерективасы келесі жолдағы берілген дерективаны
аргументтерге бөлетінадресін ауыстырады;
IQU -дерективасы кейбір өрнектерге символдық атаулар береді.
Дисплейге шығарылатын барлық ақпарат ASCII кодасында көрсетілу
керек.Символдарды дисплейге шығару үшін-үш функцияға (9,10,14) BIOS қызмет
етеді.
Ассемблерде мысал ретінде программалар құрайық. Ол үшін бірінші
Ассемблерге барып,оны бір рет шертеміз.Ашылғаннан кейін жаңа файл
құрамыз:Shift+F4 арқылы.Оны F4 пен ашып,ішіне программамызды жазамыз.Esc-
пен сақтай отырып шығып,оның қатесін тексереміз.Ол үшін – TASM.EXE -
NAME.EXE .Егер дұрыс болса, NAME.OBJ. шығады.Сосын,TLINK.EXE мен
NAME.OBJ.пен тексереміз.Ол уақытта NAME.MAP пайда болады.Бұл дегеніміз
программа дұрыс құрылды деген сөз.

1-ші программа: Маншук,20 деген сөйлемді ортаға шығару;
2-ші программа: Маншук,20 деген сөйлемді рамкаға алу;
3-ші программа: сол сөйлемді тігінен жазу;
Берілген 4-ші тапсырма Delphi-орталығында жасалатындықтан,осы
бағдарлама туралы қысқаша мәлімет беріп кетейік.

Delphi ортасы туралы мағлұмат
Delphi тілінің шығу тарихы
Delphi программалау тілінің дамуы Pascal программалау тілімен тығыз
байланысты.
Ал Pascal тілінің тұңғыш нұсқасын 1970 жылы Швецария физигі Никлаус Вирт
ұсынған.Автор тілді алғашқы арифметикалық есептеу машинасын жасаған
француздың ұлы ғалымы Близ Паскальдың құрметіне Pascal деп атаған,тіл
атауының үнемі бас әріппен жазылуын сұраған.
Жас бағдарламашылардың модульдік бағдарламалауды түсінуге
көмектесетін,тілдің жақсы құрылымына назар аударуы қажет.Осылардың
нәтижелерінде Pascal тек АҚШ университеттерінде ғана емес,барлық басқа
мемлекеттерде де кеңінен қолданып,негізгі оқу тілінің біріне айналды.
Turbo Pascal тілін өңдеп,күрделендіре келе,ақырында 1995 жылы визуалдық
программалау тілі Delphi пайда болды.
Delphiсөзі орокулдар билік еткен,ежелгі Греция қалаларының біреуінің
атауы.Бұл атауды Delphi программасын өңдеушілер программа мүмкіндігі мен
сапасын ескере отырып ойлап шығарған.
Delphi 1.версиясы 1995 жылы шықты,Delphi 2. 1996 жылы,ал Delphi 3. 1997
жылы шыққан.1998 жылы CORBA(Common Object Request Broker Architecture)
құралы арқылы құрастырылған Delphi 4. жарыққа маусымда шықты.Delphi 5. 1999
жылы,ал Delphi 6. версиясы 2001 жылы,Delphi 7. версиясы 2005 жылы жарық
көрді.Алдыда әлі талай күрделі версиялар жоспарлануда.
Delphi версияларының бірнеше ерекшкліктері бар.Әр бір жаңа шыққан
басылым компаненттер мен ресурстардан құралған функционалды үлкен
мүмкіндіктерден тұрады.Delphi прграммалау тілін қолдана отырып,басқа
Borland программалау платформалар С++.Builder немесе Java-ға арналған
Tbuilder сияқты өнімдермен таныстық.
Delphi системасы Object Pascal-дан компилятор,визуалдық қайта өңдеу
ортасынан,мәліметтер базасымен өзара әрекеттесетін құрал-саймандардан және
кітапханадан VCL(Visual Components Library-визуалдық компоненттер
кітапханасы)тұрады.

Delphi программалау ортасында жұмысты орналастыру.
Delphi-біріктірілген ортасы терезелі жүйе болып келеді.Ол 4-5 немесе
одан да көп терезелерден тұрады.
• Негізгі терезе(Project)
• Обьектілер инспекторының терезесі(Object Inspector)
• Түрін құрастырушының терезесі( Form-форма терезесі)
• Код редакторының терезесі(Unit1.Pase).
Экранда имидж индикатор тиісті құралдарды таңдау кезінде көрінетін өзге
терезелерде болуымүмкін.
Delphi терезелерін(негшізгі терезеден басқасын) жылжытып,экраннан алып
тастауға,олардың көлемдерін өзгертуге болады.Негізгі терезені жапқан кезде
Delphi жұмысы тоқталады.Негізгі терезе жкран бетінде барлық уақытта болады
және ол қосымшаның құрастыру процестеріне арналған.
Негігі терезеде көрсетіледі:
• Басты меню(ең жоғарғы қатар)
• Саймандар тақтасы(басты менюдің сол жағында)
• Компаненттер политрасы(3-ші қатардың оң жағында)
1.Басты менюде Delphi функциясына қол жеткізуге арналған командалардың кең
түрдегі жиынтығы берілген.Олардың негіздері осы командалармен байланысты
әрекеттерді зерттеу кезінде құрастырылады.
2.Құрал-саймандар панельдері басты терезенің сол жақ жанындағы басты
менюдің астында орналасқан және олардың басты менюдің жиі
қолданылатынкомандаларын шақыруға арналған 15 батырмасы бар.Басты менюдің
көптеген командалары тиісті команданың атауын сол жақта көрсетілетін
комбинациялар арқылы шақыруға болады.
3.Компаненттер политрасы оң жақ ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ассемблер тілінің синтаксисі, алфавиті
Ассемблер тілінде программалау туралы ақпарат жайлы
Ассемблер тілінде программалау жайлы ақпарат
Ассемблер тілінде программалау туралы мәлімет
Ассемблер тілінде бағдарламалау
Ассемблер тілі
Ішкі бағдарламалар
Ассемблер және макроассемблер тілдері
Жүйелік программалаудың негізгі ұғымдары мен анықтамалары туралы
Төменгі деңгейлі бағдарламалау тілдері
Пәндер