Ығыстырылуы бар базалық-адрестік адресациялау
Адрестелетін жады (байт немесе сөз). Операндтың салыс- тырмалы адресі екі регистрдің және ығыстырылудың қосынды- сы ретінде анықталады. Бұл адрестеу әдісі алдыңғы көрсетілген- нің дамытылған түрі болып табылады. Мұнда регистрлердің сол жұбы қолданылады, бірақ олардың көмегімен алынған нәтиже- лік адресті командада көрсетілген тұрақтының мәніне жылжы- туға болады. Базалық-индекстік адресациядағыдай тұрақты ин- дексті білдіруі мүмкін (және сонда регистрлердің біреуінде жа- дының базалық адресі орналасады), бірақ базалық адресте бола алады. Соңғы жағдайда регистрлер индекс құраушыларын сақ- тау үшін де қолданылады. Қарастырылып отырған адрестеу ре- жимі үшін келесі мысалды қарастырамыз.
Мәліметтер сегментінде 24 байттық массив анықталсын syms db 'ЙЦУКЕНГШЩЗХЪ'
db 'йцукенгшщзхъ'
командалардың тізбегі mov BX,12mov SI,6
mov DL,syms [BX] [SI];DL регистріне 6 индекстегі екінші қа-
тардағы элементті жүктейміз, яғни бұл ASCII кодындағы г коды болып табылады.
Дәл сондай нәтижені келесі нұсқадан да аламыз:
mov BX,offset syms mov SI,6
mov DL,12 [BX] [SI]
Бақылау сұрақтары:
- X мәнін СҰЛБА мәніне қалай жөнелтеміз?
- Келесі командалардың айырмашылықтары қандай: MOV [si], cx және MOV si, cx?
137
- Мына команда: MOV dx, offset message қандай адрестеу режиміне сәйкес?
- Келесі адрестеу нұсқаларында қандай сегменттер пайдаланылады: [BX] [SI], [BX] [DI], [BP] [SI], [BP] [DI]?
- Келесі нұсқауларды орындағанда не болады MOV AL, DS: 17h?
- Берілген команданың келесіден қандай айырмашылығы бар: MOV AL, DS: [17h]?
- Мәліметтер сегментінде келесі массив анықталсын: Array db 0,15,22,
31,44,45,62,67,76,99.
- AL регистрінде келесі команданы орындағаннан кейін қандай мән болады? MOV BX, 5
MOV AL, array [BX]
- Префикстер, оның түрлері және сегменттерді алмастыру префиксі?
- Жанама және базалық регистрлердің адрестелуін атап, айырмашылық- тарын көрсетіңіз.
- Базалық адрестеуді тура адрестеумен салыстырғандағы тиімділігін
көрсетіңіз.
Достарыңызбен бөлісу: |