Таймерді орнату және оқу

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 2
1 Таймерді орнату және оқу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4
2 Таймер микросхемасын программалау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
3 Таймердің жұмыс принципі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 8
4 Дыбысты шығару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 14
5 Таймерді программалау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 20
6 Нақты уақыт сағатының көрсетулерін оқу және өңдеу ... ... ... ... ... ... ... ... ... ... ... . 22
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 26
Қосымша ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 27
Қолданылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 35
Қазіргі таңда бар барлық программалау тілдерін шартты түрде екі категорияға бөлуге болады, оның біреуі ассемблер тілі де, екіншісіне қалғандары жатады.
Жоғарғы деңгейлі тілдер қолданбалы тапсырмаларды (материалдық, экономикалық және т.б.) шешуге ориентир алатын болса және осы тапсырмалардың алгоритмдік мазмұнын өзінде сақтаса, ассемблер тілі архитектуралық процестің сонымен қатар, программалық құрылғылардың режимдерінің және функционалдау алгоритмдердің айнасы болып табылады. Ассемблер тілінің операторы микропроцессордың тек қана машиналық түрде көрсетілген кодтар ғана емес, азды-көпті мнемоникалық белгілермен көрсетілген нақты командаларын көрсетеді. Ассемблер тілінің бұл ерекшелігі оның мүмкіндіктері мен қолдану аймағын анықтайды.
Бәрімізге белгілі ассемблер тілінде жазылған программалар (әрине егер олар дұрыс жазылса) жоғары тиімділігімен соған сәйкес минималды көлемімен және максималды жылдам әрекет етуімен ерекшеленеді. Бұл ассемблер тілі программа жұмысының жылдамдығы немесе оған шығындалатын жады шешуші мән алған жағдайда кеңінен қолдануға мүмкіндік береді. Кейбәр программалар класын (мысалы, қатты құрылыммен ерекшеленетін құрылғылар драйверлерінің программасы) құру кезінде ассемблер тілін міндетті түрде программалау керек. Сонымен қатар ассемблер тілін компьютпрлік ғылыми өлшемдермен немесе технологиялық процесті басқарылатын жүйесімен қосылған стандартты емес аппаратураларды басқаратын программаларды жазуға ыңғайлы. Сонымен бірге математикалық немесе логарифдік сипаттағы модельдеуден, сандық немесе символдық ақпараттарды өңдеуге, мәлімет базасына қызмет көрсететін программаларды жетілдіру үшін жоғарғы деңгейдегі тілдер қажет.
Ассемблер тілі алғашқы тексті жоқ программаларды зерттейтін негізгі құрал болып табылады. Орындалатын программалардың шартты белгілерін ашу деассемблер – қызметтік программалар көмегімен жүзеге асады. Ол орындалатын программалық текстік кодты ассемблер түріне түрлендіреді. Әрине мұндай текстпен жұмыс істеу үшін пайдаланып отырған программалау тілін жетік меңгеру керек.
Ассемблер тілін меңгеру ПК-де (дербес компьютерде) программа жазатын барлық маманға міндетті.
1 Юров В. «Assembler» – СПб: Издательство «Питер», 2000. – 624 бет: ил.
2 Нортон П. «Персональный компьютер фирмы IBM и операционная система MS-DOS»: ағл. аудар. – М.: Радио и связь, 1991. – 416 бет: ил.
3 Пустоваров В.И. «Язык Ассемблера в программировании информационных и управляющих систем» – М.: «ЭНТРОП», К, «ВЕК», 1997. – 304 бет: ил.
4 Финогенов К.Г. «Основы языка Ассемблера» - М.: Радио и связь, 2000. – 288 бет: ил.
5 Алдажаров Қ.С., Бекбаев А., Бөрібаев Б., т.б. «Қазақша-оысша, орысша-қазақша терминологиялық сөздік. Информатика және есептеуіш техника» - Алматы: Рауан, 1999. – 297 бет.
6 Алдашев С.А., Ахметов Н.Р. «Информатика мен есептеуіш техника терминдерінің орысша-қазақша сөздігі»:жоғары және орта оқу орындарына арналған, – Алматы: Рауан, 1993. – 176 бет.
        
        Мазмұны
|Кіріспе......................................................................|2 |
|.......................................................... | |
|1 ... ... және |4 ... ... | |
|2 ... ... |5 ... |
|...... | |
|3 ... ... |8 ... ... | |
|4 ... |14 ... |
|................................... | |
|5 ... |20 ... ... | |
|6 ... уақыт сағатының көрсетулерін оқу және |22 ... | ... ... | ... ... | ... |35 ... |
|............................ | ... ... бар ... программалау тілдерін шартты түрде екі
категорияға бөлуге ... оның ... ... тілі де, ... жатады.
Жоғарғы деңгейлі тілдер қолданбалы тапсырмаларды (материалдық,
экономикалық және т.б.) ... ... ... ... және ... ... мазмұнын өзінде сақтаса, ассемблер тілі
архитектуралық процестің сонымен ... ... ... және ... ... ... болып табылады.
Ассемблер тілінің операторы микропроцессордың тек қана машиналық түрде
көрсетілген ... ғана ... ... ... ... ... командаларын көрсетеді. Ассемблер тілінің бұл ерекшелігі
оның мүмкіндіктері мен қолдану аймағын ... ... ... ... ... программалар (әрине егер
олар дұрыс жазылса) жоғары тиімділігімен соған сәйкес ... ... ... ... ... ... ерекшеленеді. Бұл ассемблер тілі
программа жұмысының жылдамдығы немесе оған шығындалатын жады ... ... ... ... ... ... береді. Кейбәр программалар
класын (мысалы, қатты құрылыммен ерекшеленетін ... ... құру ... ... ... ... түрде программалау
керек. Сонымен қатар ассемблер тілін компьютпрлік ғылыми өлшемдермен немесе
технологиялық процесті басқарылатын жүйесімен ... ... ... басқаратын программаларды жазуға ыңғайлы. Сонымен ... ... ... сипаттағы модельдеуден, сандық немесе
символдық ақпараттарды өңдеуге, мәлімет ... ... ... ... үшін ... деңгейдегі тілдер қажет.
Ассемблер тілі алғашқы тексті жоқ программаларды зерттейтін негізгі
құрал болып табылады. ... ... ... ... ашу
деассемблер – қызметтік программалар көмегімен жүзеге асады. Ол орындалатын
программалық текстік кодты ассемблер түріне ... ... ... жұмыс істеу үшін пайдаланып ... ... ... ... ... ... ... ПК-де (дербес компьютерде) программа жазатын
барлық маманға міндетті.
Ассемблер тілінің басқа да программалау тілдері ... ... ... бар. Ол кез ... бір ... программалау процесін
жеңілдетеді әрі жеделдетеді және құрылған ... ... ... тілінде кәсіптік жұмыс істеу аталған құралдармен жеке-жеке
танысуды қажет етеді. ... ... ... кең ... ... ... ... негізгі программалау тілі ретінде пайдаланбаса ассемблер
тілінің әрбір бөлшектерін жеке ... ... ... ... ... программаларды (алгоритмдік жоспарда онша қиын емес) құруда ең
бастысы құрылған программаларды оқып әрі түсіне білу ... ... ... және ... ... ... көрсететін болуы жеткілікті және
тілдің бір жағынан процессор және компьютердің толық архитектурасы ... және ашық ... болу ... ... IBM PC ... ... компьютерлердің операциондық
жүйесін программалау екі класқа ... MS-DOS бір ... ... және көп ... Windows ... ... MS-DOS операциондық
жүйесі нақты режимдегі жүйе болып табылад; басқа сөзбен айтқанда ол 8086
процессорлы ... ... ... егер ол Pentium ... ... да. Windows ...... режиміндегі жүйе;
Қазіргі заман процессорларының мүмкіндіктерін кеңінен пайдаланады. Жекелей
алғанда, көп тапсырмалылық және кеңейтілген адрестік кеңістік.
1 ... ... және ... IBM PC ... ... ... ... болу үшін 8253
(немесе 8254) таймері микросхемасын қолданады. Жүйелік сағаттардың ... 1 ... ... ал осы импульстердің жүйелілігі уақытты
анықтауға ... ... ... жиілікті дыбысты генерациялауға
компьютердің лауыс зорайтқышына ... 8253 ... 3 ... каналдан тұрады, олардың әрқайсысы программалана алады.
8253 микросхемасы процессордан тәуелсіз жұмыс ... ... ... ... басқа жұмыстарға кіріседі. Осылайша
8253 микросхемасы нақты уақыт сағаты ... ... ... – ол өзінің
импульстерін компьютерде өтіп ... ... ... ... максимал программаланатын интервал 1/12 секундты құрайды. ... ... және ... ... ... үшін ... ... қажет.
Осыған орай таймер микросхемасының нөлдік каналынан шығатын импульстер BIOS
мәліметтер облысындағы айнымалыға ... Бұл ... ... ... ... Секундына 18,2 рет 0 каналының шығысы аппараттық үзілумен
(таймер үзілуі) өңделеді. Ол біраз ... ... ... ... ... есептеуішін ұлғайтады. 0 саны 12:00 мезгіліне сәйкес келеді,
есептеуіш 24 сағатына эквивалент ... ... ... ... есептеуіш уақытқа байланысты көптеген операцияларда қолданылады.
2 Таймер микросхемасын программалау
8253 (АТ үшін 8254) таймер микросхемасының 3 каналының ... ... ... 3 ... ... ... топқа рұқсат немесе өту бір
порт арқылы жүзеге асады: порттар номері 40h-тан 42h-қа ... ... ... ... Порт осы ... үшін ... ... және
қабылдайтын 8-биттік енгізу/шығару регистрімен байланысқан. ... ... осы порт ... 2 байтты мән жіберіледі, бірінші кіші
байт беріледі. Бұл сан 16-биттік ... ... ол осы ... және оның ... ... есептеуіш регистрге орналастырады.
Есептеуіш регистрде сан канал арқылы жүйелік сағаттардан импульс ... 1 ... ... ... Осы ... мәні ... жеткенде канал
шығыстық сигнал береді және ысырма регистр құрамының жаңа ... ... ... ... кейін процесс қайталанады. Есептеуіш
регистрде сан аз болған сайын ритм жылдам болады. Барлық 3 ... да ... ... ... ... және ... Есептеуіш регистрдің
кез келгенінің ағымдағы мәні кез келген уақыт моментінде оқыла алады.
Әрбір ... екі ... және бір ... ... ... ... есептеу нәтижесінде туындаған импульстерді шығарады. Бұл
сигналдардың мақсаттары IBM PC ... ... ... ... ... ... ... сағаттарымен қолданылады. Бұл канал
импульстерді секундына 18,2 рет шығарып отырады. Осы ... ... ... ... ... байт ... сақталады) адресімен
сақталады. Әрбір импульс ... ... ... және осы ... ... жоғарылатады. Бұл – аппараттық үзілу, сондықтан ол әрқашан
процессордан тәуелсіз өңделеді, егер аппараттық үзілулер рұқсат ... ... ... жаңартуды басқарады, сондықтан оған тиіспеген дұрыс.
Осы ... ... ... жадыға жедел рұқсат ... және оның ... DMA ... ... жадыны жаңартуға
мәжбүрлейді.
2 каналы компьютердің дауыс зорайтқышымен ... және ... үшін ... тік бұрышты импульстер өндіреді. Программистер
басқа каналдарға қарағанда осы каналды ... ... ... ... ... да ... операциялармен бірге генерациялана береді,
ал күрделі ... ... ... ... іске ... 2 каналы
дауыс зорайтқыштан жоғарылатылуы және синхпрондау үшін қолданылуы ... ... ... ... ... динамигімен байланысқан. Алайда
динамик 8255 перифериялы интерфейс микросхемасының ... ... ... ... өзі ... ... каналдың 2 шығыстық линиясы қақпа (gate) деп ... ... ... ... ... ... беретін сағаттар линиясынан
тұрады. Қақпа сағаттардан сигналды қосып және ажыратады. Қақпалар 0 және ... ... ... ... үшін ылғи да ... ... олар 2 каналы
үшін жабық болуы мүмкін, мұның өзі дыбыспен бірқатар арнайы манипуляция
жасауға мүмкіндік береді. ... 8255 ... ... ... ... 61h ... кіші бит ... жабылады. Бұл битті алып тастау
қақпаны қайта ... ... ... ... 61h ... 1 ... ... және дыбысты генерациялауда қолданыла алады.
Таймер микросхемасы тікелей уақыттық операцияларға ... ... ... ... ... Сағаттардан енгізу секундына 1,19318 миллион
рет жасалады. 16 битте сақталатын максимал сан 65535 ... және осы ... тең ... ... ... ... онда импульстер
арасындағы мүмкін болатын интервал 1/12 секундқа жуық. Сондықтан көптеген
уақыттық операциялар BIOS тәулік ... ... ... микросхемасы әр канал үшін 6 ... ... ... ... үшінші режиммен шектеледі, синхрондау кезінде 0
каналы үшін сияқты 2 каналына да синхрондау және дыбысты ... ... Бұл ... ... регистр санды қабылдаған сәтте-ақ оның
көшірмесін ... ... ... ... мән ... ... регистр лезде есептеуішті қайта жүктейді және т.с.с. Санаудың
жартысында шығыстық линия ... ал ... ... - ... ... ... ... бірге есептеуге де жарамды тік
бұрышты толқындар пайда болады.
8-биттік командалық регистр сандарды ... ... ... Бұл ... үшін порт ... - 43h. ... регистрге қандай
каналды программалау керек, қай режимде ... ... ... ... ысырма регистрдің бір немесе екі байты міндетті түрде берілуі керек.
Ол сонымен бірге сан екілік және BCD ... ... ... яормада
болатынын көрсетеді.Бұл регистрдің бит мәні:
бит 0 егер 0, ... ... әлде ... ... ... 1-5 ... ... типі:
00=есептеуіш мәнін ысырмаға беру
01=тек үлкен байтты оқу/жазу
10=тек кіші ... ... ... ... кіші байтты оқу/жазу
7-6 программаланатын канал номері, 0-2 ... ... ... ... негізінен, тәуелсіз 2 таймер болады. Оның біреуі
(“нақты уақыт ... ... өте аз ... ... ... ол ... ... орналасқан батарейка немесе аккумулятордан
қоректенеді және желіден ағытылған ... да ... ... ... ... сақталады және автоматикалық түрде ағымдағы күнтізбелік уақыт
(жыл, ай, күн, ... ... ... ... ... ... ... жұмысқа басқа таймер кіріседі, ол таймер
жүйелік деп аталады. Ол үшін уақыт сигналы датчигі ... ... ... ... кварцтық генератор істейді. Одан шыққан сигнал
қайта есептеуден кейін 65536:1 ... ... ... ... ... ... 8 арқылы 18,2065Гц жиілікпен жүзеге асырады. Бұл ... ... ... ... ... кейін BIOS
программалары нақты уақыт сағаттарынан тәуліктің ағымдағы уақытын алып, оны
жүйелік таймердің такт санына ... ... саны ... ... уақыт ұяшығына жазады. Келесі кезекте осы ұяшық құрамы үзілу
режимінде жұмыс істейтін ... ... ... ... ... уақытты анықтау үшін қолданбалы программа 21һ DOS сәйкес
үзілу функцияларын шақыра алады (дата алу үшін – 2Аһ, ... ... ... – 2Сһ), тіпті уақытты тікелей нақты уақыт сағаттарынан 1Аһ BIOS үзілуі
көмегі арқылы оқи алады. Бұл ... 1Аһ ... ... уақытты оқу (02һ
функциясы) және ағымдағы датаны (04һ функциясы) оқудан басқа ... ... ... оның ең ...... орнату, яғни
сағаттар микросхемасына сағаттар ... ... ... ... ... ... Бұл ... 70һ векторы арқылы BIOS құрамына
кіретін будильниктің орнатылуына жету ... ... туды ма, ... ... ... ... асырады және сонымен бірге
микросхемалық батарейканың қоректендіруін ... ... ... ... де үзілу соңы командасын ... және ... ... ... орын далу ... 70һ ... ... командасын орындайды. Бұл команда осы үзілудің өңдеушісіне басқаруды
ъ\береді және ол да BIOS ... ... 4Аһ ... ... ... еш нәрсе істемейді. Бірақ программасы 4Аһ векторына будильниктен
үзілумен активтелетін үзілудің ... ... ... ... бар. Қолданбалы өңдеушінің функцияларын программист ... ... ... ... 4аһ ... қолданбалы
өңдеушісі орнатылады. Бұл қолданьалы өңдеушінің өз-өзінен шақырылмау себебі
– үнсіздік бойынша нақты ... ... ... ... ... Егер
жүйелік уақытты 1аһ үзілуінің 02һ функциясымен оқысақ және оған бір шаманы,
мысалы, 1секундты қоссақ, ... осы ... ... орнатсақ (1аһ
үзілуінің 06һ функциясы көмегімен), онда 1 секундтан ... ... ... ... бұл ... ... жасалған: будильниктің үзілу
өңдеушісінде уақытты оқу, оған 1 ... қосу және ... жаңа ... ... ... ... ... әр секунд сайын программа
біткенше шақырылып отырады.
Будильникті келесі секундқа ... ... ... ... ... пайдалы жұмыс та істейді: ол ағымдағы уақытты ... ... ... шығарады. Өңдеуші әр секунд сайын активтелетін ... ... мәні әр ... сайын жаңартылып отырады.
Нақты уақыт сағаттарында ... мәні ... ... ... болады. BCD сандарымен арифметикалық операциялар орындау ... ... ... – 1 ... ... осы үшін ... процессор
командасын қолдану керек. Мысалда осы командалардың бірі – daa қолданылған.
Уақыт мәнін экранға шығару үшін оны ASCII ... ... ... ... ... сандарды символдар жолдарына
түрлендіру ... да ... ... ... ... командалар қолданылған:стекте сақтау және жалпы
мақсаттағы барлық регистрлерді қалпына келтіру ... (pusha ... ... ... shl ілгері жүріс командасы сандық ... ... ... ... үшін .586 ... ... ... да қолдануға болады). Бұл жағдайда 2 сегменттіде USE16
сипаттаушысымен ... ... main ... ... new_4a ... ... ... сонымен қатар 3 көмекші – add_time, add_unit және
conv процедура-подпрограммалардан тұрады. Негізгі ... 4аһ ... ... ... осы ... жаңа ... орнатады, ағымдағы
уақытты оқиды және ағымдағы уақыттан 1 секунд арттағы ... ... ... кез келген клавишаның басылуын күтумен тоқтайды. ... ... ... ... өңделеді және экранның оң жақ бұрышында
әр секунд сайын ағымдағы ... ... ... Кез ... ... ... ... ағытып, 4аһ векторының бастапқы құрамын
қалпына келтірумен ... ... ... ... ... ... аз , өйткені
уақытты көрсеткеннен өзге пайдалы жұмыс атқармайды. Программа аяқталмай
тұрған кезде басқа ... ... ... ... себебі DOS бір әрекетті
жүйе болып табылады. Егер бұл программаны .COM ... ... және ... ... онда біз өзге ... жүктеп және бірмезгілде
экраннан ағымдағы уақытты да көре аламыз. Ал DOS- та ... ... ... ... үзілу өңдеушісі программасын қарастырайық.
Программада pusha (push all – барлығын ... ... ... ... ... ... сонымен бірге өңдеушіде қолданылған ds
және es 2 сегменттік регистрлер де сақталады. Келесіде ds регистрі ... ... ... ... ... ... Бұл әрекет, бір
қарағанда, мәні жоқ сияқты. Main процедурасының басында ds регистріне data
мәліметтер сегментінің ... ... 4Аһ ... ... ... тұрған new_4a процедурасы кез келген аппараттық үзілу
сияқты кез ... ... ... ... ... уақыт сағаттарынан
аппараттық үзілулер өңдеушісі болып табылады. Үзілетін программа осы ... ... ... ... ... ... ds ... құрамы да кез
келген болуы мүмкін. Осы программа клавишаның басылуын күтетін қалыпта
болады. Бұл ... уаыт ... ... ... ... ... ... ұйымдастырады. Ал клавиатура драйвері BIOS-тың ... ... ... ... ... және ds-ті ... ағымдағы уақытты оқу үзілуінің
(1Аһ) 02һ функциясын шақырамыз. Уақыт CH ... CL ... DH ... ... форматта (1 байтта 2цифрдан) қайтарылады. Бізге
бұл уақыт тағы да будильникті қайта орнату үшін ... ... ... және ... рет 02һ ... ... үшін алынған уақыт , яғни cx
және dx регистрлерінің ... ... ... ... ... ... ... сәйкес символдардың
ASCII кодтарына түрлендірілуі жүреді. Сағаттар саны (2 ... ... орын ... және ... үлкен цифрын ASCII кодына
түрлендіретін conv подпрограммасы шақырылады және оны AH ... Бұл код ... ... жол – hour ... Осы шаблонда уақытты құрайтын цифр символдары үшін бос орындар
дайындалған, ... ... ... қос ... де бар. Бұл ... ... қолайлылығы үшін ол бөліктерге бөлінген және әр бөлік
сәйкес атпен қамтамасыз етілген (min – минут өрісі ... sec – ... ... ... 3 ... ... (ret қорытындылаушы команданы
ескермегенде). 2-разрядты BCD-сан Al регистрінде подпрограммаға жіберіледі.
Соңғы нәтижені алу үшін ... ... ... ... AH ... Al ... shl ... арқылы солға 4 бит ығысады, нәтижесінде
Al регистрінің үлкен жарты байты, яғни ... ... ... регистріне
орналасады. Екілік-ондық цифр цифрдың екілік бөлмесінде болады. Оның кодына
“0” символының кодын (30һ саны) қосу осы цифрдың ... ... CH ... тек үлкен жарты байтын түрлендірдік. Кіші жарты
байтты белгілеу үшін CH регистріне 0Fh маска ... Бұл ... кіші ... ... тек ... жарты байтты нөлдейді. Нөлдің ASCII кодын ондық
цифрдың кодына қосу осы санның ASCII кодын береді. Осы ASCII код ... ... ... программа сосын CL (минут) және DH
(секунд) регистрлері үшін де қайталанады.
Экранға ... ... ... үшін ... ... ... ES ... В800һ видеобуферінің сегменттік адресі, ал DI
регистріневидеожазбаның қажетті ығысуы енгізіледі, SI регистріне көздің ... ... CX ...... ... ал AH регистріне – таңдалған
символдар атрибуттары (көк өрістегі ... ... ... ... ... да орын ... тек алға болғандықтан, cld командасымен DF
жалаушасы алынып ... Ladsb және stosw жұп ... ... экранның берілген орнына hour барлық жолын шығаруды жүзеге
асырады.
Экранға ағымдағы уақытты шығарған соң ... тағы ... ... үшін ... ... будильниктің жұмысы тоқтатылады, dx және ... ... ... ... ... және add_time
процедурасын шақырумен ағымдағы уақытқа 1 секунд қосылады. ... ... ... ... ... орнатылады, өңдеуші программаның
басындағы регистрлер қалпына келтіріледі және iret командасы арқылы өңдеуші
өз жұмысын аяқтайды.
Енді ағымдағы ... 1-ді қосу ... ... ... ...... белгілейтін сандардың дұрыс қосылуын
ұйымдастыратын add_time подпрограммасы және BCD қатталған ... ... ... add_unit подпрограммасы. Add_time пдпрограммасы секунд
санын DH-тан AL-ға көшіреді, add_unit пдпрограммасының көмегімен оны ... және DH-қа ... ... ... ... 1-ді ауыстыру қажеттілігі туралы (секунд саны 59) CF ... ... ... add_unit подпрограммасынан кейін CF
жалаушасы тексеріледі. Егер ол ... ... ... ... ... қажеті жоқ, add_time подпрограммасы аяқталады. Егер ... ... ... онда CL регистріндегі санға 1-қосу процедурасы
жүзеге асырылады. Келесі ... CF ... тағы да ... егер ... ... ... уақыт 59минут 59секунд), онда сағат санына 1
қосылады. Сосын ... ret ... ... ... AL ... 1 қосу ... екілік-ондық
қатталған сандарды алады. Add командасымен оған 1 қосылады, осыдан соң
кейбір жағдайда дұрыс ... қате ... орын ... ... – дұрыс, ал 19һ+1=1Аһ – қате. Мұндай екілік-ондық сан болмайды,
19-ға 1-ді қосқаннан кейін 20 ... ... (20һ ... жазылуы керек). BCD-
сандарды қосқаннан кейінгі түзетуді daa командасы жүргізеді. Ол көрсетілген
мысалдағы 1Аһ-ты 20һ-қа ... Daa ... қосу ... ... отыруы керек.
Біздің екілік-ондық сандарымыз шектелген, яғни 59-дан ... ... ... ... ... Егер ... ... кіші
болса, онда CF жалауша ағытылады және ret ... ... ... ... тең ... онда AL регистрі нөлденеді, CF ... ... ... ... 1 саты ... сұрайды және ret
командасы орындалады.Сонымен CF жалаушасы арифметикалық тасымалдаудың бар-
жоғын анықтамайды, ол ... ... ... ... ... жүзеге
асырады.
4 Дыбысты шығару
Компьютерден дыбысты шығару үшін аппарат ресурстары қажет және оларды
қалай басқаруды меңгеру қажет. ... ... ... ішкі ... ... динамик үшін арнайы дыбысты генерациялау схемасы жоқ. Динамикпен
басқарылатын сигнал мына микросхемалардың бірігіп жұмыс істеуімен ... ... ... ... (ППИ) ... таймер i8253.
Сигнал жасаудың жалпы схемасы 1-суретте ... ... ... ... ... ... ... асырылады.
Таймер микросхемасы ішкі құрылымдары және жұмыс принципі бірдей 3 каналдан
тұрады. Таймер каналдарына 1,19 МГц ... ... ... импульстер
генераторы болып табылатын жүйелік сағаттар микросхемасынан импульстер
беріледі. Әрбір канал екі кірістен және бір ... ... ... ... ... бір ... тұйықталған. 0 каналы
үзілулер бақылаушысымен тұйыұталған және ... 18,2 рет ... ... ... көзі ... табылады. 1 каналы жадыға тікелей
рұқсат микросхемасымен (DMA) байланысқан. Ең ... ... 2 ... ... ... ... ... каналдары бірдей
құрылымға ие, олардың негізін 3 регистр құрайды:
1) ...... ... разрядтығы 8 бит;
2) регистр-фиксатор ... ... (latch ... 16 ... ... ... 16 ... регистрлер бір-бірімен келесідей байланысқан. ... әу ... ... бір мән ... Бұл мән көзі жүйелік
программалық ... ету және ... ... ... ... ... регистрінің енгізу-шығарудың адрестік кеңістігінде адресі
болады (енгізу-шығару портының номері). 2 ... ... ... портының номері 42h болады. Оған ... ... ... яғни регистр-фиксаторға түседі. Онда сол мән
енгізу-шығару регистріне жаңа мән ... ... ... ... әр
түрлі осы екі регистр қалай сәйкес келеді деген сұрақ тууы мүмкін, ... ... ... – 8 бит, ал ... – 16 бит. Ол үшін ... ... ... механизмінің бөлігі болып табылатын басқару
регистрі арналған (оған 43h порты ... Оның ... ... ... ... сөзінің көмегімен каналды таңдау, каналдың жұмыс ... және ... мән беру ... ... беру ... ... сурет- Динамик үшін дыбыс жасау сұлбасы
Қалып-күй сөзі келесі құрылымнан тұрады:
1) бит 0 қайта есептеу константасының типін анықтайды: 0 – ... ... ... 1 – ... екілік-ондық (BCD) санмен
берілген. Қайта есептеу константасы – регистр-тіркегішке ең басында
жүктелген мән.Біздің ... ... мән ... ... ... мәні 0 болады;
2) биттер 1-3 таймер микросхемасы жұмысының режимін анықтайды. Барлығы
алты режимді анықтауға болады, ... ... ... ... жағдайда өріс мәні – 011;
3) биттер 4-5 операция типін анықтайды: 00 – ... ... беру ... мән жазу операциясын ғана емес,
сонымен қатар регистр-есептегіш ... одан алып ... ... 10 – ... тек үлкен байтты ғана жазу, 01 –
регистр-ысырмаға тек кіші байтты ... 11 – ... ... ... кіші ... ... ... жағдайда өріс мәні –
11. Сондықтан 16-ьиттік регистр-тіркегіштің 8-биттік енгізу-шығару
регистрі арқылы формалануы келесідей жүзеге асады: жазба 2 ... ... ... ... ... ... ... орнына жазылады, ал екінші байт – кіші байт орнына.
Енгізу-шығару регистріне бұл байттар in және out ... ... 6-7 ... ... ... анықтайды.біздің
жағдайда ол – 10.
Кез келген дыбысты ... үшін оның ... мен ... ... ... ... мән ... түскеннен кейін ол
сол сәтте-ақ регистр-есептегішке жазылады. Лезде осыдан ... ... мәні ... ... әр ... келген сайын бір бірлікке
азайып ... ... 3 ... ... ... ... тұрады. Бұл схема 2 кірістен және 1 шығыстан тұрады. Регистр-
есептегіштің мәні ... ... ... ... бір ... ... ... Бұл схеманың екінші кірісіндегі сигнал
перифериялы интерфейс микросхемасы регистрінің (порт 61h) 0 биті ... ... ... ... ... 1 мәні бір-ақ жағдайда
пайда болады – екі кірісте де 1 болғанда. Регистр-есептегіште мән нөлге тең
болғанда ... ... ... кірісінде осындай бірлік болады. Егер осы
жағдайда мәні 61һ портының 0 битінен ... ... ... 1 болғанда
жүйелік сағаттардан импульс 2 каналының шығысына өтеді. Импульсті өткізумен
бір уақытта 2 каналында тез ... ... ... өзгертпеген
кезде өзгермеген) регистр-есептегішке жүктелуі жүзеге ... ... ... ... ... ... ... Регистр-
тіркегішке мән аз жүктелген сайын регистр-есептегіштің нөл болуы жиі болады
және импульстер 2 ... ... жиі ... ... Мұның өзі дыбыс
биіктігінің жоғары ... ... ... 1 ... ... мәні – ... Осылайша 2 каналының шығысындағы импульс динамикке
барады және егер соңғысына ток берілсе, онда біз ... ... ... токты беруді 61һ портының биті 1 басқарады. Дыбысталуды қалай
үзуге ... Оны ... ... 2 жолы ... ... – 61һ ... биті 1-ді ... токты ағыту;
2) екіншісі – 61һ портының биті 0-ді түсіру.
Бұл 2 ... әр ... ... ... алу үшін ... ... орындай отырып, біз дыбысталу ұзақтығын анықтаймыз.
Сөйтіп таймердің дыбыстық каналын программалауға қажетті 3 кезекті
әрекет мыналар:
1) биттер ... ... ... ... ... және ... беру ... таңдайтын байтты командалық
регистрге (43һ) жіберу;
2) 61һ ... 0 ... 1 ... орнатумен 2 каналы ... ... ... ету. (Осы ... 1 биті ... онда 2 ... ... басқарады. Оны синхрондау
операциясы үшін 0-ге ... ... 0-ден ... дейін есептегіш мәнін есептеп, ax ... ... ... ... ... ... ... каналдың
енгізу-шығару регистріне жіберу (40һ-42һ), сол арқылы ... ... ... сирена дыбысын жүзеге асыратын программа көрсетілген.
Жұмыстың қолайлығы үшін программада ... ... ... ... орындайтын delay макрокомандасы қолданылған. Енгізілген
макрокоманда программа текстінде синтаксистік ... ... ... еш ... жоқ және бұл ... ... стандартты жинағының кеңейту мүмкіндігін ... ... ... ... (11-25 ... және оны тек
функционалдық мақсаты бойынша (бір ... ... ... ... ... Ескеру керек, берілген макрокоманда микропроцессордың
өнімділігіне сезімтал, бұдан ... ... әр ... ... ... келмейді. Код сегменті ds ... ... ... басына орнатудан басталады (32-33 жолдар).
Осыдан соң 37-38 жолдарда біз бірінші этап ... ... – 2 ... ... этапта 61һ портының биттерін (0 және 1) орнатуымыз керек.
Алдын-ала осы порттың құрамын жою керек. Бұл ... 61һ ... ... ... ... 0 және 1 ... орнатуды жүзеге асыру үшін
жасалады (34-41 жолдар). Сирена сигналын формалау ... ... ... ... бірлікке өзгереді және сигнал біраз уақыт
қажетті биіктікпен дыбысталу үшін ... ... ... ... ... ... төмендеуі бізге сирена эффектісін береді. 43-53
жолдар биіктік жоғарылаған циклге, ал 55-62 жолдар тонның төмендеуі цикліне
сәйкес келеді. Екі цикл де ... 5 рет ... Мұны ... ... ... ... асады. Cnt айнымалысының құрамы 69-жолда 1- ... және 71-72 ... 5 ... ... Егер cnt=5 ... ... командасы анықталған жалаушалар орнатады. Келесі jne ... ... бұл ... ... және олардың күйіне тәуелді
басқаруды не белгіге береді, не ... jne ... ... ... ... бірнеше әдістермен ұйымдастыруға болады. Мысалда цикл
loop командасымен ұйымдастырылған. Ол операнда ретінде белгі атына ие. ... loop ... ... ... ... беріледі. Басқаруды
берместен бұрын loop ... ecx/cx ... ... ... егер
ол нөлге тең болса, онда басқару белгіге берілмейді, ... ... ... Ал егер ecx/cx регистрінің құрамы нөлге тең ... ол 1 ... ... да, ... ... беріледі. Сөйтіп ecx/cx
регистрінде цикл есептегіші сақталады. Біздің программада ол ... 42 және 54 ... ... ... программалау
Компьютерлерде, негізінен, тәуелсіз 2 таймер болады. Оның біреуі
(“нақты ... ... ... өте аз ... микросхема құрамына
енген, ол ... ... ... ... ... ... және ... ағытылған машинада да жұмыс істей береді. Бұл
таймерде сақталады және ... ... ... ... ... ай, күн, ... минут, секунд) жылжи береді.
Компьютерді қосқаннан кейін жұмысқа басқа таймер кіріседі, ол таймер
жүйелік деп ... Ол үшін ... ... датчигі ретінде 1,19318 МГц
жиілікте жұмыс істейтін кварцтық генератор ... Одан ... ... есептеуден кейін 65536:1 қатынасында үзілу бақылаушысына ... ... ... 8 ... 18,2065 Гц ... ... ... Бұл үзілулер
BIOS программасын активтендіреді. ... ... ... ... ... ... сағаттарынан тәуліктің ағымдағы уақытын алып, оны
жүйелік ... такт ... ... ... саны ... ағымдағы уақыт ұяшығына жазады. Келесі кезекте осы ұяшық құрамы үзілу
режимінде жұмыс істейтін жүйелік таймер арқылы ... ... ... ... үшін ... программа 21һ DOS сәйкес
үзілу функцияларын ... ... ... алу үшін – 2aһ, ... уақытын алу
үшін – 2Сһ), тіпті уақытты тікелей нақты уақыт сағаттарынан 1аһ BIOS ... ... оқи ... Бұл ... 1аһ үзілуі ағымдағы уақытты оқу (02һ
функциясы) және ағымдағы ... (04һ ... ... ... ... орындайды. Мысалы, оның ең маңыздысы – будильник орнату, ... ... ... аппараттық үзілулер сигналын шығаратын
күнтізбелік уақытты жазу. Бұл ... 70һ ... ... BIOS құрамына
кіретін будильниктің орнатылуына жету нәтижесінде үзілу туды ма, ... ... ... ... ... және сонымен бірге
микросхемалық батарейканың қоректендіруін тексереді, ... ... ... де үзілу соңы командасын жібереді және iret
командасымен аяқталады. Өзінің орын далу ... 70һ ... ... ... ... ... Бұл ... осы үзілудің өңдеушісіне басқаруды
береді және ол да BIOS құрамына ... 4аһ ... ... ... еш нәрсе істемейді. Бірақ программасы 4аһ векторына ... ... ... қолданбалы өңдеушісі адресін жазуға
мүмкіндік бар. ... балы ... ... программист өзі
анықтайды.
Төмендегі мысалда өзінен-өзі шақырылмайтын 4аһ ... ... ... Бұл ... ... ... ... себебі
– үнсіздік бойынша нақты уақыт сағатының будильнигі жұмыс істемейді. Егер
жүйелік уақытты 1аһ үзілуінің 02һ функциясымен оқысақ және оған бір ... ... ... сөйтіп осы уақытқа будильникті орнатсақ (1аһ
үзілуінің 06һ функциясы ... онда 1 ... ... ... ... ... бұл процесс шексіз ... ... ... ... оқу, оған 1 секунд қосу және будильникті жаңа уақытқа
орнату ... ... ... ... әр секунд сайын программа
біткенше шақырылып отырады.
Будильникті келесі секундқа орнату функциясы қызметінен басқа үзілу
өңдеушісі ... ... та ... ол ... ... ... белгілі
бір бөлігіне шығарады. Өңдеуші әр секунд сайын активтелетін ... ... мәні әр ... ... ... ... ... сағаттарында уақыт мәні қатталған ... ... ... BCD ... арифметикалық операциялар орындау кезінде
(біздің жағдайдағы операция – 1 мәнін қосу) осы үшін ... ... ... ... ... осы ... бірі – daa қолданылған.
Уақыт мәнін экранға шығару үшін оны ASCII ... ... ... керек. Екілік-ондық сандарды ... ... ... да ... ... ... ... сағатының көрсетулерін оқу және өңдеу
Бұл мысалда көптеген командалар қолданылған:стекте сақтау және ... ... ... қалпына келтіру командалары (pusha және
popa), сонымен бірге shl ... ... ... ... операндамен. Осы
командалар ассемблермен танылу үшін .586 директивасы ... ... да ... ... Бұл ... 2 ... ... жариялау керек.
Программа main негізгі процедурасынан, new_4a будильниктен үзілу
өңдеушісі процедурасынан, сонымен қатар 3 көмекші – ... add_unit ... ... тұрады. Негізгі процедура 4Аһ үзілудің
бастапқы векторын сақтайды, осы үзілудің жаңа өңдеушісін орнатады, ... ... және ... уақыттан 1 секунд арттағы ... ... ... кез ... ... ... күтумен тоқтайды. Программа
тоқтап тұрғанда будильниктен үзілу өңделеді және экранның оң жақ ... ... ... ... уақыт көрсетіліп тұрады. Кез келген клавишаны
басқанда программа будильникті ағытып, 4аһ ... ... ... ... аяқталады.
Осы ұсынылған мысалда программаның практикалық маңызы аз , өйткені
уақытты көрсеткеннен өзге ... ... ... ... ... ... басқа программаны жүктеу мүмкін емес, себебі DOS бір әрекетті
жүйе болып табылады. Егер бұл программаны .COM ... ... және ... ... онда біз өзге ... ... және ... ағымдағы уақытты да көре аламыз. Ал DOS- та мұндай құрал жоқ.
Енді будильниктің ... ... ... ... pusha (push all – ... сақтау) константасының көмегімен
жалпы мақсаттағы барлық регистрлер, сонымен бірге ... ... ... es 2 ... ... де ... ... ds регистрі hour
ұяшығы кіретін сегменттің сегменттік адресіне бағытталады. Бұл әрекет, бір
қарағанда, мәні жоқ сияқты. Main ... ... ds ... ... ... ... ... 4аһ программалық үзілу
өңдеушісі болғалы тұрған new_4a процедурасы кез келген аппараттық ... кез ... ... ... ... ... уақыт сағаттарынан
аппараттық үзілулер өңдеушісі болып табылады. Үзілетін программа осы ... ... ... ... ... ... ds ... құрамы да кез
келген болуы мүмкін. Осы ... ... ... ... ... Бұл ... уаыт сайын өзінің клавиатура драйверіне қатынасатын 01һ
функциясы ұйымдастырады. Ал клавиатура драйвері ... ... ... программаларына бағытталады.
Регистрлерді сақтап және ds-ті баптап, ағымдағы уақытты оқу ... 02һ ... ... ... CH ... CL ... DH ... екілік-ондық форматта (1 байтта 2цифрдан) қайтарылады. Бізге
бұл уақыт тағы да будильникті қайта орнату үшін өңдеушінің ... ... және ... рет 02һ функциясын шақырмау үшін алынған уақыт , яғни ... dx ... ... ... ... ... ... құрайтын BCD-цифрлардың сәйкес символдардың
ASCII кодтарына түрлендірілуі жүреді. Сағаттар саны (2 ... ... орын ... және ... ... ... ASCII ... conv подпрограммасы шақырылады және оны AH ... Бұл код ... ... жол – hour шаблонына
орналасады. Осы шаблонда уақытты құрайтын цифр символдары үшін бос ... ... ... ... қос ... де бар. Бұл ... ... ... үшін ол ... бөлінген және әр бөлік
сәйкес атпен қамтамасыз ... (min – ... ... ... sec – ... ... подпрограммасы 3 сөйлемнен тұрады (ret қорытындылаушы команданы
ескермегенде). 2-разрядты BCD-сан Al регистрінде подпрограммаға ... ... алу үшін ... ... ... ... AH ... Al құрамы shl командасы арқылы солға 4 бит ығысады, нәтижесінде
Al регистрінің үлкен жарты байты, яғни ... ... ... ... ... цифр ... екілік бөлмесінде болады. Оның кодына
“0” символының кодын (30һ саны) қосу осы цифрдың ASCIIкодын береді.
Біз CH регистрінің тек үлкен ... ... ... Кіші ... белгілеу үшін CH регистріне 0Fh маска төселеді. Бұл маска кіші жарты
байтқа тиіспей, тек ... ... ... нөлдейді. Нөлдің ASCII кодын ондық
цифрдың кодына қосу осы санның ASCII кодын береді. Осы ASCII код ... ... ... ... ... CL (минут) және DH
(секунд) регистрлері үшін де қайталанады.
Экранға ... ... ... үшін видеожадыға тікелей қатынас
пайдаланылады. ES регистріне В800һ видеобуферінің сегменттік адресі, ал ... ... ... ... SI ... көздің жол
адресі енгізіледі. CX регистріне – қадам саны, ал AH регистріне – таңдалған
символдар атрибуттары (көк ... ... ... ... ... ... да орын ауыстыру тек алға болғандықтан, cld командасымен ... ... ... Ladsb және stosw жұп ... ... экранның берілген орнына hour ... ... ... ... ... уақытты шығарған соң будильникті тағы орнату ... үшін ... ... ... жұмысы тоқтатылады, dx және cx
регистрлеріндегі ағымдағы ... ... ... және ... ... ... уақытқа 1 секунд қосылады. Сосын 06һ
функциясын шақырумен жаңадан ... ... ... ... ... ... келтіріледі және iret командасы арқылы өңдеуші
өз ... ... ... уақытқа 1-ді қосу процедурасын қарастырайық.Ол 2
компоненттен құралған – ... ... ... ... ... add_time ... және BCD қатталған кодына 1-ді
қосуды орындайтын add_unit подпрограммасы. Add_time пдпрограммасы ... ... AL-ға ... add_unit пдпрограммасының көмегімен оны 1-ге
арттырады және DH-қа қайтарады.Add_unit пдпрограммасы ... ... 1-ді ... ... ... (секунд саны 59) CF жалаушасын
орнатумен сигналданады. Сондықтан add_unit подпрограммасынан кейін ... ... Егер ол ... ... ... уақыт разрядын
модификациялап қажеті жоқ, add_time ... ... Егер ... ... ... онда CL регистріндегі санға 1-қосу процедурасы
жүзеге асырылады. Келесі әрекетте CF жалаушасы тағы да тексеріледі, егер ол
орнатылған ... ... ... ... 59секунд), онда сағат ... ... ... программа ret командасымен аяқталады.
Add_unit подпрограммасы AL регистріндегі 1 қосу ... ... ... ... Add командасымен оған 1 қосылады, осыдан соң
кейбір ... ... ... қате қосындылар орын алады. Мысалы,
14һ+1=15һ – дұрыс, ал 19һ+1=1Аһ – қате. Мұндай ... сан ... 1-ді ... кейін 20 шығуы керек (20һ түрінде жазылуы керек). BCD-
сандарды қосқаннан ... ... daa ... жүргізеді. Ол көрсетілген
мысалдағы 1Аһ-ты 20һ-қа түзейді. Daa командасы қосу ... ... ... ... ... сандарымыз шектелген, яғни 59-дан аспайды.
Коррекциядан кейін нәтиже ... ... Егер ... ... ... онда CF ... ... және ret командасы орындалады. Егер
қосынды ... тең ... онда AL ... ... CF жалауша
орналастырылады, келесі уақыт разрядын 1 саты арттыруды ... және ... ... CF ... ... ... ... анықтамайды, ол уақыттың келесі ... ... ... ... IBM PC ... ... ... сәйкес болу үшін 8253
(немесе 8254) таймері микросхемасын қолданады. Жүйелік сағаттардың цикл
саны 1 ... ... ал осы ... ... ... ... ... белгілі жиілікті ... ... ... ... беріледі. 8253 микросхемасы 3 ... ... ... ... әрқайсысы программалана алады.
8253 микросхемасы процессордан тәуелсіз жұмыс ... ... ... ... ... ... кіріседі. Осылайша
8253 микросхемасы нақты уақыт сағаты ретінде әрекет ... – ол ... ... өтіп жатқан әрекеттерден ... ... ... ... ... 1/12 ... құрайды. Уақыт
интервалын сағат және минут бойынша есептеу үшін ... ... ... орай ... микросхемасының нөлдік каналынан шығатын импульстер BIOS
мәліметтер облысындағы айнымалыға жиналады. Бұл ... ... ... ... ... 18,2 рет 0 каналының шығысы аппараттық үзілумен
(таймер үзілуі) өңделеді. Ол ... ... ... тоқтатады және
тәулік уақыты есептеуішін ұлғайтады. 0 саны 12:00 ... ... ... 24 ... ... мәнге жеткенде нөлге теңестіріледі.Тәулік
уақытын есептеуіш уақытқа ... ... ... ... A
1 листинг Нақты уақыт сағаты көрсетулерін оқу және ... ... ... ... cs:code, ... segment ... ... ax,data
mov ds,ax
mov ax,354Ah
int 21h
mov word ptr old_4a,bx
mov word ptr old_4a+2,es
mov ax,254Ah
push ds
push cs
pop ds
mov ... ... ... ... Ah,02h
int 1Ah
call add_time
mov Ah,06h
int 1Ah
mov Ah, 01h
int 21h
mov Ah,07h
int 1Ah
lds dx,old_4a
mov ax,254Ah
int 21h
mov ax,4c00h
int ... ... ... ... ... ... ax,seg hour
mov ds,ax
mov Ah,02h
int 1Ah
push cx
push dx
mov ... ... ... ch,0fh
add ch,'0'
mov hour+1,ch
mov Al,cl
call conv
mov min,Ah
and dl,0fh
add dl,'0'
mov min+1,cl
mov al,dh
call conv
mov sec,Ah
and dh,0fh
add dh,'0'
mov ... ... ... di,160-16
mov si,offset hour
mov cx,8
mov Ah,14h
cld
screen: lodsb
stosw
loop screen
mov Ah,07h
int 1Ah
pop dx
pop cx
call add_time
mov Ah,06h
int 1Ah
pop es
pop ds
pop ax
iret
new_4a ... ... ... ... ... ok
mov Al,cl
call add_unit
mov cl,Al
jnc ok
mov Al,ch
call add_unit
mov ... ... ... ... ... Al,60h
jb done
mov Al,0h
stc
jmp done1
done:clc
done1:ret
add_unit endp
conv proc
mov Ah,0
shl ax,4
add Ah,'0'
conv endp
code ends
data segment ... dd ... db ... db 0,0,':'
sec db 0,0
data ends
stk segment stack
dw 128 ... ... ... В
2 ... ... ... программалау
masm
model small
stack 100h
delay macro time
local ext,iter
push cx
mov ... ... ... ... ... ext
pop cx
endm
.data
tonelow dw ... db ... dw ... ... ... ax,ax
go:
mov al,0B6h
out 43h,al
in al,61h
or ... ... ... ... ... ... ... tonelow,500
delay 5
mov dx,tonelow
mov ... ... ... ... ... ... ... temp,1
delay 5
loop musicdown
nosound:
in al,61h
and ... ... ... ... cnt
cmp cnt,5
jne go
exit:
mov ... ... ... ... Юров В. «Assembler» – СПб: Издательство «Питер», 2000. – 624 бет: ... ... П. ... компьютер фирмы IBM и операционная система MS-
DOS»: ағл. ... – М.: ... и ... 1991. – 416 бет: ... ... В.И. ... ... в программировании информационных и
управляющих систем» – М.: «ЭНТРОП», К, «ВЕК», 1997. – 304 бет: ... ... К.Г. ... ... ... - М.: ... и ... 2000. –
288 бет: ил.
5. Алдажаров Қ.С., Бекбаев А., Бөрібаев Б., т.б. ... ... ... ... ... және есептеуіш техника» -
Алматы: Рауан, 1999. – 297 ... ... С.А., ... Н.Р. ... мен есептеуіш техника
терминдерінің орысша-қазақша сөздігі»:жоғары және орта оқу орындарына
арналған, – ... ... 1993. – 176 ... ... ... ... жиілігі 1,19 МГц)
Басқару регистрі (43һ порты)
0 каналы
40һ порты
1 каналы
41һ порты
Енгізу-шығару регистрі (42һ порты)
Регистр-сырма
Регистр-есептеуіш (count=count-1)
ж/е
ж/е
2 ... ... 2

Пән: Информатика
Жұмыс түрі: Реферат
Көлемі: 24 бет
Бұл жұмыстың бағасы: 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Visual basic-ті оқыту әдістемесі13 бет
Қазақстан тарихы жоғары және арнаулы орта оқу орындарына арналған оқулық440 бет
Көлік қозғалысының жылдамдығы туралы деректермен есептегішті қамтамасыз ететін контроллердің басқару программасын жетілдіру28 бет
Бабырдың үндістанда билігін орнатуы12 бет
Газгольдерді орнатуда дайындық жұмыстары оларға қойылатын талаптар,газ сақтайтын газгольдерлер7 бет
Мектеп педагогикалық ұжымының оқушы отбасымен байланыс орнатудың психологиялық-педагогикалық негіздері50 бет
Параметрлерді орнату15 бет
Резервуарларды жөндеу, құрып орнату61 бет
Флотациондық орнату арқылы шараптың бағытын жобалап алу14 бет
ШТСҚ жабдықталған ұңғылардың тиімді технологиялық жұмыс режимін орнату және негізгі көрсеткіштерін анықтау100 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь