Индекстелумен және масштабталумен база бойынша адресация
Бұл адресациялаудың ең толық схемасы, мұнда барлық жағдайлар қарастырылған, яғни олар бұдан бұрын жеке түрде қарастырылды. Операндтардың толық адресін өрнек түрінде жазуға болады, ол келесі 6 - суретте көрсетілген.
Ығысу екілік сөз немесе байт болуы мүмкін. Егер ESP немесе EBP базалық регистр ретінде қолданылса, онда операнд сегментінің селекторы келісім бойынша SS регистрінен алынады, ал қалған жағдайдың барлығында – DS регистрі пайдаланылады.
Негізгі әдебиеттер: 2[12-20]; 3[10-43]
Бақылау сұрақтары:
1. Жадыда орналасқан, операндтарды адресациялау әдістерін атаңыз?
2. 8086 МП қандай регитрлер операндтар адресінен тұруы мүмкін?
3. Екілік сөз, сөз массивтерімен жұмыс жасау үшін қолданылатын ыңғайлы адресация әдістері?
4. Толық адресациялау формасына мысалдар кетіріңіз?
Дәріс №6. і80х86 микропроцессор командалар жүйесіне шолу
і80х86 микропроцессорлар тобының барлығы і8086 командалар жиынымен жұмыс істейді. Командалар жиынын келесі топқа бөлуге болады: деректерді алып-орналастыру командалары, басқару тізгінін ауыстыру командалары, екілік разрядтармен жұмыс командалары, тізбекті командалар, үзу командалары және микропроцессорды басқару командалары.
Деректерді алып орналастыру командалары
Алып орналастыру командалар белгілерді, адрестерді, деректерді алып орналастыру үшін қолданылады.
MOV – жалпы міндетті алып-орналастыру командасы. Байтты және сөзді алып орналастырады
Команда форматы: MOV <қабылдағыш>,<таратқыш>
Қабылдағыш ретінде регистр немесе жады ұяшығы қолданылуы мүмкін , ал таратқыш ретінде - регистр, жады ұяшығы және тікелей операнд (тұрақты) қолданылады.
MOV командасында келесі жағдайлардың болуы мүмкін емес:
a) бір жады ұяшығының мәнін екіншіге алып орналастыру;
б) бір жады ұяшығының мәнін сегментті регистрге немесе керісінше алып орналастыру;
в) бір сегментті регистрдің мәнін екінші сегментті регистрге алып орналастыру;
Бұл көшіруді аралық регистр арқылы орындауға болады. Аралық регистр ретінде SP-дан басқа жалпы міндеттік регистр қолданылды. MOV командасында рұқсат берілген алып орналастырулар: регистр - регистр, регистр - жады, тұрақты - регистр, тұрақты - жадыға, жады-регистр.
Мысалы: 2 0MOV AX,DX
MOV AX,FLDA[SІ]
MOV FLDA,AX
MOV AL, 22H
MOV FLDA[BP][SІ],33H
PUSH - Сөзді стекке жазу командасы
Команда форматы: PUSH <таратқыш>
Таратқышретінде регистр немесе жады ұяшығы қолданылады.
Мысалы: PUSH CX
PUSH TABL
POP -Сөзді стектен оқу командасы
Команда форматы: POP <қабылдағыш>
қабылдағыш ретінде регистр немесе жады ұяшығы қолданылады.
Мысалы: POP BX
POP TABL
XCHG -Сөздерді немесе байттарды ауыстыру командасы
Команда форматы: XCHG операнд1, операнд 2
операндтар есебінде регистрларды және жады ұяшықтарын келесі түрде алуға болады:
регистр-регистр, регистр-жады.
Мысалы: ХСHG AX,DX
XCHG BX,A[SІ]
XLAT -Қайта кодтау командасы
Команда форматы: XLAT таратқыш_кестесі
XLAT командасын пайдаланғанда, қайта кодталатын элементтің нөмірі AL регистріне енгізіледі, ал таратқыш кестесінің адресі BX регистріне енгізіледі. XLAT командасы
орындалғаннан кейін нәтиже AL регистріне енгізіледі.
Мысалы:
; деректер сегментінде
ASCІІ DB '0123456789'
; кодтар сегментінде
MOV BX, OFFSET ASCІІ
MOV AL, 5
XLAT ; AL=35H
Дата добавления: 2015-10-26; просмотров: 1252;