|
Команди асемблера для Intel: INT, INTO, IRET, 386+ IRETD, Jcc,
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Команди асемблера для Intel: INT, INTO, IRET, 386+ IRETD, Jcc,
INT Програмне перериванняКоманда hit ініціює в процесорі процедуру переривання, в результаті якої управління передається на обробник переривання з номером n, який вказаний як операнд команди int. У стек поточної програми заноситься вміст регістра прапорів, сегментного регістра CS і покажчика команд IP, після чого в регістри IP і CS передається вміст двох слів з вектора переривання з номером n (розташованих по адресах 0:n*4 і 0:n*4+2). Команда скидає прапори IF і TF в 0. Команда iret, якою завжди завершується обробник переривання, відновлює початковий стан цих прапорів. Приклад 1 int 60h ;Переход на прикладній ;обробник переривання 60h Приклад 2 mov Ah,1 ;Функция MS-DOS - введення з ;клавіатури коди ASCII символу int 2h ;Вызов MS-DOS Приклад 3 mov АН, 0 ;Функция BIOS (переривання ;16h) - введення з клавіатури ;коди ASCII і скен-кода символу int 16h ;Вызов BIOS INTO Переривання по переповнюванню
Приклад add Ax,bx ;Произвольная команда into ;Вызов прикладного ;обробника через вектор 4 ;если Of=1 ... ;Продовження програми, якщо Of=0 IRET Повернення з переривання
386+ IRETD
Jcc Команди умовних переходів
Команда Перейти, якщо Умова переходу ja вище Cf=0 і Zf=0 jae вище або рівне Cf=0 jb нижче Cf=1 jbe нижче або рівне Cf=1 або Zf=1 jc перенесення Cf=1 jcxz Cx=0 Cx=0 je рівне Zf=1 jg більше Zf=0 або Sf=of jge більше або рівне Sf=of jl менше SF не рівне OF jle менше або рівне Zf=1 або SF не рівне OF jna не вище Cf=1 або Zf=1 jnae не вище і не рівне Cf=1 jnb не нижче Cf=0 jnbe не нижче і не рівне Cf=0 і Zf=0 jnc немає перенесення Cf=0 jne не рівне Zf=0 jng не більше Zf=1 або SF не рівне OF jnge не більше і не рівне SF не рівне OF jnl не менше Sf=of jnle не менше і не рівне Zf=0 і Sf=of jno немає переповнювання Of=0 jnp немає парності Pf=0 jns знаковий біт рівний О Sf=0 jnz не нуль Zf=0 jo переповнювання Of=1 jp є парність Pf=1 jpe сума бітів парна Pf=1 jpo сума бітів непарна Pf=0 js знаковий біт рівний Sf=1 jz нуль Zf= I
Приклад 1 cmp Сх,0 ;CX=0? je equal ;Если так, перейти па мітку equal Приклад 2 cmp Ax,1000 ;ПустьAx=8000h=32768 ;(=-32768) ja above ;32768 > 1000. Перехід буде Приклад 3 cmp Ax,1000h ;ПустьAx=8000h=-32768 ; (=32768) jg greater ;-32768 < 1000h. Переходу не буде Приклад 4 int 21h ;Вызов системній функції jc error ;Если Cf=1 (помилка), перейти ; на мітку error
Зверніть увагу на додаткові посиланняГоловний розділСторінки, близькі за змістомзагрузка...
|
Сторінки, близькі за змістом ![]() Асемблер (англ. assembler) — загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідна налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті ЦВМ і від її зв'язків з іншими незалежно трансльованими програмами. |
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|