Мліметтерді компьютерде берілуі
БИЛЕТ №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 Мб болса, онда 32210 Байт (символ) апарат саталынады. Ал, ЭЕМ-ні сырты жадында (магниттік дискілерінде) 1—8 Гб жне одан да кп апарат сатауа болады. Мысалы, 400 беті бар, р бетінде 50 атар, ал р атарда 50 таба болатын кітапты клемін Байт арылы есептесек, онда 4005050 = 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 биттік мєнініњ сйкес келмейтінін ескеру керек.