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


-мысал test AX,1 jne label2: ; көшу, егер 0 биті АХ регистріне орнатылса; je label1: ; көшу, егер 0 биті АХ алынып тасталса. Мысалы



бет74/141
Дата26.09.2023
өлшемі3.68 Mb.
#478578
1   ...   70   71   72   73   74   75   76   77   ...   141
КОМПЬЮТЕРЛІК ЖҮЙЕЛЕР АРХИТЕКТУРАСЫ

1-мысал
test AX,1
jne label2: ; көшу, егер 0 биті АХ регистріне орнатылса; je label1: ; көшу, егер 0 биті АХ алынып тасталса.
Мысалы:

org 100h

; СОМ-файлдың басталуы

1

2

begin:

; программа кодының басталу белгісі

mov СX,< 1 сан>

; CX регистріне 1 санды жүктейміз <кез келген 1 сан >

mov BX,<2 сан>

; BX регистріне 2 санын жүктейміз <кез келген 2 сан >

test cx,bx

; cx және bx регистрлеріндегі сандарды логика- лық салыстырамыз

jne label2

; егер қарастырылып отырған мәндердің біреуі нөлден өзгеше болса, label2 белгісіне көшеміз

je label1

; егер қарастырылып отырған мәндердің біреуі нөлге тең болса, label1 белгісіне көшеміз

ret

; «программаны аяқтау» (орындалмайды) DOS функциясы

label1:

; Label1 белгісі бөлігінің басталуы

mov ah,9

; « (9) жолды шығар» деген мәнді АН регистрі- не сақтау.

mov dx,offset string

мәліметтер сегментінің басталуынан салыс- тырмалы String белгісінің ығыстырылуын DX регистріне орналастырады

int 21h

; «жолды шығару» функциясы

ret

; «программаны аяқтау» функциясы

String db 'bir san 0$ ten'

; баспаға берілетін мәліметтер жолы

label2:

; Label2 белгісі бөлігінің басталуы

mov ah,9

;

mov dx,offset string1

int 21h

;

145

1

2

ret

;

string1 db 'не равны 0$сызба

;

end begin

; программаның аяқталу белгісі

Бұл мысалда команда екі мәнді салыстырады, егер екі мән- нің біреуі нөлден өзге болса, онда 1 label көшеміз, әрі қарай ко- мандалар орындалады, бұдан кейін екі мәннің біреуі нөлге тең болса, онда 2 label көшеміз.
  • мысал

  • test SI,8
    jne bityes ; көшу, егер 3 бит SI орнатылса;
    je bitno ; көшу, егер 0 биті АХ алынып тасталса.
  • мысал

  • test DX,0FFFFh
    jz null ; көшу, егер DX=0 болса;
    jnz smth; көшу, егер DX 0-ге тең емес болса.
    NOT командасы
    NOT командасы (NOT Инверсия, 1-ге дейін толықтыру, ло- гикалық терістеу) көрсетілген операнд биттерінің инверсиясын орындайды, 0-ді 1-ге және керісінше. Операнд ретінде регистрді (сегменттік регистрден басқа) немесе өлшемі байт және сөз бо- латын жады ұяшығын алуға болады. Операндтың мәнін тікелей пайдалануға болмайды. Команда процессор флагтарына әсер ет- пейді.


    Достарыңызбен бөлісу:
1   ...   70   71   72   73   74   75   76   77   ...   141




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

    Басты бет