107
cmp dst, src
ZF
CF
dst = src
1
0
dst < src
0
1
dst > src
0
0
Сакрашлар. Келтирилган шартлар бажарилгандан сўнг бирор амални
бажаришга тўғри келади. Бажарилиши керак бўлган юклашда сакраш (jump)
амалга оширилади. Cакрашлар ассемблер тилида jmp кўрсаткичи орқали
амалга оширилади. Бу кўрсаткичнинг умумий кўриниши қуйидагича: jmp
location. Бу шартсиз ўтиш амали саналади. Ассембрлаш тилида if шарти
ўтиш оператори мавжуд эмас. Шартли ўтишларни амалга оширишда ҳолат
байроқларидан фойдаланилади. Бу ҳолда ҳолат байроғига қараб кейинги
босқичга ўтиш ѐки сакраш амалги оширилиши бажарилади. Ассемблер
тилида 30 дан ортиқ шартли ўтиш ҳолатларидан фойдаланилади. Қуйидаги
жадвалда буларга мисоллар келтирилган.
Кўрсаткичлар
Изоҳ
jz loc
ZF = 1 бўлганда белгиланган соҳага сакраш
jnz loc
ZF = 0 бўлганда белгиланган соҳага сакраш
je loc
Jz билан бир хил фақат кўп ҳолларда cmp кўрсаткичидан кейин
ишлатилади. Масофадаги операнд жорий операндга тенг бўлса сакраш
ҳосил бўлади.
jne loc
Jz билан бир хил фақат кўп ҳолларда cmp кўрсаткичидан кейин
ишлатилади. Масофадаги операнд жорий операндга тенг бўлмаган
ҳолда сакраш ҳосил бўлади.
jg loc
Масофадаги операнд жорий операндан катта бўлган ҳолда cmp
кўрсаткичидан кейин фойдаланилади.
jge loc
Масофадаги операнд жорий операндан катта ѐки тенг бўлган ҳолда
cmp кўрсаткичидан кейин фойдаланилади.
ja loc
Jg билан бир хил фақат unsigned таққослашларда фойдаланилади.
jae loc
Jge билан бир хил фақат unsigned таққослашларда фойдаланилади.
jl loc
Масофадаги операнд жорий операндан кичик бўлган ҳолда cmp
кўрсаткичидан кейин фойдаланилади.
jle loc
Масофадаги операнд жорий операндан кичик ѐки тенг бўлган ҳолда
cmp кўрсаткичидан кейин фойдаланилади.
jb loc
Jl билан бир хил фақат unsigned таққослашларда фойдаланилади.
jbe loc
Jle билан бир хил фақат unsigned таққослашларда фойдаланилади.
jo loc
OF = 1 бўлса олдинги кўрсатмага ўтилади.
js loc
SF = 1 бўлса амалга оширилади.
jecxz loc
ECX = 0 бўлса белгиланган соҳага сакрайди.
III. НАЗАРИЙ МАТЕРИАЛЛАР
Do'stlaringiz bilan baham: |