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


-сурет. Программаның орындалу нәтижесі DEC және JNZ командалары арқылы циклді ұйымдас- тыру (Үшінші әдіс)



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

81-сурет. Программаның орындалу нәтижесі
DEC және JNZ командалары арқылы циклді ұйымдас- тыру (Үшінші әдіс).
Осы операторлардың көмегімен Loop операторымен салыс-
тырғанда жылдам жұмыс істейтін циклдерді құруға болады. DEC және JNZ командаларын бірге қолдану CX регистрінің мә- нін 1 азайтады және СХ нөлге тең емес болса, белгіге көшуді орындайды. Сонымен қатар DEC командасы флагтік регистрдің мәнін өзгертеді. Ал JNZ командасы бұл тағайындауды тексереді JMP және LOOP командаларына ұқсас JNZ командасында опе- ранд команданың аяқталуы мен көшу адресінің арақашықтығы- нан тұрады, ол мән командалық сілтемеде көрсетіледі. Бұл ара- қашықтық -128 және +127 байт аралығында.
Келесі мысал жылдамырақ жұмыс істейді:

org 100h

; СОМ – файлдың басы

1

2

begin:

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

mov cx,10

; CX регистр (санағышқа) қайталау санын жүктейміз (санау 10- нан бастап 0-ге дейін)

151

1

2

Label1:

; белгі құрамыз (Label – белгі).

mov ah,9

; АН регистріне 9 жолды жылжытамыз.

mov dx,offset String

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

int 21h

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

dec cx

; DEC операторы CX бірге азайтады, егер ол нөлге тең болмаса, Label 1 белгісіне көшеді

jnz Label1

; Label 1 белгісі бар жолға шартты көшу

ret

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

string db 'Salem сызба,13,10,

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

end begin

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



Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   141




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

    Басты бет