Мәліметтердің компьютерде берілуі
БИЛЕТ №1
1) Жүйелік деппрограммалық өнімді жасау және орындау үшін, сондай-ақ ЭЕМ қолданушыларына белгілі бір қызметтерді көрсету үшін қолданатын программалық қамтаманы айтады. Ол ЭЕМ-нің техникалық құралдарына қажетті толықтырушы болып табылады.ПЭЕМ-ның ж‰йелік программалыќ ќамтамасыныњ құрылымы 1суретте кµрсетілген:
Сурет - ПЭЕМ-ның ж‰йелік программалыќ ќамтамасыныњ құрылымы
Операциялық жүйелер (ОЖ)
ОЖ – бұл, ЭЕМ ресурстарын жєнеосыресурстардыесептеулердеќолданатынпроцестердібасќарудықамтамасыз ететін программалар кешені.
Негізгі ресурстар:
- процессор;
- жедел жады;
- шалғай құрылғылар.
Ресурстарды басқару келесілерге әкеледі:
1. ресурстарға қатынасты ыќшамдауға;
2. ресурстардыоларѓабәсекелескен процестер арасында бµлуге.
Сервистік жүйелер
Сервистік жүйелер– қолданушы интерфейсі мен ОЖ-ді толықтыратын және кеңейтетін жүйелер. Сервистік жүйелер келесілерге бөлінеді:
1. интерфейстік;
2. қабықшалар;
3. утилиттер.
Аспаптық жүйелер
Аспаптық жүйелер – бұл ақпараттық программалық қамтаманы құруды қамтамасыз ететін программалық өнімнің жиынтығы.
Программалау жүйелері – программалау тілі жєне виртуалды машинаныњ жиынтығы.
Программалау тілі – ЭЕМ ‰шіналгоритмдердідєлсуреттеумаќсатындақызмет ететін белгілеу жүйесі.
Виртуалды машина – кірістік программалау тілін жүзеге асыратын программалық жиынтық (транслятор және/немесе стандартты программалар кітапханасының интерпретаторы, жөндеуіш, құрастырушы).
Транслятор – тексті бір тілден екінші тілге аударуды іске асыратын программа.
Компилятор– программаны жоғарырақ деңгейдегі тілден төменірек деңгейдегі тілге аударуды қамтамасыз ететін транслятордың түрі.
Ассемблер – программаны төмеңгі деңгейдегі тілден машиналық тілге аударуды жүзеге асыратын транслятор.
Интерпретатор –бір уақытта берілген программаға талдау жасап және оныњ єрекеттерін іскеасыру арқылы орындайтын программалық өнім.
Мәліметтердің компьютерде берілуі
Компьютерде ақпараттың ең аз бірлігі бит болып табылады. Бит 0 немесе 1 мәндерін қабылдау мүмкін.
Сегіз биттен құралған топ байт деп аталады. Байт разрядтары немесе биттер оңнан солға қарай 0-ден 7-ге дейін нөмірленеді:
Биттер нөмірлері: 7 6 5 4 3 2 1 0
Биттер мәндері: 1 0 1 0 1 0 0 1
Екі байт немесе он алты бит сөз болып табылады.
Сөздер оңнан солға қарай 0-ден 15-ке дейін нөмірленеді.
Биттер нөмірлері: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Биттер мәндері: 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0
Бұл сөзде 8-ден 15-ке дейінгі разрядты байт үлкен байт деп аталады және 10101010 мәніне ие болады, ал 0-ден 7-ге дейінгі разрядты байт кіші байт деп аталады және 11110000 мәніне ие болады.
Компьютердегі барлық есептеулер екілік санау жүйесінде, яғни екілік кодта іске асады. Сандарды он алтылық жүйеде келтіру сандардың екілік кодтағы қысқаша жазылуы болып табылады. Ол үшін төрт екілік разряд бір он алтылық разрядта жазылады. Бұл сандарды келтірудің екі форматынан басқа ондық, екілік-ондық (BCD) және ASCII – кодтар қолданылуы мүмкін.
2) Мәліметтерді анықтау үшін ассемблердің негізгі3 директивасы ќолданылады: байттарды жазу үшін db (define byte, байтты анықтау), сөздерді жазу үшін dw(define word, сөзді анықтау) және қосарланған сөздерді жазу үшін dd(define double, қосарланған сөзді табу):
size dw 256 ; size ұяшығына 256 ондыќсаныжазылады
setb7 db 80h ;setb7 ұяшығына 180h он алтылыќсаны жазылады
Массивтерге орын алып қою үшін dup(duplicate, дубльдеу) операторы қолданылады.
Rawdata dw 300 dup (1) ;1 санымен толтырылған
;300 сөз резервтелінеді
string db 80 dup ('') ; '' белгісімен толтырылған
; 80 байт резервтелінеді
Кµрсетілгендерден басќа, df(define farword, 6 байттық µрісті анықтау), dq(define quadword, төрттік сөзді анықтау) және dt(define teraword, 10 байттық айнымалыны анықтау)директивалары бар, бірақ олар сирек қолданылады.
3) Ассемблер– машиналық кодтарда жазылған программаларды көрсететін машиналы-бағытталған тіл. Ол программалаушыға келесі мүмкіндіктерді береді:
- машиналық командалардың символдық белгілеулерін қолдану (мнемокод);
- жады ұяшықтарына және регистрлерге символдық аттар меншіктеу;
- сандарды жазу үшін арифметикалық, логикалық өрнектерді және әртүрлі санаќ жүйелерін қолданужєнет.б.
Ассемблер тіліндепрограмманыжасаубірнешекезењдердент±рады:
1. Программаныњбастапќымєтініндайындау.
2. Программаныассемблерлеу (объекттікодыалу).
3. Программаныжинаќтау (программаныњорындалатынфайлыналу).
4. Программанытексеру.
Ассемблертіліндепрограмманыњмєтіні бір немесебірнешемєтіндікфайлдарѓажазылады. Файлдардыњаттарыменолардыњкењейтілулерікезкелгенболуым‰мкін,біраќ та программаныњмєтіні бар файлдар ‰шін *.asm, алт±раќтыларменжањатиптердіњаныќтамалары бар файлдар ‰шін *.incкењейтілулерінќолдануќабылданѓан. МєтіндікфайлдардыдайындаудастандарттымєтіндікредакторлардыќолданукезіндередакторланатынфайлдардыASCIIформатындаѓыкєдімгіфайлдарт‰ріндесаќтауќажет.
Ассемблер тілінде жазылған программаны компьютер тіліне транслятор аударады. Ол да ассемблер деп аталады.Ассемблерлеуденкейін *.objкењейтілулерлі бар объекттімодульдердіњфайлдарыалынады. Объекттіфайлдардыалу ‰шінкомандалыќжолдапрограмманыњмєтіні бар файлдыњатынкµрсетіп, ассемблердіњсєйкесбаѓдарламасынорындауќажет (Microsoftфирмасыныњmasmжєнеml, Borlandфирмасыныњtasm, tasmxнемесеbasmбаѓдарламалары):
masm prog1.asm
tasm prog1.asm
Кµптегенжаѓдайларда файл атыныњалдынаопциялар беру ќажет.
Объекттімодульдерді бір файлѓабіріктіру процесі жинаќтаушыпрограммасыменіскеасырылады (мысалы, Microsoftфирмасыныњlink, Borlandфирмасыныњtlink). Нєтижесінде *.exeнемесе *.comкењейтілуі бар орындалатын файл алынады.
Программанытексерукезіндеєрт‰рліжµндегіштердіќолдануѓаболады. Ќазіргікездегіжµндегіштерпрограмманыњорындалупроцесіндежалпыміндеттірегистрлердіњнемесеайнымалылардыњмєндерінбаќылауѓа, µзгертугем‰мкіндікбереді. Сондайаќ, жадыныњєрт‰рлібµліктерінкµругеболады. ОларѓаMicrosoftфирмасыныњ сw - CodeView, Borlandфирмасыныњtd, td286, td386 - TurboDebuggerжµндегіштерінжатќызуѓаболады.
Ассемблер тілінде жазылған программа єрќайсысыєдетте бір жолдыалатын операторлар тізбегінен тұрады. Операторлар 2 топќа бөлінеді: командалар және директивалар (псевдокомандалар). Трансляция барысында командалар машиналық кодқа аударылады, алдирективаны трансляциялау бірден іске аса береді.
Ассемблер тілінде жазылған программа келесі түрде болады:
[ Белгі :] Мнемокод [Операндтар] [; Т‰сініктемелер]
Тік жақшаларѓа команданыњ міндетті емес µрістеріорналастырылѓан. Командалардыњ келтірілген µрістері бір-бірінен бос орын немесе ТАВ – табуляция белгісі арқылы ажыратылады. Белгі µрісі басқа командалар қатынас жасай алатынатауды, мысалы, басќаруды беру командалары, командаға меншіктеу үшін арналған. Белгіні аныќтаѓан кезде латын алфавитініњ єріптерін (a-дан z-ке дейін жєне A-дан Z-ке дейін), цифрлар (0-ден 9-ѓа дейін), сондай-аќ ‘_’,’?’,’@’,’$’ символдарын ќолдануѓа болады. Белгі қос нүктемен аяқталуы керек. Цифр бірінші символ ретінде ќолданыла алмайды. Бірінші символ ретінде @ символын ќолдану да ±сынылмайды, µйткені ассемблер тілінде кейбір алдын-ала аныќталѓан т±раќтылар мен аттар осы символдан басталады.
Мнемокод µрісі орталық процессордың командаларынан тұрады. Б±л µрісміндеттіболыптабылады. Б±л µріс пен м‰мкінболатынбелгіарасындаѓыбµлгішретіндекезкелгенсанды бос орындарќолданылады.
БИЛЕТ №2
1) Компьютердегі барлық есептеулер екілік санау жүйесінде, яғни екілік кодта іске асады. Сандарды он алтылық жүйеде келтіру сандардың екілік кодтағы қысқаша жазылуы болып табылады. Ол үшін төрт екілік разряд бір он алтылық разрядта жазылады. Бұл сандарды келтірудің екі форматынан басқа ондық, екілік-ондық (BCD) және ASCII – кодтар қолданылуы мүмкін.
Екілік код
Екілік кодты 0 және 1 екілік цифрларымен көрсетуге болады. Екілік санның белгісі болыпсоңынан қойылатын В әрпі болып табылады. Мысалы, 10101001В.
Екілік санның мәні әрбір биттің салыстырмалы позициясымен және бірлік биттердің болуымен анықталады. Байтқа жазуға болатын ењ ‰лкен сан келесі түрде болады:
Позициялық салмақтары: 128 64 32 16 8 4 2 1
Қосылған биттер: 1 1 1 1 1 1 1 1
Берілген жағдайда сегіз бірлік биттердің қосындысы 255 (1+2+4+...+128)-ге тең болады.
Ондық код
Ондық код 0-ден 9-ға дейінгі ондық цифрлардан тұрады.
Ондық санның белгісі болыпоныњсоңынан қойылатын D әрпі болып табылады. Егер санның соңында әріп болмаса, онда ол ондық сан ретінде қабылданады.
Он алтылық код
Он алтылық код 0-ден 9-ға дейіңгі цифрлардан және A-дан F-ке дейінгі әріптерден тұрады. Он алтылық санның белгісі болыпсоңынан қойылатын H әрпі болып табылады. Сан міндетті түрде цифрдан басталуы қажет.
1 кестеде 0-ден 15-ке дейінгі сандардың екілік, ондық және он алтылық мәндері келтірілген.
1 кесте
Екілік-ондық код (BCD)
Екілік-ондық сандар он алтылық цифрлармен жазылады. Екілік-ондық сандар жиналған немесе ашылған форматта берілуі мүмкін. Жиналған форматта байтта екі ондық цифр болуы мүмкін:
00-ден 99-ға дейін.
Ашылған форматта байтта кіші тетрадада бір цифр болады, ал үлкен тетрада нөлге тең:
00-ден 09-ға дейін.
ASCII - код
Микропроцессор мен принтер, пернетақта немесе дисплейдің арасындағы мәліметтермен алмасу үшін ASCII кодтар қолданылады. АSCII код (ақпаратмен алмасу үшін арналған американдық стандартты код) компьютерде алфавитті-цифрлық ақпаратты кодтау үшін қолданылады.
Мысалы, 0-ден 9-ға дейін цифрлар 48-ден 57-ге дейінгі (30h-тан 39h-қа дейін) ASCII кодтарға ие болады. "A" -дан "Z"-ке дейінгі үлкен әріптер 65-тен 90-ға дейінгі (41h-тан 5Ah-қа дейін), ал "а" -дан "z" –ке дейінгі кіші әріптер 097-ден 122-ке дейінгі (61h-тан 7Ah-қа дейін) ASCII кодтарға ие болады. Дисплейге нәтижені шығару үшін оны ASCII кодта көрсету қажет. Мысалы: дисплейге 17h санын шығару керек. Ол үшін алдымен оны ашу, ал содан кейін ASCII кодқа түрлендіру қажет.
Адрестеу режимдері
Командаларда бір немесе екі операнд, немесе мүлдем операндтар болмауы мүмкін. Командалардыњкµпшілігі, бірі – операнд-бастама, екіншісі – таѓайындау операндыболатынекіоперандтыќажететеді.
Команданыњ операндтарын беру тєсілдері адрестеу режимдерін анықтайды.
Мәліметтерге қатынас 3 типке бөлінеді:
- тікелей мәліметтерге қатынас;
- регистрлердегі мәліметтерге қатынас;
- жадыдағы мәліметтерге қатынас.
Бір операнд регистрде немесе жадыда орналасуы мүмкін, ал екіншісі міндетті түрде регистрде немесе тікелейкомандада болуы керек. Тікелей операнд тек ќанаоперанд-бастама бола алады.
Екіоперандтық машиналық командада келесі операндтар ‰йлесімдері болуы мүмкін:
- регистр—регистр;
- регистр—жады;
- жады—регистр;
- тікелей операнд—регистр;
- тікелей операнд—жады.
Тікелей адрестеу(тікелей операнд) – операнд команданыңөзінде беріледі, яғни оның мәні командалардыњ машиналық кодында жазылады.
Мысалы:
mov ах, 5
Ассемблер ах регистріне тікелей5мәнін ж‰ктейтін movкомандасына сәйкес келетін машиналық кодты генерациялайды.5 мєні mov командасының ассемблерленген машина кодында жазылады. Көптеген жағдайларда тікелей мєліметтер немесежалѓыз операнд, немесеекіоперандтыњекіншісіболыпкеледі.
Регистрлік адрестеу— операнд регистрдіњ бірінде орналасады.
Мысалы: movax, bx
Регистрлер ретінде келесілер қолданыла алады:
- 32- разрядты регистрлер:ЕАХ, ЕВХ, ЕСХ, EDX, ESI, EDI, ESP, EBP; - 16-разрядты регистрлер АХ, ВХ, СХ, DX, SI, DI, SP, ВР; - 8-разрядты регистрлер АН, AL, BH, BL, CH, CL, DH, DL;
-сегменттік регистрлер CS, DS, SS, ES, FS, GS.
3) DOS функцияларының екі кемшілігі бар:
1. Олар функционалдық пернелердің мүмкіндіктерін толығымен іске асырмайды.
2. DOS-тың пернетақталық функцияларытерминал режімінде жұмыс істеу үшін арналған. Символдарды оқу кезінде олар бірқатар қосымша операцияларды орындайды, бұл басқа терминал емес режімде оларды қолдануды ќолайсыз етеді.
BIOS DOS-пен салыстырғанда көп мүмкіндіктер береді. Мәліметтерді оқу және пернетақтаны басқару үшін, мысалы DOS функцияларымен Ctrl – Alt - Enter пернелерінің комбинацияларының немесе бір уақытта екі Shift пернесінің басылуынанықтауға болмайды. DOS басылған перненің қай уақытта жіберілгенін анықтай алмайды және DOS-та қолданушы енгізетін символды пернетақта буферіне енгізетін ungetch () функциясына ұқсайтын функция жоқ. Мұның бәрін 16h үзуінің әртүрлі функцияларын қолдану және пернетақта күйінің байттарымен болатын операциялар арқылы орындауға болады.
INT 16 h, АН = 0, 1Oh, 20h - Күтумен символды оқу. Енгізу: АН = 00h (83/84-key), 10h (101/102-key), 20h (122-key). Шығару: AL = символдыњASCII коды, 0 немесе скан-кодтың префиксі.
АН = басылған перненің скан-коды немесе кеңейтілген ASCII-код.
Пернетақтада әрбір пернеге тек осы пернеге арналған скан-код сәйкес келеді. Бұл код пернені әрбір басу және жіберу кезінде пернетақтадан жіберіледі және BIOS өңделеді (INT 9 ‰зуді µњдеушісі). 16hүзуі бұл өңдеушіні алмай басу кодын алуға мүмкіндік береді. Егер басылған пернегеASCII-символы сәйкес келсе, онда АН-қа бұл символдың коды, ал AL-ге перненің скан-коды қайтарылады. Егер басылған пернеге кеңейтілген ASCII-код сәйкес келсе, онда AL-ғаскан-кодтың префиксі (мысалы, сұр пернелер үшін ЕО) немесе 0 қайтарылады, егер префикс жоқ болса, онда АН -қа кеңейтілгенASCII-код. 00h функциясы тек 84-пернелік пернетақтаның пернелерінің комбинацияларын өңдеуге қолданылады, l0hбарлық 101- 105-пернелік және 20h - 122-пернелік комбинацияларды өңдейді. Пернетақтаның типін, егероныBIOSќолдаса,16h үзуініњ 09hфункциясыныњкµмегіменаныќтауѓаболады(бұл функцияны қолдайтынын 15h‰зуініњC0h функциясының кµмегімен анықтауға болады).
INT 16h, АН = 1, 11 h, 21h - Символды тексеру.Енгізу: АН - 0lh (83/84-key), llh (101/102-key), 21h (122-key).Шығару: ZF = 1, егербуфербос болса.
ZF = 0, егер буфердесимвол болса, бұл жағдайда:
AL = символдыњASCII- коды, 0 немесе скан-кодтың префиксі.
АН = басылған перненің скан-коды немесе кеңейтілген ASCII-код.
Символ пернетақтаның буферінде қалады, дегенменкейбір BIOS символды, егерол 84-пернелік пернетаќталардаболмайтынкењейтілгенASCII кодќасєйкесболатынболсабуферден 01h функциясын µњдеукезінде µшіреді.
INT 16h, AH = 05h - Символды пернетақтаның буферіне орналастыру.
Енгізу: AH = 05h
CH = скэн-код
CL = ASCII-код. Шыѓару: AL = 00, операция ойдаѓыдай орындалса
AL = 01h, егер пернетақтаның буфері толы болған жағдайда
AH көптегенBIOS-пен модификацияланады.
Билет
Пайдаланушылар регистрлеріРегистрлер – қатынас адрес бойынша емес, аты бойынша жүргізілетін процессордың ішінде орналасқан жадының арнайы ұяшықтары.
Регистрлер жинағыМикропроцессордың программалық моделі 32 регистрден тұрады. Оларды екі үлкен топқа бөлуге болады:
- 16 қолданушылық регистрлер;
- 16 жүйелік регистрлер.
Қолданушылық регистрлер. Қолданушылық регистрлерін программа жазушы өзінің программасын жазу барысында қолдана алады. Бұл регистрлерге жататындар:
- сегіз 32-битті регистрлер. Оларды программа жазушы мәліметтер мен адрестерді сақтау үшін қолдана алады (оларды сондай-ақ, жалпы міндет регистрлері деп те атайды): eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, ecx/cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp;
- алты сегменттер регистрлері: cs, ds, ss, es, fs, gs;
- қалып-күй және басқару регистрлері: жалаулар регистрі eflags/flags және команданы көрсету регистрі eip/ip.
Жалпы міндет регистрлері
Бұл топтың барлық регистрлері өзінің «кіші» бөліктеріне қатынауға мүмкіндікбереді; өздік адрестеу үшін осы регистрлердің тек кіші 16- және 8-битті бөліктерін қолдануға болады. Б±л регистрлердің үлкен 16 биті өздік объекттер ретінде р±ќсатты емес. Жалпы міндет регистрлері процессорда арифметикалыќ-логикалық құрылғының (АЛҚ) ішінде орналасатындықтан оларды АЛҚ регистрлері деп те атайды:
- eax/ax/ah/al (Accumulator register) — аккумулятор. Аралық мәліметтерді сақтау үшін қолданады. Кейбір командаларда бұл регистрлерді қолдану міндетті;
- ebx/bx/bh/bl (Base register) — базалық регистр. Жадыдағы қайсыбір объектінің базалық адресін сақтау үшін қолданады;
- ecx/cx/ch/cl (Count register) — санауыш-регистр. Командаларда қайсыбір әрекетті қайталау үшін қолданады. Оны қолдану көбінесе сәйкес команданың жұмыс алгоритмінде айќын емес және жасырынды. Мысалы, циклды ұйымдастыратын loop командасы қайсыбір адрес бойынша орналасқан командаға басқаруды беруден басқа есх/сх регистрінің мәнін талдайды жєне бірге азайтады;
- edx/dx/dh/dl (Data register) — мәліметтер регистрі. еах/ах/ ah/al регистрі сияқты бұл регистр де аралық мәліметтерді сақтайды. Кейбір командаларда оны қолдану міндетті. Келесі екі регистр тізбекшелі операцияларды қолдау үшін қолданылады, яғни бұл операциялар элементтер тізбекшелерін тізбекті түрде өңдейді, олардың әрқайсысының ұзындығы 32, 16 немесе 8 бит болады;
- esі/sі (Source Іndex regіster) — таратқыш индексі. Б±л регистр тізбекті операцияларда тізбек-таратқышта элементтіњ аѓымдаѓы адресінен тұрады;
- edі/dі (Destіnatіon Іndex regіster) — қабылдағыш индексі (қабылдап алушы). Тізбекті операцияларда бұл регистр тізбек-қабылдағышта аѓымдаѓы адрестен тұрады.
Микропроцессордың архитектурасында программалық – аппараттық деңгейде стек атты мєліметтер құрылымы пайдаланылады. Стекпен жұмыс істеу үшін микропроцессор командалар жүйесінде арнайы командалар бар, ал микропроцессордың программалық моделінде үшін арнайы регистрлер пайдаланылады:
- esp/sp (Stack Poіnter regіster) — стек көрсеткішініњ регистрі.
Ағымдағы стек сегментіндегі стек төбесінің көрсеткішінен тұрады.
- ebp/bp (Base Poіnter regіster) — стектіњ кадры базасыныњ көрсеткішініњ регистрі. Стек ішіндегі деректерге қатынауды өз еркінше ұйымдастыру үшін арналған.
2.Жадыдаоперандтардыадрестеудіңнегізгітүрлері.Жадыдаоперандтардыадрестеудіњнегізгітүрлері. Адрестеудіњбарлыќт‰рлерініњмақсаты — процессорѓатиімді адрес депаталатын 16 биттіктањбасызмєндіесептеугекµмектесу. Тиімді адрес, cs, ds, es, ssтµртсегменттікрегистрлердіњбіріменадрестелетінбазалыќсегменттенбастапығысудыкөрсетеді. Сегменттікрегистрменығысу, арыќарайжадыдабайттыњжаѓдайын бір маѓыналыаныќтайтын 20-биттік физикалықадрескет‰рленетін 32 биттіклогикалыќадрестіт‰зеді. Адрестеурежимініңжалпысанымикропроцессордыњархитектурасыменанықталады (құжатбойынша 8088 микропроцессорындаоперандтардыадрестеудіњ 24 режимі бар).Жадыдаоперандтардыадрестеудіњнегізгітүрлері: тура, жанама, базалық, индекстік, базалық-индексті.
3. Байт массивін қалай анықтайды?Байт – жадыда ең кіші адрестелетін шама. Байт 8 биттен тұрады.Байт (Б) (ағылш. Byte, B) — дерек көлемін өлшеу бірлігі. Сегіз биттен тұратын топ.
1)Байт (ағылшынша byte) — ЭЕМ-дегі символдық таңбаларды бейнелейтін сегіз разрядты екілік сан тізбегінен тұратын, адрестелетін мәліметтерді өлшеуге арналған ең кіші бірлік. Компьютер жадының бір ұясында бір Байт мәлімет сақталады. Бір Байт бір-бірімен қатарласа тізбек түрінде орналасқан 8 биттен, яғни екілік сан таңбаларынан тұрады. Мысалы, компьютерде “Е” әрпі 10000101, кіші “е” әрпі 10100101, “/” таңбасы 00101111, “8” саны 00111000 түрінде өңделеді. Бір Байт тек бір символды бейнелейтін ақпарат өлшеу бірлігі болғандықтан, оның көмегімен 256 символды (28=256) өрнектеуге болады. Компьютер жадының көлемі осы Байт бірлігімен өлшенеді. Ол үшін Байт бірлігінің еселік түрлері: килобайт — Кб (1 Кб=1024 Б=210Б.), мегабайт — Мб (210 Кб), гигабайт — Гб (210Мб) қолданылады. Мысалы, ЭЕМ-нің шапшаң жадының көлемі 32 Мб болса, онда 32Һ210 Байт (символ) ақпарат сақталынады. Ал, ЭЕМ-нің сыртқы жадында (магниттік дискілерінде) 1—8 Гб және одан да көп ақпарат сақтауға болады. Мысалы, 400 беті бар, әр бетінде 50 қатар, ал әр қатарда 50 таңба болатын кітаптың көлемін Байт арқылы есептесек, онда 400Һ50Һ50 = 1000000 Байт = 1 Мб (яғни көлемі 1 Гб дискі 1000 кітапты есте сақтай алады). Қатар орналасқан төрт Байт бір машиналық сөз болып есептеледі, ол 32 биттен тұрады. 64 биттен немесе 8 Байттан тұратын мәліметтер бірлігі екі еселенген машиналық сөз деп аталады. Компьютер осы машиналық сөздер тізбегін өңдейді. [1]
2)Байт (Byte) — 1) ақпарат мөлшерінің бірлігі немесе 8 битке (екілік цифр) тең компьютердегі жад. Айтарлықтай ірі ақпарат бірлігі: 1 килобайт (Кбайт) 1024 байтқа тең, ал 1 мегабайт (Мбайт) 1042 Кбайтқа тең; 2) адрес иемдене алатын ең аз бірлік. Әрбір байт мәліметтердің бір таңбасына — әріпке, цифрға немесе символға сәйкес келеді. Байттар — компьютердің қуатын өлшеудің немесе оның дискілердегі сақтауыш құрылғысының сыйымдылығының стандартты бірлігі. Өңделетінақпараттың нысаналық көлемі (жаңа есептеу құралдарында) — секундына 100 килобайт, өндеу көлемі — ақпараттың әрбір байтына 50—55 арифметикалық операция; 3) сегіз биттен және бір бақылау битінен түратын машиналық сөздің стандартты бөлігі. Әрбір байт компьютердебіртұтасбүтінретіндеөңделеді.
Билет
1.Жанама адрестеу кезіндегі адресті қалыптастыру режимдері.Жанама адрестеуЖанама адрестеуде сегменттегі сәйкес операндтыњ ыѓысуы микропроцессор регистрлерінің бірінде сақталады. Осылайша, микропроцессор регистрінің аѓымдаѓы ќ±рамы командада қолданылатын операндтың орындаушы адресін анықтайды. Синтаксистік т‰рде командада б±л адрестеу режимі регистрдіњ атын квадратты жаќшаѓа [ ] алумен кµрсетіледі.
mov ax, [ecx] командасы есх регистрінде сақталатын ыѓысумен мєліметтер сегментінен адрес бойынша сµздіњ ќ±рамын ах регистріне көшіреді.
Жанама адрестеу кезінде 18086 микропроцессоры ‰шін тек қана [ВХ], [SI], [DI], [ВР] регистрлерін ќолдануѓа болады. Бастапќы үш регистрлер ‰шін олардыњ ќ±рамы мєліметтер сегментіне ќатысты ыѓысу болып табылады (демек, DS сегменттік регистрініњ аѓымдаѓы мєні адрестіњ екінші ќ±рамасын аныќтайды). [ВР] регистрі адресті есептеу үшін стек сегментінде ығысуды анықтайды. ВХ немесе ВР регистрлерін қолдану кезінде адрестеуді базалық, ал SI немесе DI қолдану кезінде - индекстік деп атайды.
Жанама адрестеуді регистр арқылы қолдануын көрсету ‰шін жоѓарыда кµрсетілген мысалды т‰рлендірейік:
mov AX, OB800h;Бейнебуфердіњ сегменттік
mov ES, AX;адресі ES-те
mov BX, 2 0 0 0; Экранның ортасына ығысу
mov byte ptr ES : [BX] , ‘!’ ;Экрандағы символ
Егерде жанама адрестеу ВХ, SI немесе DI регистрлерініњ бірінің көмегімен орындалса, онда DS арқылы адрестелетін сегмент т‰сініледі, сондықтан б±л регистр арқылы адрестеу кезінде DS: белгілеуін түсіруге болады:
mov AX, 0B800h ;Бейнебуфердіњ сегменттік адресі
mov DS, AX ;DS-те
mov BX, 2000 ;Экранның ортасына ығысу
mov byte ptr [BX] , ' ! ' ;Экрандағы символ
Бұл фрагмент алдыңғыға қарағанда жадыны ‰немдеу маѓынасында тиімді. Соњѓы команданыњ кодында сегментті ауыстыру префиксі болмаѓандыќтан, ол 1 байтќа кем орын алады.
ВХ, SI және DI регистрлері бұл қолдануда тең мєнді, сондықтан олардың кез келгенін қолдануға болады:
mov DI, 2000;экранның ортасына ығысу
mov byte ptr [DI] , ' ! ' ;Экрандағы символ
ВР регистрі арнайы стекпен жұмыс істеуге арналған жєне жанама адрестеу режимдерінде б±л регистр арќылы адрестеу кезінде стек сегменті т‰сініледі, басќаша айтќанда, сегменттік регистр ретінде, ‰нсіздік бойынша SS регистрі қолданылады.
Базалық адрестеумен команда жадыда аз орын алады (өйткені оѓан ±яшыќ адрестері кірмейді) және тура адрестеу командасына қарағанда тез орындалады. Сондықтан базалық адрестеу, берілген адрес бойынша кµп рет ќаратпа жасауѓа тура келген жаѓдайларды, єсіресе, циклда, тиімдірек болып саналады.
I80386 жоѓары микропроцессорлар ‰шін жанама индексті адрестеу жєне база бойынша жанама адрестеу кењейтілген. Индекстік регистрлер ретінде барлық мєліметтер регистрлерін қолдануға болады - [ЕАХ], [ЕВХ], [ЕСХ], [EDX], және де үш индексті регистрлер - [ЕВР], [ESI], [EDI]. Бұл жағдайда т±раќты, немесе байт, немесе ќос сµз болуы мүмкін, жєне б±л т±раќты тањбасы бар сан ретінде қарастырылады.
[ЕВР] регистрінен басқа барлыќ регистрлер ‰шін адресті есептеу кезінде DS сегменттік регистрінің аѓымдаѓы ќ±рамы, ал [ЕВР] регистрі ‰шін - SS сегменттік регистрінің ќ±рамы қолданылады.
1. Offset операторы.mov BX,offset array ;Базалық регистрде массивтің базалық адресі
mov BX,offset array ; массив адресі
mov DI,offset bios ;Мерзімді сақтау үшін өріске ығысу
mov DX,offset bios ;жолға ығысу
mov DX,offset bios ;жолға ығысу
3. Бит массивін қалай анықтайды?Бит –байттың бір разряды, ақпараттың ең кіші өлшемі
Компьютерде ақпараттың ең аз бірлігі бит болып табылады. Бит 0 немесе 1 мәндерін қабылдау мүмкін.
Сегіз биттен құралған топ байт деп аталады. Байт разрядтары немесе биттер оңнан солға қарай 0-ден 7-ге дейін нөмірленеді:
Биттер нөмірлері: 7 6 5 4 3 2 1 0 Биттер мәндері: 1 0 1 0 1 0 0 1
Екі байт немесе он алты бит сөз болып табылады.
Сөздер оңнан солға қарай 0-ден 15-ке дейін нөмірленеді.
Биттер нөмірлері: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Биттер мәндері: 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0
Бұл сөзде 8-ден 15-ке дейінгі разрядты байт үлкен байт деп аталады және 10101010 мәніне ие болады, ал 0-ден 7-ге дейінгі разрядты байт кіші байт деп аталады және 11110000 мәніне ие болады.
Компьютердегі барлық есептеулер екілік санау жүйесінде, яғни екілік кодта іске асады. Сандарды он алтылық жүйеде келтіру сандардың екілік кодтағы қысқаша жазылуы болып табылады. Ол үшін төрт екілік разряд бір он алтылық разрядта жазылады. Бұл сандарды келтірудің екі форматынан басқа ондық, екілік-ондық (BCD) және ASCII – кодтар қолданылуы мүмкін.
Билет
1.Шартсыз көшу командаларының қолдану түрлері. Программада өтуді ұйымдастыруды қаматамасыз ететін микропроцессордың командаларын әрекет ету принципі бойынша үш топқа бөлуге болады:
1. Басқаруды шартсыз беру командалары:
- шартсыз өту командасы;
- процедураны шақыру және процедурадан қайту (шығу);
- программалық үзулерді шақыру және программалық үзулерден қайту;
2. Басқаруды шартты беру командалары:
3. Циклды басқару командалары:
Шартсыз көшу 5 т‰рде ќолданылуы м‰мкін jmpкомандасының көмегімен жүзеге асады. Кµшу келесідей болуы м‰мкін:
тура қысқа (-128 . . .+127 байттар шегінде);( Code segment
... jmp short go ; Код ЕВ dd ... go: ... code ends)
тура жақын (ағымдағы командалар сегменті шегінде);
тура алыс (команданың басқа сегментіне);
жанама жақын (кµшу адресімен ±яшыќ арќылы ағымдағы командалар сегменті шегінде);
жанама алыс (кµшу адресімен ±яшыќ арќылы басқа командалар сегментіне).
2.Нақты режімде физикалық адресті қалыптастыру. Нақты режимде физикалық жадыны адрестеу мханизмініњ келесі сипаттамалары бар:
физикалық адрестің өзгеру диапазоны 0-ден 1 Мбайтқа дейін. Бұл шама I8086 адресінің шинасыныњ 20 линиясы болуымен анықталады;
сегменттің ењ ‰лкен өлшемі 64 Кбайт. Ол I8086-ның 16-разрядты архитектурасымен түсіндіріледі. Осылайша, 16-разрядты регистрлерде болатын ењ ‰лкен мєн 216-1 ќ±райды.
Жедел жадыныњ нақты бір физикалық адресіне ќарапта жасау ‰шін сегменттіњ басыныњ адресін (сегменттік ќ±раманы) жєне сегменттіњ ішіндегі ыѓысуды аныќтау керек. Сегменттер жадыда параграфтар (параграф – 16 байттық жады көлемі) шекарасында орналасады 20 биттік мән – сегмент басына сәйкес келетін физикалық адрес болып табылады. Екінші компонент – ығысу, 16 биттік мән болып табылады. Бұл мән командада айќын немесе жалпы міндет регистрлерініњ бірінде жанама т‰рде болуы м‰мкін. Бұл екі кұраушы микропроцессорда аппараттық деңгейде ќосылады, нәтижесінде µлшемі 20 биттік жадыныњ физикалық адресі алынады. Физикалық адресті ќалыптастырудыњ берілген механизмі программалық қамтаманы қозғалмалы етуге мүмкіндік береді. i486 немесе Pentium (32 бит) микропроцессорыныњ адрес шинасыныњ µлшемі мен наќты режимніњ физикалыќ адресініњ 20 биттік мєнініњ сәйкес келмейтінін ескеру керек.