Жоспар №8732

Микропроцессорлар мен үзілістер: тарихы, түрлері және DOS пен BIOS үзілістері

Сұрақ-жауап

Сұрағыңызға жасанды интеллект жауап береді

 М а з м ұ н ы Кіріспе …………………………………………………………… 3 Қысқартылған сөздер ................................................................. 4 1. Микропроцессорлар ……....................................................... 5 1.1. Микропроцоссордың келіп шығу тарихы ................................... 5 1.2. Микропроцессордың түрлері ....................................................... 6 2. Үзілістер .................................................................................. 8 2.1. DOS үзілістері ……………………………………..…………….. 8 2.2. BIOS үзілістері …………………………………………………. 9 Қорытынды …………………………………………………… Пайдаланылған әдебиеттер ………………………………….. Қосымшалар ............................................................................... 15 16 17 КІРІСПЕ Кез келген есепті шешу алдында бағдарлама жазу үшін Жоғарғы деңгейлі тілдерде есептеу жөне мәтіндермен жұмыс істейтін Есептеу машинасын керекті бағытта жұмыс істететін -машиналық тіл. Қазіргі заманғы программалау технологияларын пайдалана отырып, бірде-бір код Компьютердің барлық мүмкіншіліктерін тиімді пайдалану үшін машиналық тілдің Ассемблер тілі - машиналық тілдің рәміздік сипаты. Ассемблер Ассемблер тілінде жазылған бағдарламаларында үзілістер кеңінен қолданылады. Үзіліссіз Курстық жұмыста үзілістер және олардың түрлері жайлы баяндалған Қысқартылған сөздер: ЭЕМ – электрондық есептеу машинасы; ДК - дербес компьютер; АЛҚ – арифметикалық және логикалық құрылғы АЖ - ақпараттық жүйелер; МҚ – мәліметтер қоры; МҚБЖ - мәліметтер қорын басқару жүйелері; БТ – бағарламалау тілі; БҚ – бағдарламалық қамтамасыздандыру; БҚҚТ – бағдарламалық қамтамасыздандыру құру технологиясы; ЖИ – жасанды интеллект; ЖИЖ - жасанды интеллект жүйелері; ЖДБТ – жоғарғы бағдарламалау тілі; ТДБТ – төменгі бағдарламалау тілі; МП – микропроцессор. 1. МИКРОПРОЦЕССОРЛАР 1.1. Микропроцоссордың келіп шығу тарихы ДК ұғымын INTEL фирмасы жаратқан МП негізінде құрылған Компьютер (computer) ағылшын сөзі болып, оны қазақ тіліне Арифмометрдің кемшіліктері: есептеу жылдамдығы жай, құрылғының көлемі үлкен XIX ғасырдың бірінші жартысында ағлшын математигі Чарьз Бэббидж Берілгендер перфокарта көмегімен енгізілді. Бэббидж аналитикалық машинасын соңына 1943 жылдан бастап Джон Мочли және Прескере Экерт орталық процессор Сурет 1. Джон фон Нейман принципі АЛҚ - арифметикалық және логикалық амалдарды орындаушы құрылғы. СҚ – Ақпаратты енгізу – шығаруларды құрылғысы. 1.2. Микропроцессордың түрлері Микропроцессор – компьютердің негізгі элементі болып есептелінеді. Бұл IBM PC компьютерлерінде Intel фирмасының микропроцессоры және соған Егер компьютерлерде математикалық есептеулер орындау қажет болса, негізгі Жедел жад – компьютердің екінші негізгі элементі есептелінеді. Микропроцессорлардың сипаттамалары: МП модел түрі Intel, AMO, Cyzix, IBM. Тактикалық жиілік МГУ, ГПУ Бірінші МП 1971 жылы құрылды. Ол 4 1971 жылы IBM компаниясы МП 8080 1976 жылы Apple комапаниясы өзінің бірінші микропроцссорын құрды. 1978 жылы IBM компанясы 16 разрядты МП 1979 жылы Intel фирмасы микропроцессор МП 8088 құрды. 1983 жылдары МП 80186 қолданылмады, өйткені 1984 жылы IBM компаниясы МП 80286 негізінде IBM 1987 ж i386 32 разрядты көп есепті режимде істеді. 1990 ж i486 1993 ж Pentium 64 разрядты. 1987 жылы IBM фирмасы IBM PC AT дербес 1993 жылы Intel фирмасы 64 разрядты Pentium 2. ҮЗІЛІСТЕР 2.1. DOS үзілістері Үзіліс дегенде алдын ала дайынған стандартты процедураларға айтамыз. Жалпы үзілісті үш топқа бөлінеді: Аппараттық үзілістер; Бағдарламалық үзілістер; Логикалық үзілістер. Ассемблерде бағдарламалық үзілістер қолданылады. Ассемблер бағдарламаларында мәліметтерді клавиатурадан енгiзуде немесе дискке сақтауда DOS үзілістері; 2. BIOS үзілістері. DOS үзілістері жазылу форматы: Mov AH, INT , мұндағы AH – 1 байттық AX регистрінің үлкен бөлігі; INT – Interput ағылышын сөзінің бірінші үш әріптері - үзіліс нөмірі; - үзіліс функциясының нөмірі. Үзіліс нөмірі 21h болған функцияларды қарастырайық. mov ah,1 int 21h Клавиатурадан бір символды енгізеді. Енгізілген символ AL mov ah,2 int 21h Экранға бір символды шығарады. Шығару DL регстрінен орындалады. mov ah,9 int 21h Жолдар қатарын DX регистрден экранға шығарады. Шығарылатын жолдар mov dx, offset , мұндағы - жол жазылған айнымалы аты. mov ah,4ch int 21h Бұл функция бағдарламаның жұмысын аяқтайды. DOS үзілісіне ассемблер бағдарламалық мысалдар Қосымша 1 Жалпы DOS үзілістер арифметикалық және логикалық есептеулерде, енгізу 2.2. BIOS үзілістері DOS үзілістерінен ерекше BIOS үзілістері негізінен графикалық режимде Экран, клавиатура және графикамен жұмыс істеуде BIOS-тың 0000 – жоғарғы сол бұрыш 80, 79 – жоғарғы оң бұрыш 12 39/40 – экран ортасы 24, 00 – төменгі сол бұрыш 24,79 – төменгі оң бұрыш MOV AH, Ø2; 45 позицияға жылжытуға сұраныс MOV BH, 00; 00 экран MOV DX, Ø5; Ø5 қатар MOV DL,12; 12 бағана INT 10H Экранды тазалау MOV AX, Ø6 Ø Ø ØH ; ; AL Ø Ø (толық экран) MOV BH, Ø7; атрибут MOV CX, 000; жоғарғы сол позиция MOV DX, 184 FH ; төменгі оң позиция MOV AH, Ø9 LEA DX, NAM INT 21H CMP C, Ø8H IB D3 Ø CMP C,DH IBE D4 Ø MOV AH, 40H; шығаруға сұраныс MOV BX, 01 MOV CX, 20 LEA DX, NAM INT 21H Күрделiрек амалдарды жоғары деңгейлi DOS үзіліс INT 21H DOS үзілістері нақты әсерге арналған BIOS үзілістерге басқаруды BIOS үзілістері жиi кезедесетін енгiзулер немесе қорытындылаулар амалдарын - стектiң көрсеткішін екіге азайтады және - TF флагтық регистрді - стектiң көрсеткішін екіге азайтады және стекке CS - стектiң көрсеткішін екіге азайтады - қажеттi амалдардың орындалуын қамтамасыз - регистрдiң мәнiн стек қалпына келтiредi және командаға Бұл процесс автоматты түрде толық орындалады. Тек қана BIOS үзілістің INT 10H және DOS үзілістің INT Экранды екі өлшемді кеңістік көрінісінде сипаттауға болады. Мысалы, Координаталар (бағана жол) болып енгізіледі. 00000000 - шi жоғарғы сол бұрыш 007900 - шi жоғарғы оң бұрыш 1239/400027/28-шi экранның орталығы 24001800-шi төменгi сол бұрыш 2479184F-шi төменгi оң бұрыш Курсорды қажетті орынға қоюда, командаға BIOS үзілісінің MOV AH, 02 ;курсорды MOV BHд, 00 ;0 - MOV DH, 05 ;05-шi жол MOV DL, 12 ;12-шi бағана INT 10H ;BIOS AH регистрiндегi 02 мән BIOS үзілісін INT 10H MOV DX, 050CH ;5-шi жол, 12-шi бағана Экран тазалау "Скролинг" сұранысы және командалары экран бетін айналдыруды MOV AX, 0600H ;(айналдыру ) AH 06 ;(барлық эуран ) AL 00 MOV BH, 07 ;(қара/ақ ) MOV CX, 0000 ;Жоғарғы сол позиция MOV DX, 184FH ;Төменгi оң позиция INT 10H ;BIOS 06 AHның регистрiндегi мән экранды тазалау амалын INT BIOS үзілістерінің сервистері Үзіліс сервистері деп, BIOS немес операциялық жүйе INT инструкциясын алып болған соң, процессор стекке флагтар (IVT) үзіліс нөмірін анықтаймыз. Бұл амалдардың орындалуы процессор Видео режимдер: Int5 – PrintScreen клавишасы: экрандағы мәліметтерді принтер буферіне Int10-00 - Видеорежимді орнатады. Аргументтер: ah=00, Int10-01 – Курсор өлшемін орнатады. Аргументтер: ah=01, ch=бастапқы Int10-02 – Курсор позициясын орнатады. Аргументтер: ah=02, bh= Int10-03 – Курсор орнын және өлшемін есептейді. Аргументтер: Int10-05 - Активті видео бетті таңдау. Аргументтер: ah=05, Int10-06 – Экранды жоғары айналдыру. Аргументтер: ah=06, al=айналатын Int10-07 – Экранды төменге айналдыру. Аргументтер: ah=07, al=айналатын Int10-09 – Таңба және оның аттрибуттарын жазу. Аргументтер: Int10-0A – Таңбаны жазу. Аргументтер: ah=0A, al= таңба Int10-0C – Нүктені сақтау (1 пиксел). Аргументтер: ah=0C, Int10-0D - Нүктені оқу (1 пиксел). Аргументтер: Int10-0E – Арнайы символды шығару. Аргументтер: ah=0E, al= Int10-0F - Информация о видеорежиме. Аргументы: ah=0F. Выход: Int10-13 – Жолды жазу. Аргументтер: ah=13, al=видеорежим, bh=видео Жүйелік: Int11 – Құрылғы статусы. Шығу: ax=статус, биттік құрылым. Int12 – Жад өлшемі.Шығу: ax=1 кБ жад блоктары. Int18 - Жүктелу процесс қателігі.Шақыру ROM Basic, Int19 – Компьютерді қайта қосу. Int1B - Control-Break көрсеткіші. Ctrl-Brk клавишасын басумен шақырылады. Дисктік: Int13-00 - Дисктік контроллерді тастау. Кіру: ah=00, dl=дисковода Int13-01 – Иілгіш жиск статусы. Кіріс: ah=01, dl= Int13-02 – Секторларды оқу. Кіріс: ah=02, al=секторлар саны, Ввод/Вывод: Int21-01 – Эхомен символды енгізу. Кіру: ah=1. Шығу: Int21-02 –Символды шығару. Кіру: ah=2, dl=символ. Int21-03 – Сыртқы кіру. Кіру: ah=3. Шығу: al=символ. ҚОРЫТЫНДЫ Ассемблер тілінің басқа жоғары деңгейлі тілден айырмашылықтары: ассемблер тілінің жеткізілуі мен машиналық командалардың арасындағы бірмәнді машиналардағы барлық объектілер мен командаларға қатынау; бір тектес компьютерлердегі жұмыс. Ассемблер тілін қолданудың екі негізгі ерекшеліктері бар: жоғары Кейбір процедураларға ассемблер жасай алатындай аппараттық қамтамасыз етуге Ассемблер тілінде оператор құрылымы машиналық командаға сәйкес құрылымды Ассемблер тілінің жеткізілуі төртке бөлінеді. Олар: белгі, операция, Егер жекізу машиналық командаың символикалық репрезентациясы, не бұл Операндтардың алаңдары машиналық командалар үшін операндтар болып табылатын Комментарий алаңында программа әрекетінің түсіндірмесі келтіріледі. Бұл комментарийлерсіз ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР Абель П. Язык Ассемблера для ІBM PC и Бек Л. Введение в системное программное обеспечение.- М.: Брэдли Л. Программирование на языке Ассемблера для персональных Крейслер С Проектирование операционных систем для малых ЭВМ Нортон П. ПК фирмы ІBM и OS MS-DOS. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. -с.286. Питс Д. Red Hat Lmux Энциклопедия пользователя.-Киев ДиаСофт, Скэнлон Л. ПЭВМ ІBM PC и XT. Программирование Спесивцев А.В. и др. Защита информации в персональных Хаузер Д., Хирт Дж. Операционная система MS DOS.-М.: ҚОСЫМШАЛАР Қосымша 1. Ассемблер кодындағы бағдарламалар ;мәтінді экранға шығару data segvent x db “MKTU$” assume ds:data,cs:data begin: mov ax,data mov ds,ax mov ah,9 mov dx,offset x int 21h mov ah,4ch int 21h ends data end begin ;клавиатурадан бір таңбалы бүтін оң санды енгізу ;және оны экраннан шығару data segvent a db ? assume ds:data,cs:data begin: mov ah,1 int 21h mov a,al mov ah,2 mov dl,a int 21h mov ah,4ch int 21h ends data end begin Қосымша 2. Графикаға ассемблер бағдарламалары ;бірінші бағдарлама .286 ste db ste data col db x y adr maska data code assume ;*************************************************************** getadr pusha mov mul mov mov shr add mov mov ah,80h and shr mov mov dx,03CEh mov ah,maska mov out dx,ax popa ret getadr ;********************** *********************************** beg: mov mov mov int mov mov es,ax mov mov mov out mov x,0 mov y,0 @cicle mov bx,adr mov al,0 mov ah,es:[bx] mov ah,4 mov mov out dx,ax mov al,0FFh mov es:[bx],al inc x cmp x,200 jle @cicle mov ah,0 int 16h mov mov int mov int code ends end beg ;екінші бағдарлама .286 data segment _srav DW ? _Horg DW ? adr DW cen_x DW 160 cen_y DB 110 X_Left DW ? X_Rigth DW ? Y_Down DB ? Y_UP DB ? Color DB 4 Mas DB Red DB Blue DB ? Green DB ? LineData STRUC X1 Y1 X2 Y2 LineData Ends LineTable LineData LineData LineData LineData LineData LineData LineData LineData LineData LineData ;Маркер конца таблицы DB 0FFh data Ends ;________________________________ stak segment dw 1024 (?) stak ends code segment assume CS:code,DS:data ;________________________________ Line PROC CMP Cl,Ch JNC @@UpToDown XCHG Ch,Cl XCHG BX,DX @@UpToDown: SUB Cl,Ch MOV Al,160 MUL Ch ADD AX,AX MOV DI,AX ADD DI,BX MOV Ch,0 SUB DX,BX JC @@RightToLeft CMP CX,DX JC @@RightDown MOV AX,CX MOV BP,CX SHR AX,1 @@DownRightCicle: MOV Bl,Color MOV ES:[DI],Bl ADD DI,320 SUB AX,DX JNC @@DownRightTest INC DI ADD AX,BP @@DownRightTest: LOOP @@DownRightCicle RET @@RightDown: XCHG DX,CX MOV AX,CX MOV BP,CX SHR AX,1 @@RightDownCicle: MOV Bl,Color MOV ES:[DI],Bl INC DI SUB AX,DX JNC @@RightDownTest ADD DI,320 ADD AX,BP @@RightDownTest: LOOP @@RightDownCicle RET ;Справа налево @@RightToLeft: NEG DX CMP CX,DX JC @@LeftDown MOV AX,CX MOV BP,CX SHR AX,1 @@DownLeftCicle: MOV Bl,Color MOV ES:[DI],Bl ADD DI,320 SUB AX,DX JNC @@DownLeftTest DEC DI ADD AX,BP @@DownLeftTest: LOOP @@DownLeftCicle RET @@LeftDown: XCHG DX,CX MOV AX,CX MOV BP,CX SHR AX,1 @@LeftDownCicle: MOV Bl,Color MOV ES:[DI],Bl DEC DI SUB AX,DX JNC @@LeftDownTest ADD DI,320 ADD AX,BP @@LeftDownTest: LOOP @@LeftDownCicle RET Line ENDP ;________________________________ Get_Ads PROC MOV CH,cen_y MOV AL,160 MUL CH ADD AX,AX ADD AX,cen_x MOV DI,AX Get_Ads EndP ;________________________________ _Left PROC PUSH DI @@LD: MOV AL,ES:[DI] CMP AL,Color JE @@LD_Cicle DEC DI JMP @@LD @@LD_Cicle: INC DI ; ; MOV X_Left,DI POP DI RET _Left EndP ;________________________________ _Rigth PROC PUSH DI @@RD: MOV AL,ES:[DI] CMP AL,Color JE @@RD_Cicle INC DI JMP @@RD @@RD_Cicle: DEC DI ; ; MOV X_Rigth,DI POP DI RET _Rigth EndP ;________________________________ Cen_Zac PROC MOV DI,X_Left @@Cen_Zac: MOV AL,ES:[DI] CMP AL,Color JE @@Cen_IN MOV BL,Color MOV ES:[DI],BL INC DI JMP @@Cen_Zac @@Cen_IN: ; ; RET Cen_Zac EndP ;__________________________ ;Закрас фигуры Up_Zac PROC CALL _Left CALL _Rigth ; ; CALL Cen_Zac MOV DI,X_Left @@CnU_Zac: MOV AL,ES:[DI-320] CMP AL,Color JNE @@QU_wait INC DI CMP DI,X_Rigth JG @@CnU_IN JMP @@CnU_Zac @@QU_wait: SUB DI,320 CALL Up_Zac @@CnU_IN: RET Up_Zac EndP ;_______________________ Down_Zac PROC CALL _Left CALL _Rigth ; ; CALL Cen_Zac MOV DI,X_Left @@CnD_Zac: MOV AL,ES:[DI+320] CMP AL,Color JNE @@QD_wait INC DI CMP DI,X_Rigth JG @@CnD_IN JMP @@CnD_Zac @@QD_wait: ADD DI,320 CALL Down_Zac @@CnD_IN: RET Down_Zac EndP ;___________________________ DAC PROC CLI mov dx,3C8h mov al,Color out dx,al mov dx,3C9h mov al,Blue out dx,al mov al,Green out dx,al mov al,Red out dx,al STI RET DAC EndP ;________________________________ ;Начало програмы Start: MOV AX,data MOV DS,AX MOV AX,0A000h MOV ES,AX MOV AX,13h INT 010h MOV SI,OFFSET LineTable @@LineCicle: MOV BX,DS:[SI]+[LineData.X1] MOV Ch,DS:[SI]+[LineData.Y1] MOV DX,DS:[SI]+[LineData.X2] MOV Cl,DS:[SI]+[LineData.Y2] MOV AL,Color Call Line ADD SI,SIZE LineData MOV AX,DS:[SI] CMP AX,250 JC @@LineCicle MOV AH,00h INT 16h ;____________________________________ MOV DX,03CEh MOV al,2 MOV AH,Color OUT dx,ax ;____________________________________ CALL Get_Ads CALL Up_Zac CALL Get_Ads ; CALL Down_Zac MOV CX,63 MOV AH,63 Dc: SUB AH,CL MOV Red,AH MOV Green,CL MOV Blue,CL CALL DAC MOV AH,00h INT 16h LOOP Dc MOV AH,03h INT 10h ; Выход из программы в DOS MOV AX,04C00h INT 21h code Ends End Start End Ф-ОБ-001/035 26 Ф-ОБ-001/035 Жедел жад Арифметикалық және логикалық құрылғы Басқару құылғысы Сыртқы құрылғы 

Мәтінді көшіру үшін белсенді жазылым қажет.

Пайдаланушы ID: 295358

Жарияланған күні: