Файл қосу
Операциялык жүйенің негізгі командалары
|ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БIЛIМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛIГI | |СЕМЕЙ ҚАЛАСЫНЫҢ ШӘКӘРIМ АТЫНДАҒЫ МЕМЛЕКЕТТIК УНИВЕРСИТЕТI | |3-деңгейлi СМЖ құжаты |ПОӘК | | | | |ПОӘК | | | |042-18-11.1.20.56/03-201| | | |3 | |ПОӘК |№1 баспа | | |«Жүйелік бағдарламалық |26.08.2013 ж. | | |қамтамасыз ету» пәнінің | | | |оқу-әдістемелік материалдары | | | «ЖҮЙЕЛІК БАҒДАРЛАМАЛЫҚ ҚАМТАМАСЫЗ ЕТУ» ПӘНІНЕН ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР 5В070200 –«Автоматтандыру және басқару» мамандығына арналған ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР Семей 2012 мазмұны 1. Глоссарий 2. Дәрістер 3. Практикалық және лабораториялық сабақтар 4. Студенттің өздік жұмысы 1. глоссарий ЭЕМ архитектурасы - ЭЕМ-ң құрылымдық, схемотехникалық, логикалық ұйымдастырылуын көрсететiн абстрактiлi көрсетiлуi. Жадының сызықтық кеңiстiгi – адрес номерлерi тiзбектi түрде тағайындалатын жады ұяшықтарының жиынтығы. Басқару құрылғысы - команда кодтарын дешифрациялап, қажеттi басқару сигналдарын таратады. Арифметикалық-логикалық құрылғы мәлiметтердiң қажеттi арифметикалық және логикалық түрлендiрулерiн жүргiзедi. Регистрлер басқарушы ақпаратты, яғни адрестер мен мәлiметтердi сақтауға арналған. Байт ЭЕМ-ң негiзгi жадысының минималды адрестелетiн бiрлiгi. Сегменттер програмалар мен мәлiметтердi негiзгi жадыда орналастыруға арналған арнайы облыстар. Стек мәлiметтер мен адрестердi уақытша сақтауға арналған жадының арнайы ұйымдастырылған облысы. Сөз – тiзбектi адресi бар екi байттан тұратын тiзбек. Қос сөз – тiзбектi адрестер бойынша орналасқан төрт байттан (32бит) тұратын тiзбек. Төрттiк сөз - тiзбектi адрестер бойынша орналасқан сегiз байттан (64 бит) тұратын тiзбек. 2. Дәрістер 1-дәріс. Кiрiспе. Жүйелiк программалау және оның негізгі ұғымдары. Дербес компьютердың архитектурасы. (3 сағ) Дәріс сабағының құрылымы: 1. Жүйелік программалаудың кезеңдері. 2. ЭЕМ- ның архитектурасы. 3. MS DOS операциялық жүйесінің қүрылымы BIOS жүйесi. 1) Жүйелік программалаудың кезеңдері. Компьютердің программалары қолданбалы және жүйелік болып екіге бөлінеді. Қолданбалы программанаң жүйеліктен айырмашылығы – ол компьютерге тікелей байланысты болмайды. Ал жүйелік программалар компьютердің архитектурасын және құрылымын басқарады. Жүйелiк программалау курсы екi бөлiмнен тұрады: теориялық және тәжірибелік. Жүйелiк программалаудың кезеңдерi: 1. Ассемблеу жүйесін жасау; 2. Байланысу программаларын жасау; 3. Микропроцессорлар жүйесін жасау; 4. Компиляторлар құру; 5. Операциялық жүйелер құру; 6. Драйверлер құру. 1. Ассемблерлеу жүйесі негізгі командалық файлды жүктеушіге ауыстырады. 2. Байланысу программалары жеке жүктелетін логикалық байланысатын программалар арасында байланыс орнатады. 3. Микропроцессорлар жиі қайталанатын топтарды бір ғана микроқұрылыммен алмастыруға мүмкіндік береді. 4. Компилятор кодтарды генерациялау кезінде аппараттардың сипаттамаларын санайды. 5. Операциялық жүйелер ЭЕМ-ның жұмысын толық басқаратын және қолданушы мен интерфейс арасында диалог орнататын программа. 6. Драйверлер перифириялық қондырғылардың жұмыс жасауын қамтамасыз етеді. Ассембер тiлi – машиналық кодтардың символдық аналогы. Ассемблер программасын құру келесi кезеңдерден тұрады: 1. Программа текстiн редакциялау кезеңi 2. Ассемблерлеу немесе трансляциялау кезеңi 3. Құрастыру кезеңi 4. Жүктеу кезеңi 1-кезеңде Ассемблерлiк программа Windows жүйесiнiң Блокнот текстiк редакторында және MS-DOS жүйесiнiң NC.exe, FAR.exe, DN.exe программалық қабықшаларының текстiк редакторларында жазылады да, жазылған текст asm кеңейтілуімен сақталынады. 2- кезеңде ассемблерлеу кезеңi орындалады. Бұл процесс tasm.exe программасының көмегiмен жүргiзiледi. Құрылған программа мына файлда сақталу қажет Cdir student\basic - STUDENT каталогына кіретін BASIC ішкі каталогының мазмүнын экранға шығарады; ә) C:\STUDENT\BASIO dir_*.bas - ағымдағы STUDENT\BASIC каталогындагы заты BAS болып келген барлық файлдардың атрибутының тізімін экранға шыгарады . б) А:\> dir alma.bas - ALMA.BAS файлының атрибуттарын экранга шығарады. Каталог мазмүнының тізімі үлкен болған жағдайда -информацияны парақтап экранга шыгару үшін қосымша /Р параметрі қолданылады. Бүл жағдайда экран беті информацияга толган соң информацияны экранға беру токтайды, жалғастыру үшін кез келген пернені басу керек. С:\> dir /р немссс С:\> dir student\basic /p Информацияны экранға жинакты (бір жолға бірнеше файл жазу) түрінде шығару үшін /W параметрі колданылады. Бүл жағдайда файлдардың аттары мен түрлері ғана экранға шығады, мысалы, А:\> dir /р немесе C:\LEX> dir /w DIR командасы берілген тізімді тек дисплейдің экранына шығарып қана қоймай, принтерге шығаруға және файлға жазып коюға мүмкіндік береді. C:\>dir > prn - С дискісіндегі түпкі каталогтың тізімін принтер арқылы кағазға басып aлy; A:\>dir > spisok - тізімді SPISOK атты файлға жазып алу; Ескерту. Команданын атынан кейінгі сызықша белгісі осы орынга кем дегенде бір бос орынның кажеттілігін көрсетеді 2. MD (Make Directory - каталог жасау) - ағымдағы кез келген каталог ішінен жаңа каталог ашу командасы, мысалы, С:\> md student - С дискісінің түпкі каталогынан STUDENT атты жаңа каталог ашу; С:\> md student\basic немесс C:\STUDENT> md basic - STUDENT каталогында BASIC ішкі каталогын ашу. 3. RD (Remouve Directory - катологты жою) - ішінде файлдары жок бос каталогтар мен ішкі каталогтарды жою командасы, мысалы, C:\STUDENT\BASIС> rd tecno2 - STUDENT каталогының ішіндегі екінші дәрежелі BASIC атты ішкі каталогынын үшінші дәрежелі TECN02 ішкі каталогын жою; С:\> rd student\basic\tecno2 - түпкі каталог ағымда болған жагдайда tecno2 ішкі каталогін жою; 4. CD (Change Directory - каталог ауыстыру) - бір каталогтан екінші каталогка кошу командасы. Жоғарғы дәрежедегі каталогтарга кошу мына параметрлер ".." , "\" арқылы іске асады. Мысалдар: а) С:\>cd_student\basic-STUDENT каталогының BASIC атты ішкі кататогына кошу: э) C:\STUDENT\BASIС> cd.. - BASIC ішкі каталогынан STUDENT каталогына кошу; б) C:\STUDENT\BASIC\TPOP2>cd\ - басқа (түпкі) каталогқа кошу; в) C:\STUDENT\BASIO cd..\lеx - BASIC каталоганан STUDENT каталогына кайтып оралып, LEX ішкі каталогына кошу; г) C:\STUDENT\BASІC\ECONOM2> cd .. \.. - ECONOM2 ішкі каталогынан екі сатыға жоғары STUDENT каталогына кошу. Файлдармен жүмыс істейтін командалар Бүл топқа COPY, REM, DELETE, TYPE, DATE, TIME жөне т.с.с командалар жатады. 1. COPY - файлдарды кошіру командасы. Файлдарды кошіргенде файддың бүрынгы атын сақтап (егер олар басқа каталогқа көшірілетін болса) немесе атын озгертіп кошіруге болады. Параметр ретінде қандай файл, қайдан, қайда жоне қандай атпен кошірілетіні көрсетіледі. Жалпы түрде команда форматын былай көрсетуге болады: copy <қайдан, нені> <қайда> Файл атауларында оларды топтап белгілеуге мүмкіндік беретін нүсқа (* және ?) таңбаларды пайдалануга рүхсат етілген, мысалы, а) C:\> copy а:\*.* с: - А: дискісіндегі барлық файлдарды С: дискісіндегі жүмыс істеп түрған ағымдагы каталогқа көшіру; ә) С:\> copy alla.bas_alma.bas - түрі BAS болып келкен ALIA атты файлды, озі орналасқан сол каталогкд ALMA.BAS деген атпеп көшіру (екінші кошірмесін ботен атпен алу); б) C:\STUDENT\LEX> copy a:\port.txt - А: дискісіндегі port.txt файлын ағымдағы LEX каталогына өз атымен кошіру; в) С:\> copy_knl.txt+b:\kn2.txt+a:\kn3.txt_kniga.txt - С:, А:, В:дискілеріндегі файлдарды KNIGA.TXT дсген атпен С: дискісіне бір файлга көшіру (біріктіру); г) С:\> сору con proba.txt - пернелерден (консоль - con) терген тексті PROBA.TXT файлына енгізу, бул жагдайда PROBA.TXT деген жаңа файл пайда болады. Тексті теріп болғанды білдіретін белгі ретінде Ctrl+Z жөне Enter пернелері қолданылады; ғ) С:\> copy talgat.txt+con talgat.txt - TALGAT.TXT файлының соңына пернелерден терген текст жолдарын қосу; д) С:\> copy_con+talgat.txt talgatl.txt - TALGAT.TXT файлының бас жағына пернелерден терген текст жолдарын косу. Бұл жағдайда нәтиже-файл бастапкы файлдан ботен атпен аталуы қажет; е) С:\> copy con prn — пернелерден терілген символдарды принтер арқылы кағазға басып алу, "баспа машинкасы" режимі; ж) С:\> сору port.txt prn - текстік файлды қағазға басып алу; 2. REN (RENAME) - файлдардың аттарын озгерту командасы, параметрлері файлдардың ескі жөне жана аттары, мысалы, а) С:\> rеn port.txt dora.txt - PORT.TXT атты файлды DORA.TXT дсгсн атқа ауыстыру; ө) С:\> rеn *.doc *.txt — ағымдағы каталогтағы заты DOC файлдардың бәрінің затын ТХТ деп озгерту; 3. DEL (DELETE) — ағымдағы немесе корсетілген каталогтағы файлды нсмесе файддар тобын ошіру командасы, мысалы, а) С:\> del alla.bas — ALLA.BAS файлын ошіру; ө) С:\> del \basic\*.bas — BASIC каталогындағы заты BAS файлдардың бәрін жою; б) C:\PRIMER> del *.* - PRIMER каталогындағы барлык файлдарды жою. Бір емес бірнеше файлдарды, яғни файлдар тобын жоюға команда бергенде операциялық жүйе томендегі корсетілгендей ескертеді: Are you sure? Y/N? (Сіз сенімдісіз бе? Ио/Жок) Ү өрпін таңдау арқылы файлдар тобын жойғымыз келетінін, N әрпін тандау арқылы, жою операциясынан бас тартқанымызды білдіреміз. 4. TYPE командасы - текстен түратын файлдың ішкі текстін экранға шығару. С:\> type program.txt - PROGRAM.TXT файлының текстін экранға шығару; С:\> type student\lex\progl.txt - PROGl.TXT файлын экранға шығару; С:\> type program.txt>prn - файлдың мазмұнын баспаға (принтерге) шығару; 5. DATE командасы - үстіміздегі (ағымдағы) ай, күн жөне жыл мерзімін экранға шығару және оны озгерту; C:\>DATE - операциялык жүйеде (компьютер таймерінде) белгіленген мерзімді (датаны) экранға шығару жөне жана мерзімді енгізуді талап ету. Қайтадан жаңа мерзімді енгізу үшін, пернелерден мына команданы теру керек: DATE_MM-DD-YY мүндағы MM- ай нөмірі (1-12), DD - күн саны (1-31), ҮҮ -жылы. Бүл белгілер мынадай таңбалармен "—" , "/" бөлініп жазылады, мысалы, С:\> date - бүл команда экранга мына жолды шыгарады: Агымдагы мерзім 3-16-1997 Жаңа мерзімді енгізіңіз (mm-dd-yy): Егер мерзім қате болып ағымдағы мерзімді өзгерткіміз келсе, онда жогарыда көрсетілген қалып бойынша қажетті сандар енгіземіз. 6. TIME командасы - ағымдағы уақытты экранга шыгару және қайтадан езгерту, бүл команда форматы алдыңғы — date командасына үксас. С:\> time — компьютер таймерінін ағымдағы уақытын экранга шығаруды және ол дүрыс болмаса, жаңа уакытты енгізуді талап ету. Жүмыс нәтижесі: Агымдагы уақыт 11:22:39.82 Жаңа уақытты снгізініз (HH:MM:SS): мүндағы, НН - сагаты (0-23), ММ-минуты (0-59), SS-секунды (0-59). Жаңа уақытты енгізу үшін пернелерден сагатка, минутқа жене секундқа сәйкес сандарды тереміз. 7. PATH (жол) командасы керекті файлдар автоматты түрде ізделетін каталогтар тізімін алдын ала корсетуге арналған. MS DOS жүйесі қажет болған файлды агымдагы каталогтан таба алмаса, осы команда параметрлері ретінде келтірілген каталогтардан іздейді. Бүл команда кобінесе компьютер іске косылганда бірден автоматты түрде орындалуға тиіс autoexec.bat файлында болады. Ол жиі колданылатын қызмет жасау файлдары орналасқан каталогтарды корсстеді, мысалы: path с:\, c:\dos; c:\nc; c:\windows; d:\utilit; d:\my; d:\text 8. CLS (Clear Screen — экран тазарту) экранды тазартып операциялық жүйенің жүмыска шакыру катарын сол жақ жогарғы бүрышқа орналастырады. Бүл команда сls түрінде параметрсіз теріліп, соңынан Enter псрнесі басылады. Ұсынылатын әдебиет: 1. Негізгі Юров В. Asstmbler. – Издательство «Питер», 2000. Финогенов. Основы языка Ассемблера. 2. Қосымша: Нортон. IBM.PC, 1991. 2-дәріс. Ассемблер программасының құрылымы Дәріс сабағының құрылымы: 1. Ассемблер синтезі 2. Айнымалыларды сипаттау 3. Айнымалыларды сипаттау синтезі 1. Ассемблер синтаксисi дегенiмiз бұл командалар мен операндтардың белгiлi-бiр синтаксистiк ережеге бағынуы. Ассембелер тiлiнде программалау кезiнде жадыны адрестеу тәсiлдерi, массивтер, айнымалылар қолданылады. 2. Айнымалыларды сипаттау Турбо Ассемблерде айнымалыларды сипаттау үшiн арнайы идентифиаторлар қолданылады:Оларға: • DB (Dimension Byte) –1 байт өлшемдi айнымалыны сипаттау. • DW (Dimension Word) – 2 байт өлшемдi айнымалыны сипаттау. (машиналық сөз) • DD (Dimension Double word) – 4 байт өлшемдi айнымалыны сипаттау. (екiлiк сөз) • DQ (Dimension Quadruple word) - 8 байт өлшемдi айнымалыны сипаттау. (4 сөз) 3. Айнымалыны сипатау синтаксисi: Айнымалы аты тип бастапқы мән Мұндағы, бастапқы мән- осы типке беруге болатын кез-келген сан. Санды жазу ондық, он алтылық, сегiздiк, екiлiк форматта, алдына есептеу жүйесiнiң әрпi қойылу арқылы жазылады: • d (Decimal) – ондық сан. Мысалы 034d саны 34 санын бiлдiредi. • h (Hex) – он алтылық сан. Мысалы: 3е5ah, 0ac44h, 0f0h. • o (Octal) – сегiздiк сан. Құрамына 0,1,2,3,4,5,6,7 осы сандар кiредi. • b (Binary) – екiлiк сан. Құрамына 0 және 1 сандары кiредi. Ұсынылатын әдебиет: 1. Негізгі Юров В. Asstmbler. – Издательство «Питер», 2000. Финогенов. Основы языка Ассемблера. 2. Қосымша: Нортон. IBM.PC, 1991. 3-дәріс. Микропроцессордың командалар жүйесi Дәріс сабағының құрылымы: 1. Регистрлер туралы жалпы 2. Жалпыға қолданылатын регистрлер 3. Сегменттік регистрлер 4. Индекстік регистрлер 1. Бұл дәрістің мақсаты студенттердi х86 процессорларының архитектурасымен таныстыру, MS-DOS жүйесiнде жадыны ұйымдастыру туралы алғашқы мәлiметтер, сонымен қатар ассемблер тiлiмен алғашқы жұмыс iстеу тәсiлдерiн алу. Intel процессорларының архитектурасы CPU (Central Process Unit) деп аталатын микропроцессор программист үшiн 16 разрядты регистрлер құрамын көрсетедi. Регистрлер – бұл процессор микросхемасына интегралданған жадының ерекше ұяшықтары. Оларды үш қызметтiк топқа бөлуге болады: 2. Жалпыға қолданылатын қолданылатын: • AX (Accumulator) – аккумулятор. Аоифметикалық операциялардың көпшiлiгi соның көмегiмен жүргiзiледi. • BX (Base) – сегменттiң iшiнде мәлiметтредi адрестеудi жүргiзетiн регистр. • CX (Counter) – есептегiш. Циклдарды ұйымдастыру үшiн қолданылады. • DX (Data) – қосымша мәлiметтер регистрi. Кей кезде аккумуляторға қосымша ретiнде қолданылады. Барлық жалпы қолданылатын регистрлер 16 биттi ретiнде (AX, BX, CX, DX) және сонымен қатар 8 биттi ретiнде (AH, AL, BH, BL, CH, CL, DH, DL) қарастырылады. 3. Сегменттiк регистрлер: • CS (Code Segment) – код сегментiнiң регистрi. • DS (Data Segment) – мәлiметтер сегментiнiң регистрi. • SS (Stack Segment) – стек сегментiнiң регистрi. • ES (Extra Segment) – қосымша сегментiнiң регистрi. 4. Индекстiк регистрлер: • SP (Stack Pointer) – стектегi ағымдағы позицияны көрсеткiш • BP (Base Pointer) – қосымша көрсеткiш • SI (Source Index) – ақпарат көзiнiң индексi • DI (Destination Index) – қабылдағыш индексi. • IP (Instruction Pointer) – орындалатын программаның ағымдағы позицясын көрсету Осы айтылғандардан басқа жалауша регистрлерi де бар. Ұсынылатын әдебиет: 1. Негізгі Юров В. Asstmbler. – Издательство «Питер», 2000. Финогенов. Основы языка Ассемблера. 2. Қосымша: Нортон. IBM.PC, 1991. 4-дәріс. Арифметикалық командалар Дәріс сабағының құрылымы: 1. Арифметикалық командалар. 2. Екілік арифметикалық командалар. 3. Командаларды қолдану 1. Арифметикалық командалардың негiзiлерi төмендегi кестеде көрсетiлген: 4-кесте |Мнемоника |Операнд түрi |Орындалу логикасы |Өзгеретiн | |(опN = операндN) | | |жалаушалар | |ADD оп1, оп2 |R, A |оп1 = оп1 + оп2 |O, S, Z, A, P, C | | |A, I |Қарапайым қосу | | | |R, I | | | | |R, M | | | | |M, R | | | | |M, I | | | |ADC оп1, оп2 |R, A |оп1 = оп1 + оп2 + CF |O, S, Z, A, P, C | | |A, I |Тасымалдау есебiнен қосу | | | |R, I |CF = 1, то | | | |R, M |оп1 = оп1 + оп2 + 1 | | | |M, R | | | | |M, I | | | |SUB оп1, оп2 |R, R |оп1 = оп1 - оп2 |O, S, Z, A, P, C | | |M, R |Азайту | | | |R, M | | | | |A, I | | | | |R, I | | | | |M, I | | | |SBB оп1, оп2 |R, R |оп1 = оп1 - оп2 - CF |O, S, Z, A, P, C | | |M, R |Тасымалдау есебiнен азайту | | | |R, M | | | | |A, I | | | | |R, I | | | | |M, I | | | |MUL оп1 |R8 |AX = AL * оп1, |O, C | | |R16 | | | | |M8 | | | | |M16 |DX:AX = AX * оп1, | | |DIV оп1 |R8 |AL = AX / оп1; |D, I, T | | |R16 |AH = қалдық, |жалаушалары | | |M8 | |өзгермейдi. | | |M16 |AX = DX:AX / оп1; | | | | |AX = қалдық | | |SHL оп1, оп2 |R, 1 | CF ← оп1 ← 0 |O, S, Z, P, C. | | |R, CL |Биттердi солға жылжыту | | | |M, 1 | | | | |M, CL | | | |SHR оп1, оп2 |R, 1 |0 → оп1 → CF |O, S, Z, P, C. | | |R, CL |Биттердi оңға жылжыту | | | |M, 1 | | | | |M, CL | | | 2. Екілік арифметикалық командалар 5-кесте Екiлiк арифметика командалары |A |B |A AND B |A OR B |A XOR B |NOT A | |0 |0 |0 |0 |0 |1 | |0 |1 |0 |1 |1 |1 | |1 |0 |0 |1 |1 |0 | |1 |1 |1 |1 |0 |0 | 3. JC командасын қолдану командасы: |mov AX, 2 | |shr AX, 1 | |jc L_BitIsSet | |... | |L_ BitIsSet: | |... | JNZ командасын қолдану командасы: |mov AX, 12h ; AX = 0001 0010b | |and AX, 80h | | | |jnz L_NotZero | |... | |L_NotZero: | |... | Ұсынылатын әдебиет: 1. Негізгі Юров В. Asstmbler. – Издательство «Питер», 2000. Финогенов. Основы языка Ассемблера. 2. Қосымша: Нортон. IBM.PC, 1991. 5-дәріс. Программалау негiздерi Дәріс сабағының құрылымы: 1. Программалау туралы түсінік 2. Программалау кезеңдері. 3. Ассемблер тілінде программалау 1. Ассемблер тiлiнде программаны дайындау және iске қосу кезеңдерi программаның текстiн дайындау, трансляциялау, құрастыру және отладкалау кезеңдерiнен тұрады. 2. Программаның текстiн дайындау кез-келген текстiк текстiк редакторда, мысалы Norton Commander программасының текстiк редакторында жазылады. Дегенмен, программаның текстiн дайындау кезiнде WINDOWS жүйесiнiң WordPad және Блокнот программаларын қолдануға болады. Бiрақ бұл жағдайда орыс алфавитiмен қиындықтар туады, егер орыс әрiптерiмен жазылған түсiнiктемелер берiлсе, оны ДОС жүйесiнде ашып, трансляцияласақ әрiптер орнына түсiнiксiз символдар шығады. Сондықтан MS-DOS операциялық жүйесiнiң басқарылуымен орындалатын ассемблер программаларының текстерiн сол ортада жүргiзген дұрыс. 3. Алдыңғы сабақтағы программаны қарастырайық. Осы программадан бiрқатар қажеттi моменттердi атап көрсетуге болады. Программадағы assume, segment, ends, end операторлары ешқандай машина кодтарына трансляцияланбайды және жадыдан көрiнбейдi. Олар тек трансляторға трансляциялау командаларының тәсiлдерi (assume), сегмент шекаралары (segment, end), программаны аяқтайтын текстiк жол жөнiнде қызметтiк ақпарат беру үшiн қолданылады. Программаның әрбiр трансляцияланатын сөйлемiне белгiлi-бiр араласу (смещение) сәйкес келедi., араласу тапсырмасы әрбiр сегментте жеке орындалады. Mov AX, DATA бiрiншi командасының команда сегментiнiң басынан араласуы бар, ол нөлге тең. Ол 3 байт орын алады, сондықтан келесi командада 3 байттан басталады. Транслятор Mov AX, DATA командасының кодын толығымен анықтай алмады. Осы командада АХ регистрiне DATA сегментiнiң сегменттiк адресi берiледi. Бiрақ бұл адрес программаның орындалатын файлы жадығы жүктелгенде ғана белгiлi болады. Сондықтан программа листингiнде осы адрестiң орнына s әрпiмен белгiленген ноль сандары тұр. S әрпi бұл жерде белгiсiз сегменттiк адрестiң болатындығын көрсетiп тұр. ВА 0000 коды бар команда листингтiң 8-жолында орналасқан. Осы командада DX регистрiне msg деп аталатын жол араласуы жазылады (offset қызметтiк сөзi бұл жерде араласу көрсетiлгендiгiн бiлдiредi). Msg жолы мәлiметтер сегментiнiң ең басында орналасқан және оның сегмент басындағы араласуы 0-ге тең. Бұл команда неге r әрпiмен белгiленген.(r – relocatable- переместимый). Бұрын айтылғандай, кез-келген сегмент жадыда 16-ға еселi адреспен ғана орналасады. TASM пакетiнен TD.EXE турбоотладчигiнiң жұмысын қарастырайық. Отладчикпен жұмыс iстемес бұрын жұмысшы катологта жүктемелiк (p.exe) және бастамалық (p.asm) файлдарының бар екендiгiн тексерiп алу қажет. Отладчиктi қосу үшiн келесi команданы енгiзу қажет: td p команданы енгiзгеннен кейiн экранда отладчик терезесi ашылады. Бұл процесс кезiнде экранға бiрнеше терезелердi шығару қажет болады. Олар көп болғандықтан бiр-бiрiн жауып тұрады. Олардың барлығын бiруақытта көру үшiн өлшемдерiн кiшiрейту қажет болады. Терезелер өлшемдерiн өзгерту Ctrl+F5 командасымен жүредi. [pic] Отладчиктiң бастапқы терезесi (1-сурет) программаны зерттеу үшiн аз ақпарат бередi.Ассемблер тiлiнiң деңгейiнде программаны отладкалау үшiн процессордың жалауша регистрлерiн қоса, барлық регистрлерiн, көп жпғдпйда программадан тыс мiлiметтер өрiстерiн зерттеу қажет. Неғұрлым көп ақпарат беретiн терезе – процессор терезесi, ол View-CPU менюiмен немесе Alt-V- C клавишаларымен шақырылады. [pic] Процессор терезесi программа текстiн ассемблер тiлiнде және машиналық кодтарды, процессор регистрлерiн, жалаушаларын, стектi, жадынының iшiндегiелерiн бақылауға арналған бес iшкi терезелерден тұрады. Осы терезелердiң көмегiмен программаның толық жүрiсiн бақылауға болады. 3. ЗЕРТХАНАЛЫҚ сабақтар 1-зертханалық жұмыс Жұмыстың мақсаты : Студенттердi х86 процессорларының архитектурасымен таныстыру, MS-DOS жүйесiнде жадыны ұйымдастыру туралы алғашқы мәлiметтер, сонымен қатар ассемблер тiлiмен алғашқы жұмыс iстеу тәсiлдерiн алу. Қысқаша теориялық мағлұмат Intel процессорларының архитектурасы CPU (Central Process Unit) деп аталатын микропроцессор программист үшiн 16 разрядты регистрлер құрамын көрсетедi. Регистрлер – бұл процессор микросхемасына интегралданған жадының ерекше ұяшықтары. Оларды үш қызметтiк топқа бөлуге болады: Жалпы қолданылатын: • AX (Accumulator) – аккумулятор. Аоифметикалық операциялардың көпшiлiгi соның көмегiмен жүргiзiледi. • BX (Base) – сегменттiң iшiнде мәлiметтредi адрестеудi жүргiзетiн регистр. • CX (Counter) – есептегiш. Циклдарды ұйымдастыру үшiн қолданылады. • DX (Data) – қосымша мәлiметтер регистрi. Кей кезде аккумуляторға қосымша ретiнде қолданылады. Барлық жалпы қолданылатын регистрлер 16 биттi ретiнде (AX, BX, CX, DX) және сонымен қатар 8 биттi ретiнде (AH, AL, BH, BL, CH, CL, DH, DL) қарастырылады. Сегменттiк регистрлер: • CS (Code Segment) – код сегментiнiң регистрi. • DS (Data Segment) – мәлiметтер сегментiнiң регистрi. • SS (Stack Segment) – стек сегментiнiң регистрi. • ES (Extra Segment) – қосымша сегментiнiң регистрi. Индекстiк регистрлер: • SP (Stack Pointer) – стектегi ағымдағы позицияны көрсеткiш • BP (Base Pointer) – қосымша көрсеткiш • SI (Source Index) – ақпарат көзiнiң индексi • DI (Destination Index) – қабылдағыш индексi. • IP (Instruction Pointer) – орындалатын программаның ағымдағы позицясын көрсету Осы айтылғандардан басқа жалауша регистрлерi де бар. Лабораториялық жұмыстың орындалу тәртiбi: 1. tasm.exe и tlink.exe файлдары бар каталогқа көшу қажет. Кез-келген текстiк редактордың көмегiмен (мысалы, Norton Commander текстiк редакторы) текстiк редактор құру. 2. Берiлген текстi жазу: .model tiny .code .startup ret end 3. Файлды сақтап, редактордан шығу. Келесi команданы орындау: 4. tasm/zi файл аты Программа берген хабарламаларды талдау. Каталогта .obj. кеңейтiлуi бар екендiгiне көз жеткiзу. Қателер болса түзеу. 5. Келесi команданы орындау: tlink /v файл аты 6. Norton Guides (ng.exe) жүктеп резиденттi прорамманы шақыруды үйрену (Shift+F1). 7. Программаны отладкалау. 8. td.exe программасын жүктеп программаны қадам бойынша орындап, талдау. 2-зертханалық жұмыс Жұмыстың мақсаты: Студенттердi ассембелер тiлiнде программалау кезiнде жадыны адрестеу тәсiлдерiмен, массивтермен, айнымалылармен жұмыс iстеумен таныстыру. Қысқаша теориялық мағлұмат Айнымалыларды сипаттау Турбо Ассемблерде айнымалыларды сипаттау үшiн арнайы идентифиаторлар қолданылады:Оларға: • DB (Dimension Byte) –1 байт өлшемдi айнымалыны сипаттау. • DW (Dimension Word) – 2 байт өлшемдi айнымалыны сипаттау. (машиналық сөз) • DD (Dimension Double word) – 4 байт өлшемдi айнымалыны сипаттау. (екiлiк сөз) • DQ (Dimension Quadruple word) - 8 байт өлшемдi айнымалыны сипаттау. (4 сөз) Айнымалыны сипатау синтаксисi: Айнымалы аты тип бастапқы мән Мұндағы, бастапқы мән- осы типке беруге болатын кез-келген сан. Санды жазу ондық, он алтылық, сегiздiк, екiлiк форматта, алдына есептеу жүйесiнiң әрпi қойылу арқылы жазылады: • d (Decimal) – ондық сан. Мысалы 034d саны 34 санын бiлдiредi. • h (Hex) – он алтылық сан. Мысалы: 3е5ah, 0ac44h, 0f0h. • o (Octal) – сегiздiк сан. Құрамына 0,1,2,3,4,5,6,7 осы сандар кiредi. • b (Binary) – екiлiк сан. Құрамына 0 және 1 сандары кiредi. Айнымалыны сипаттау мысалы: a db 3; айнымалы 1 байт орын алады және алғашында 3-ке тең. Бес байтты массив элементтерiн қосатын және нәтиженi Х айнымалысына, АХ регистрiне жазатын программа мысалы: |.model tiny | |.data | |Arr db 1,2,3,4,5; массивтi сипаттау | |x dw 0 | |.code | |.startup | |mov ax, 0 ; АХ нөлге теңестiру | |mov bx, offset Arr | |mov cx, 5 | |m1: | |mov al, [bx] | |add x, ax | |inc bx | |loop m1 | |mov ax, x | |ret | |end | Лабораториялық жұмыстың орындалу тәртiбi: 1. Жоғарыда көрсетiлген программасы бар текстiк файл құрып, ассемблерлеп, құрастырып, .exe файл құру қажет. Оның орындалуын td.exe программасының көмегiмен бақылау қажет. 2. Программаны оқытушыға көрсетiп, қорғауға дайындалу қажет. 3-зертханалық жұмыс Жұмыстың мақсаты: Студенттерге ассемблердiң арифметикалық операцияларының жұмыс тәртiбiн, сонымен қатар жылжу, көбейту, қосу т.б. командаларын таныстыру. Қысқаша теориялық мағлұмат Арифметикалық командалар Олардың негiзiлерi төмендегi кестеде көрсетiлген: 6-кесте |Мнемоника |Операнд түрi |Орындалу логикасы |Өзгеретiн | |(опN = операндN)| | |жалаушалар | |ADD оп1, оп2 |R, A |оп1 = оп1 + оп2 |O, S, Z, A, P,| | |A, I |Қарапайым қосу |C | | |R, I | | | | |R, M | | | | |M, R | | | | |M, I | | | |ADC оп1, оп2 |R, A |оп1 = оп1 + оп2 + CF |O, S, Z, A, P,| | |A, I |Тасымалдау есебiнен |C | | |R, I |қосу | | | |R, M |CF = 1, то | | | |M, R |оп1 = оп1 + оп2 + 1 | | | |M, I | | | |SUB оп1, оп2 |R, R |оп1 = оп1 - оп2 |O, S, Z, A, P,| | |M, R |Азайту |C | | |R, M | | | | |A, I | | | | |R, I | | | | |M, I | | | |SBB оп1, оп2 |R, R |оп1 = оп1 - оп2 - CF |O, S, Z, A, P,| | |M, R |Тасымалдау есебiнен |C | | |R, M |азайту | | | |A, I | | | | |R, I | | | | |M, I | | | |MUL оп1 |R8 |AX = AL * оп1, |O, C | | |R16 | | | | |M8 | | | | |M16 |DX:AX = AX * оп1, | | |DIV оп1 |R8 |AL = AX / оп1; |D, I, T | | |R16 |AH = қалдық, |жалаушалары | | |M8 | |өзгермейдi. | | |M16 |AX = DX:AX / оп1; | | | | |AX = қалдық | | |SHL оп1, оп2 |R, 1 | CF ← оп1 ← 0 |O, S, Z, P, C.| | |R, CL |Биттердi солға жылжыту| | | |M, 1 | | | | |M, CL | | | |SHR оп1, оп2 |R, 1 |0 → оп1 → CF |O, S, Z, P, C.| | |R, CL |Биттердi оңға жылжыту | | | |M, 1 | | | | |M, CL | | | 7-кесте Екiлiк арифметика командалары |A |B |A AND B |A OR B |A XOR B |NOT A | |0 |0 |0 |0 |0 |1 | |0 |1 |0 |1 |1 |1 | |1 |0 |0 |1 |1 |0 | |1 |1 |1 |1 |0 |0 | JC командасын қолдану командасы: |mov AX, 2 | |shr AX, 1 | |jc L_BitIsSet | |... | |L_ BitIsSet: | |... | JNZ командасын қолдану командасы: |mov AX, 12h ; AX = 0001 0010b | |and AX, 80h | | | |jnz L_NotZero | |... | |L_NotZero: | |... | Лабораториялық жұмыстың орындалу тәртiбi: 1. Жоғарыда көрсетiлген программасы бар текстiк файл құрып, ассемблерлеп, құрастырып, .exe файл құру қажет. Оның орындалуын td.exe программасының көмегiмен бақылау қажет. 2. Программаны оқытушыға көрсетiп, қорғауға дайындалу қажет. 4-зертханалық жұмыс Жұмыстың мақсаты: Студенттердi қолданушы процедурасымен және үзiлулермен таныстыру. Қысқаша теориялық мағлұмат Процедура ұғымы Процедура – программист құрған белгiлi-бiр нақты есептi шешуге арналған подпрограмма. Процедура негiзгi программадан келесi команда арқылы шақырылады: call имя_процедуры Процедураны сипаттау Процедура proc және endp компилятор директивасымен шақырылады процедура аты proc ... процедура денесi ... ret процедура аты endp Үзiлу ұғымы Үзiлу – бұл программаның қалыпты жұмысына қандай-да бiр сыртқы факорлардың әсер етуi. Үзiлу клавиатура клавишасын, тышқанды, т.б. басу әсерiнен туындайды. Лабораториялық жұмыстың орындалу тәртiбi: 1. Жоғарыда көрсетiлген программасы бар текстiк файл құрып, ассемблерлеп, құрастырып, .exe файл құру қажет. Оның орындалуын td.exe программасының көмегiмен бақылау қажет. 2. Программаны оқытушыға көрсетiп, қорғауға дайындалу қажет. 5-зертханалық жұмыс Жұмыстың мақсаты: Ассемблер тілінде программалау тәсілдерін, программаны отладкалау тәсілдерін, программа құру технологияларын үйрену. Қарапайым операциялармен, яғни жіберу, арифметикалық, разрядтық операциялармен танысу. Қысқаша теориялық мағлұмат Программалау жүйелері ассемблерлік программаларды СИ-программаларының операторларын қолоданып, сонымен қатар автономды модульдер түрінде күйге келтіре алады. Бұл _asm директивасының көмегімен екі вариантта жүреді: вариант 1: _asm mov ax, bx _asm add ax, 33h _asm and ax,l вариант 2: _asm { mov ax, bx add ax, 33h and ax, 1 } Бірақ мұнда берілген компьютер үшін және жады моделі үшін таңдалған регистрларды қолдану шарттары сақталуы тиіс. Ассемблер подпрограммалары көбінесе автономды программалық модуль түрінде жазылады. Бұл жағдайда олар файлда .asm кеңейтілуімен орнатылады да, жеке компилляциялана алады. Программалауды қысқарту үшін псевдопкомандалар құрамы қолданылады. Ассемблердегі автономды программа мысалы: TITLE HELLO CR EQU 13 ;тұрақтыларды анықтау LF EQU 10 .MODEL TINY ; .СОМ – файлды генерациялау .STACK lOOh ;стек 256 байт .DATA ;берілгендер сегментінің басы msg DB "Hello, world.", CR, LF, "$" ; шығаруға арналған текст .CODE ;кодтық сегменттің басы .STARTUP ;берілгендер сегментін инициализациялау және SS=DS ;беру mov ah, 9h ;DOS-қа қатысу, функция 9 mov dx, OFFSET msg int 21.h ;жолды шығару .EXIT О end ;программаның соңы Осы программаны компилляциялау кезінде QC жұмыс режимін дұрыс орнату қажет: Options – Make - Compiler flags - Memory model - Small Options – Make - Linker flags - Generate COM-file Осы программаның СИ- функциясы түрінде көрсетілуі TITLE HELLO CR EQU 13 ;тұрақтыларды анықтау LF ECU 10 .MODEL SMALL,С .DATA ;Берілгендер сегментінің басы msg DB "Hello, world.", CR, LF, "$" ; кодтық сегменттің басын .CODE ;шығару тексті hello PROC NEAR, С ;процедураның басы mov ah, 9h ;DOS-қа қатысу, функция 9 mov dx, OFFSET msg ;DS араласуды жүктеу жолы int 21h ;жолды шығару ret ;процедурадан қайту hello ENDP Компиляциялау алдында СОМ-файлдың генерациялау режимін ажыратып алу қажет, өйткені ол бұл мүмкіндікті көтере алмайды. Осы фрагменттің ассемблерлік қойылуы: char msg[] = "Hello, world.\r\n$ "; _asm { mov ah, 9h ;DOS қатынасу, функция 9 mov dx, OFFSET msg ;жолдың DS араласуын шығару int 21h ;жолды шығару } Мұндай ассемблерлік қойылуларды қолдану кезінде оларды стекте сақтап, содан соң қолданылатын регистрлерді қайта қалпына келтіру қажет. Лабораториялық жұмыстың орындалуына нұсқау Жұмыстың орындалуы кезінде AX, BX, CX, DX регистрлерін және адрестеудің регистрлік, үзіліссіз тәсілдерін қолдану қажет. Константаларды беру үшін EQU директивасын қолданыңыз. Программаны қадамдық отладкалау кезінде регистрлердің мазмұнын View - Windows - Register командалар тізбегімен ашылатын Registers терезесінің көмегімен бақылауға болады: Ассемблерлік программаларды СИ подпрограммаларымен байланыстыру үшін EXTRN және GLOBAL директивалары қолданылады. Лабораториялық жұмыстың орындалу тәртiбi: 1. Тапсырма варианттарына сәйкес байттармен, сөздермен арифметикалық, логикалық операциялар орындайтын ассемблер тіліндегі автономды прогграмманы жазу қажет. Алғашқы берілгендерді EQU директивасының көмегімен беру қажет. Жұмыс нәтижелерін жады ұяшығына орналастыру қажет. Қадамдық режимде программаның жұмыс режимінің дұрыстығын тексеру қажет. Лабораториялық жұмыс тапсырмалары: Алғашқы берілгендер: А = 2438Н – екілік-ондық сан В = 1329Н - екілік-ондық сан С = -157 -таңбалы екілік сан D = 100 - таңбасыз екілік байт Вариант 1. 1. А сөзіндегі 1-і және 3-і тетрадалардың орнын ауыстыру қажет 2. А мен В-ны екілік – ондық түрде қосу қажет. 3. В сөзіндегі 2-і және 4-і тетрадаларды белгілеп (выделить) және 2 екілік сан ретінде қосу қажет. 4. А-ны D-ға көбейтіп, үлкен сөзде екі кіші разрядты белгілеп, 2- бөлімдегі «НЕМЕСЕ» нәтижесімен біріктіру қажет. Вариант 2. 1. А сөзіндегі 2-і және 4-і тетрадалар орнын ауыстыру қажет 2. Екілік түрде А және В-ның кіші байттарын қосу қажет. 3. В сөзіндегі 1-і және 3-і тетрадаларды белгілеп (выделить), оларды екілік-ондық сандар ретінде қосу қажет 4. В-ны D-ға көбейтіп, кіші сөзде 1-5 разрядтарды белгілеп, оларды 3- бөлімдегі «ЖӘНЕ» нәтижелерімен біріктіру қажет. Вариант 3. 1. А сөзіндегі кіші және үлкен байттардың 0-2 разрядтарының орнын ауыстыру қажет. 2. С мен D-ны екілік түрде қосу қажет. 3. А-ның үлкен байтын және В-ның кіші байтын белгілеп, оларды екілік- ондық сандар түрінде қосу қажет. 4. А-ны D-ға бөліп, қалдығын 3-бөлімдегі «Немесе» нәтижесіне біріктіру қажет. 6-зертханалық жұмыс Жұмыстың мақсаты: Ассемблер программалау тiлiндегi берiлген текстердi компьютерге ыңғайлы түрге, яғни машина тiлiне ауыстыру тәсiлдерiн, жадыны ұйымдастыруды, программа құрылымдарын, ондағы есептiң қойылу тәсiлдерiн, портқа енгiзу және шығару тәсiлдерiн және дыбысты генерациялаушы жабдықтарды, оның тәсiлдерiн үйрену. Қысқаша теориялық мағлұмат Әрбiр енгiзу және шығару құрылғысы және жүйелiк құрылғылар бiр немесе регистрлардан тұрады. Бұл регистрлардың разрядтығы 8-, 16-, 32- бит. Ең төменгi деңгейдегi құрылғылар жүйесiнiң барлық жұмысы енгiзу-шығару порттарын қолданумен жүредi. Төменде компьютер жабдықтарын басқару сұлбасы көрсетiлген. Сұлбадан көрiп отырғанымыздай ең төменгi деңгей BIOS деңгейi, мұнда құрылғымен жұмыс тiкелей порт арқылы жүредi. Негiзiнен құрылғыларды тiкелей порт арқылы басқару күрделi емес. Порттар номерi, разрядтары, ақпаратты басқару форматтары құрылғының техникалық сипаттамасында берiледi. Бiзге соңғы әрекеттер мақсатын, алгоритмiн, порттардың программалық қатарын бiлсек жеткiлiктi. Дыбысты генерациялау бойынша негiзгi жұмыс таймер микросхемасымен атқарылады (2-сурет). Таймер микросхемасы iшкi құрылымдары және жұмыс әрекетi бiрдей үш каналдан тұрады. Таймер каналдарына импульстер генераторы сияқты және 1,19 мГц жиiлiкпен жұмыс iстейтiн жүйелiк сағат микросхемасынан импульс берiледi. Әрбiр канал екi кiрiс, бiр шығыстан тұрады. Мұндағы 1- канал жадыға тiкелей шығу микросхемасымен байланысты. Ал 2-канал компьютер динамигiне шығады. Таймер каналдары құрылымын үш регистр құрайды: разоядтығы 8 бит енгiзу шығару регистрi және разрядтықтары 16 бит бекiту және санау регистрлерi. Басқару регистрi таймер микросхемасын басқару механизмiнiң бөлiгi болып табылады. Басқару регистрi канал таңдауды, канал жұмысының режимiн берудi жүргiзетiн жағдай сөзiнен тұрады. Кез-келген жұмысты генерациялау үшiн оның ұзақтығы мен биiктiгiн беру қажет. Одан соң енгiзу-шығару регистрiндегi мән бекiткiш регистрге түскеннен кейiн, ол лезде санағыш регистрге жазылады. Таймердiң кез-келген үш каналының шығысында логикалық көбейту кестесi бар. Таймердiң дыбыстық каналын программалауға қажеттi үш тiзбектi әрекет: 1. 43h порты арқылы жұмыс режимiн және каналға мән беру операциясының типiн анықтау. Бiздiң жағдайда сәйкес мән 10110110=0b6h; 2. Динамикке тоқ беру; 3. ax регистрiн қолданып, қажеттi мәндi 42h портына беру. Осы лабораториялық жұмыста компьютердiң аппаратура деңгейiнде дыбыс шығару программасы қарастырылады. Ол үшiн компьютердiң iшiндегi iшкi динамик қолданылады. Динамиктi басқаруға арналған дабыл төмендегi микропроцессорлардың бiрлескен жұмысының нәтижесiнде жүредi: • программаланатын периферийлiк интерфейс i8255; • таймер i8253; --Prg_7_1.asm-------- ;Сирена дыбысын келтіретін программа. ;450-ден 2100 Гц-ке дейін дыбыс биіктігінің өзгеруі. ;delay (кешігу) макросы қолданылады. ;Қажет болған жағдайда ;кешігу мәнін ауыстыруға болады (Pentium процессорына) . ;------------------------- masm model small stack 100h delay macro time ;кешігу макросы, оның тексті macro және endm директиваларымен шектеледі. ;Кірісінде кешігу мәні (мкс-қа) local ext,iter push cx mov cx,time ext: push cx mov cx, 5000 iter: loop iter pop cx loop ext pop cx endm .data ;берілгендер сегменті tonelow dw 2651 ; 450 Гц астыңғы дыбысының шегі cnt db 0 ;программадан шығуға арналған счетчик temp dw ? ;дыбыстың жоғарғы шегі .code ;код сегменті main: ;программаға кіру нүктесі mov ax,@data ;ds регистрін сегментпен жалғаймыз mov ds,ax ;берілгендерді ах регистрі арқылы mov ax,0 ;ах регистрін тазалаймыз go: ; 10110110b(0B6h) сөзін командалық регистрге (43һ порты) енгіземіз mov al,0B6h out 43h,al in al,61h ;61h портының мәнін al-да аламыз or al,3 ;динамикті инициализациалап, 61һ портына ток береміз out 61h,al mov cx,2083 ;дыбыстың сатылы түрде өзгеру қадамының саны musicup: ;ax-тегі жиілік шегінің төменгі мәні mov ax,tonelow out 42h,al ;42һ портына ax:al кіші сөзін xchg al,ah ;al және ah арасын ауыстыру out 42h,al ;42h портына ax:ah үлкен сөзін add tonelow,1 ; дыбысты жоғарлатамыз delay 1 ;1мкс-ке кешігу mov dx,tonelow ;dx ағымының жоғары мәні mov temp,dx ;temp-дыбыстың жоғарғы мәні loop musicup ;жоғарлату циклын қайталау mov cx,2083 ;цикл счетчигін қалпына келтіру musicdown: mov ax,temp ;ах-ке дыбыстың жоғарғы мәні out 42h,al ;42h портына ax:al кіші сөзін mov al,ah ;al және ah арасын ауыстыру out 42h,al ; 42h портына ах:аһ үлкен сөзін sub temp,1 ;дыбысты төмендетеміз delay 1 ;1 мкс-ке кешігу loop musicdown ;төмендету циклын қайталау nosound: in al,61h ;61h портының мәнін al-да аламыз and al,0FCh ;динамикті өшіру out 61h,al ;61h портына mov dx,2651 ;келесі циклдар үшін mov tonelow,dx inc cnt ;сиреналық дыбыстың санын жоғарылатамыз cmp cnt,5 ;5 рет ? jne go ;егер жоқ болса,go белгісіне бару exit: mov ax,4c00h ;стандарттық шығыс int 21h end main ;программа соңы Лабораториялық жұмыстың орындалу тәртiбi: 1. Әдістемелік нұсқауда көрсетілген негізгі тапсырмалармен және бөлімдермен танысыңыздар. 2. Әдістемелік нұсқаудың соңында берілген ассемблер тіліндегі программаны текстік редакторға теріп жазыңыздар. Ескерту: Ассемблер тілінің программаларын кез-келген текстік редакторға жазуға болады. Ал Norton Commandor программалық қабықшысының текстік редакторын шақыру үшін Shift+F4 клавишалары қолданылады. 3. Текстік редакторға программа текстін енгізгеннен кейін, оны сақтап іске қосу қажет. 4. Программаны жүктеудің негізгі командалық жолдарын енгізіп болған соң нәтижесінде компьютер динамигі арқылы дыбыс пайда болады. Осы дыбыстың биіктігі мен ұзақтық мәндерін ауыстыра отырып, оны жоғарылатып және төмендетіңіздер. 5. Программаның жұмыс істеу принципін меңгеріп, әрбір командаларға түсініктеме беріңіздер. 6. Жұмыстың соңында лабораториялық жұмыс бойынша есеп құрастырыңыздар. Бақылау сұрақтары: 1. Ассемблердегі программаны жүктеудің негізгі тәсілдері қандай? 2. Портқа енгізу/шығару дегеніміз не? 3. Дыбысты генерациялауға арналған компьютердің қандай ішкі құрылғыларын білесіз? Олардың атқаратын қызметі және құрлысы. 4. Әдістемелік нұсқаудағы программада дыбысты генерациялауға арналған қанадай негізгі командаларды білесіз? 5. Ассемблер программалау тілінің Турбо Паскаль, Турбо С тілдерінен айырмашылықтары қандай? 4. студенттің өздік жұмысы 4.1 Өздік жұмысты ұйымдастыру бойынша әдістемелік нұсқаулар. Студенттің өздік жұмысы (СӨЖ) реферат түрінде орындалады және студенттердің өздік жұмысын қойлатын талаптарға сәйкес тапсырылады. Өздік жұмысты бақылау келесі формада өтуі мүмкін: – жасалған жұмысты көрсету; – өздік меңгерген тақырып бойынша баяндама; – аудиториялық сабақтарды немесе ОБСӨЖ-де ауызша сұрау; – жазбаша орындалған тапсырмаларды қорғау. Өздік жұмысының нәтижелерін тапсырмаған студент қорытынды аттестацияға жіберілмейді. Өз бетімен меңгерген материал оқытушумен бірге меңгерілген материалмен қоса қорытынды бақылауға шығарылады. 4.2 Рефераттар тақырыбы 4.2.1 Intel микропроцессорының архитектурасы 4.2.2 Мәліметтер типі және массивтер 4.2.3 Ассемблер тілінде програмалауда жадынның адрестелуі Ассемблердің арифметикалық операцияларымен, биттерді ығыстыру, көбейту және айналдыру командаларымен жұмыс істеу принципі; Қолданушы процедураларымен және үзілістермен жұмыс жасау принциптері; Үзілістердің жеке өңдеушілерін қолдану. MS-DOS функциялары мен ассемблердің командаларының сипаттамалары. Резиденттік программалар. Айнымалыларды және массивтерді құру. Есептегіші бар қарапайым циклды ұйымдастыру. Порттармен және видеожадымен жұмыс жасау. Математикалық сопроцессормен жұмыс жасау. ----------------------- Қолданушы программасы Операциялық жүйе қызметтерi BIOS қызметтерi Енгiзу-шығару порттарының кеңiстiктерi Компьютер аппаратуралары
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz