Най-четените учебни материали
Най-новите учебни материали
***ДОСТЪП ДО САЙТА***
ДО МОМЕНТА НИ ПОСЕТИХА НАД 2 500 000 ПОТРЕБИТЕЛИ
БЕЗПЛАТНИТЕ УЧЕБНИ МАТЕРИАЛИ ПРИ НАС СА НАД 7 700
Ако сме Ви били полезни, моля да изпратите SMS с текст STG на номер 1092. Цената на SMS е 2,40 лв. с ДДС.
Вашият СМС ще допринесе за обогатяване съдържанието на сайта.
SMS Login
За да използвате ПЪЛНОТО съдържание на сайта изпратете SMS с текст STG на номер 1092 (обща стойност 2.40лв.)Език Асемблер. Кратко описание и примери за използване на команди за безусловен преход JMP, условен преход JZ |
![]() |
![]() |
![]() |
Език Асемблер. Кратко описание и примери за използване на команди за безусловен преход – JMP, условен преход – JZ, ако резултатът от предната операция е равен на нула, преход – JS, ако резултатът от предната операция е отрицателен, преход – JNS, ако резултатът от предната операция е положителен.
Това е команда за безусловен преход (вж. Фиг.2). Мнемоничен код – JMP – цел. Действие: Командата представлява безусловен преход към зададената цел. Различаваме три вида безусловни преходи: ü ако целта е вътре в област от [-126] до [+127] байта спрямо актуалния адрес, то преходът е къс (SHORT); ü ако целта е вътре в актуалния сегмент, се говори за вътрешносегментен преход (NEAR - Jump); ü за преход извън сегмента (FAR - Jump), кодовият сегмент и указателят на инструкциите се зареждат отново. Целта може да бъде зададена по два начина: - целта да бъде дадена като адрес или етикет – директен преход; - целта да се адресира индиректно, посредством регистър или клетка от паметта –индиректен преход. Примери: JMP адрес JMP етикет_Far JMP AX JMP етикет _Short JMP етикет_Near JMP BX.
Това е команда / инструкция за преход, когато резултатът от предната операция е нула (Jump if Zero). Идентично с една друга инструкция JE (Jump if Equal – Преход, ако е равно). Мнемоничен код – JZ – цел. Действие: Преминава към зададената цел, която трябва да се намира в областта от [-126] до [+127] байта спрямо инструкцията за преход, ако ZF(Zero Flag)=1 и ако резултатът от последната аритметично-логическа операция е 0(нула). В обектния код обаче не се появява абсолютният адрес на целта, а разстоянието между текущото съдържание на указателя на инструкцията (след зареждане на инструкцията за преход) и адреса на целта. Пример: JZ етикет.
Това е преход, ако флагът за знак е установен и е отрицателно число, т.е. ако резултатът от предната операция е отрицателен (Jump if Sign / Jump if Negative) Мнемоничен код – JS – цел. Действие: Преминава към зададената цел, която трябва да се намира в област от [-126] до [+127] байта спрямо инструкцията за преход, ако SF(Sign Flag)=1. В обектния код обаче не се появява абсолютният адрес на целта, а разстоянието между текущото съдържание на указателя на инструкцията (след зареждане на инструкцията за преход) и адреса на целта. Пример: JS етикет.
Това е преход, ако флагът за знак не е установен и е положително число (Jump if No Sign = Jump if Positive). Мнемоничен код – JNS – цел. Действие: Преминава към зададената цел, която трябва да се намира в област от [-126] до [+127] байта спрямо инструкцията за преход, ако SF(Sign Flag)=0. В обектния код обаче не се появява абсолютният адрес на целта, а разстоянието между текущото съдържание на указателя на инструкцията (след зареждане на инструкцията за преход) и адреса на целта. Пример: JNS етикет.
|