М. З. Якубова техника ғылымдарының кандидаты, доцент



бет68/141
Дата26.09.2023
өлшемі3.68 Mb.
#478578
1   ...   64   65   66   67   68   69   70   71   ...   141
КОМПЬЮТЕРЛІК ЖҮЙЕЛЕР АРХИТЕКТУРАСЫ

Мысалдар:

mov SI, offset string

; SI регистріне string ұяшығының салыстырмалы адресі жүктеледі

mov AX, [SI]

; string ұяшығындағы мәліметтер AX регистріне жүктеледі

inc [SI]

; string ұяшығының мәні артады

mov BX, [SI]

; string ұяшығының жаңа мәні BX регистріне жүктеледі

mov DI, SI

; string ұяшығының салыстырмалы адресі DI көшіріледі

136
Ассемблерде ығыстырылуларды келесідей де көрсетуге бо- лады: мысалы, 4 [ВХ] орнына [ВХ+4], 4+ [ВХ] немесе [ВХ] +4.
Ескерту. Әрине, мұндай әртүрлі белгілеулер тек қолдану- шыны шатастырады, егер біз деассемблерлік программалармен
жұмыс істегіміз келсе, оны білу керек.
Стекке қол жеткізу барысындағы ығыстырылуы бар базалық адрестеуге байланысты мысалды қарастырып көрейік:
ығыстыру = {SP, BP, DI, SI, BX} + командадан ығыстыру
мұндағы тік жақша [] оператор болып табылады. Адрес тік жақ- шаның және оның сыртындағысының қосындысы ретінде есеп- теледі.
array db 0, 10, 20, 30, 40, 50, 60; мәліметтердің сегментінде келесі массив анықталсын:
Командалардың тізбегі:
mov BX,5
mov AL,array [5] ; AL регистріне 5 элементті жүктеу, яғни 50. Дәл сондай нәтижені келесі командалардың тізбегінен аламыз: mov BX,offset array
mov AL,5 [BX]
немесе
mov AL, [BX] +5 mov AL, [BX+5]
Базалық-индекстік режим
Адрестелетін жады (байт немесе сөз). Операндтың салыс- тырмалы адресі келесі регистрлердің сақтайтын мәліметтерінің қосындысы ретінде анықталады:

ығыстырылу [BX] [SI]

(DS: ығыстырылу [BX] [SI] білдіреді)

ығыстырылу [BX] [DI]

(DS: ығыстырылу [BX] [DI] білдіреді)

ығыстырылу [BP] [SI]

(SS: ығыстырылу [BP] [SI] білдіреді)

ығыстырылу [BP] [DI]

(SS: ығыстырылу [BP] [DI] білдіреді)

Осы көрсетілген жағдайларды келесідей де жазуға болады:

Ығыстырылу [BX+SI]

[Ығыстырылу +BX+SI]

[BX+SI] + Ығыстырылу

Бұл кеңінен таралған адрестеу әдісі болып табылады, әсіресе массивтермен жұмыс барысында. Онда екі регистр пайдаланы- лады, олардың біреуі базалық (ВХ немесе ВР), ал біреуі – инде- кстік (SI немесе DI). Әдетте регистрлердің біреуінде массив ад- ресі, ал басқасында индекс және екеуінде не орналасқанының ешқандай айырмашылығы жоқ.


Достарыңызбен бөлісу:
1   ...   64   65   66   67   68   69   70   71   ...   141




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет