Ассемблер Х86 бойынша шартты және шартсыз операторлар
Автор: annelonalbek03 • Июнь 22, 2023 • Реферат • 2,204 Слов (9 Страниц) • 221 Просмотры
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ СӘТБАЕВ УНИВЕРСИТЕТІ
автоматика и информационные технологии институты
программная инженерия кафедрасы
[pic 1]
СӨЖ
Тақырыбы: ассемблер Х86 бойынша шартты және шартсыз операторлар
№ | Жұмысты орындау сапасы | Баға диапазоны | Орындалған % |
1 | Орындалған жоқ | 0% | |
2 | Орындалды | 0-50% | |
3 | Материялдық өзіндік жүйелендіру | 0-10% | |
4 | Талап етілген көлемде және көрсетілген мерзімде орындау | 0-5% | |
5 | Қосымша ғылыми әдебиеттерді пайдалану | 0-5% | |
6 | Орындаған тапсырманың ерекшелігі | 0-10% | |
7 | СӨЖ-ді қорғау | 0-20% | |
Қорытынды: | 0-100% |
Оқытушы: Марғұлан Қабылжан
Студент: Оңалбек Әнел
Мамандығы: computer science Алматы 2023 ж
Шартсыз ауысулар
Шартсыз ауысу-бұл әрқашан орындалатын ауысу. Шартсыз ауысу JMP командасының көмегімен жүзеге асырылады. Бұл командада бір операнд бар, ол тікелей мекен-жай (белгі), Регистр немесе мекен-жайы бар жад ұяшығы болуы мүмкін. Сондай — ақ, сегменттер арасында "алыс" ауысулар бар, бірақ біз оларды мұнда қарастырмаймыз. Шартсыз ауысулардың мысалдары:
jmp metka; белгіге ауысу
jmp bx; BX мекенжайына өту
JMP word [bx]; BX мекен-жайы бойынша жадтағы мекен-жайға өту
Шартты ауысулар
Шартты ауысу процессордың жалаушалары белгілеген белгілі бір шарт орындалса жүзеге асырылады (CX-ті нөлдік теңдікке тексеретін бір командадан басқа). Естеріңізде болса, жалаушалардың күйі арифметикалық, логикалық және басқа командаларды орындағаннан кейін өзгереді. Егер шарт орындалмаса, басқару келесі пәрменге өтеді.
Әр түрлі шартты ауысуларға арналған көптеген командалар бар. Сондай — ақ, кейбір командалар үшін синонимдер бар (мысалы, JZ және JE бірдей). Түсінікті болу үшін шартты ауысулардың барлық командалары кестеде келтірілген:
[pic 2]
Бұл командалардың барлығында бір операнд бар — өтпелі белгінің атауы. Кейбір командалар қол қойылмаған сандар үшін, ал басқалары қол қойылған сандар үшін қолданылатынын ескеріңіз. "Жоғары" және "төмен" салыстырулар қол қойылмаған сандарға, ал "үлкен" және "кіші" таңбасы бар сандарға қатысты. Қол қойылмаған сандар үшін толып кетудің белгісі CF жалауы және сәйкес JC және JNC ауысу командалары болады. Толып кету белгісі бар сандарды of туының күйі бойынша бағалауға болады, сондықтан JO және JNO ауысу командалары оларға сәйкес келеді. Өтпелі командалар жалаушалардың мәндерін өзгертпейді.
Мысал ретінде мен толып кетуді тексеретін белгісі бар екі санды қосуға арналған шағын бағдарламаны беремін. Толып кеткен жағдайда қате туралы хабар шығады. Сіз жарияланған айнымалылардың мәндерін ауыстыра аласыз, сондықтан толып кету оларды қосқан кезде пайда болады немесе болмайды және бағдарлама не шығаратынын көре аласыз.
CMP және TEST командалары
Көбінесе ауысу жағдайларын қалыптастыру үшін CMP және TEST командалары қолданылады. CMP командасы сандарды салыстыруға арналған. Ол sub командасына ұқсас орындалады: бірінші операндтан екіншісі алынады, бірақ нәтиже бірінші операндтың орнына жазылмайды, тек жалаушалардың мәндері өзгереді. Мысалы:
...