команда jmp

команда jmp

Як вивчити англійську

У наш час будь-яка людина має знати англійську мову. А тим більше програміст. Тому що досить велика частина документації існує тільки англійською. А професіонал не може чекати, поки хтось переведе йому документацію. Він повинен вміти швидко отримувати потрібну інфорамцію і використовувати її, незалежно від того, на якому вона мовою - англійською або російською. Посилання на курси з англійської.

Команда JMP - це команда безумовного переходу в Асемблері. Виконує, відповідно, безумовний перехід в вказане місце.

Синтаксис команди JMP такий:

МІТКОЮ може бути один з наступних:

Безумовний перехід в Асемблері виконується завжди і в будь-якому випадку, якщо у вихідному коді є інструкція JMP.

Ніякі прапори при виконанні цієї інструкції не змінюються.

Що таке безумовний перехід

Що таке мітка в Асемблері

Тепер трохи поговоримо про те, що таке мітка в Асемблері.

Мітка - це ідентифікатор, після якого слідує двокрапка. Ідентифікатор повинен бути складений за правилами складання ідентифікаторів для конкретної мови програмування

Приклад мітки в Асемблері:

Для чого потрібні мітки?

Для того, щоб управляти ходом виконання програми.

Наприклад, в залежності від результату виконання якоїсь команди, вам потрібно направити хід виконання програми по одному з двох шляхів. Тобто в залежності від результату виконати один з двох ділянок коду.

Тоді кожна ділянка коду позначається своєю влучною. І таким чином ви будете мати можливість пропустити якусь ділянку коду і відразу перейти до іншого ділянці.

У мовах високого рівня подібні дії називаються розгалуженням. і реалізуються за допомогою відповідних конструкцій мови (таких як if. then. else або case в Паскалі).

Приклад безумовного переходу

Спочатку давайте подумаємо, навіщо потрібен безумовний перехід.

Логічне запитання. якщо ми завжди і у всіх випадках пропускаємо ділянку коду, то навіщо нам тоді взагалі цю ділянку?

Питання закономірне, але тільки для новачка. Насправді бувають різні ситуації, коли цей перехід потрібен.

Приклад перший. не забувайте, що ви можете переходити по програмі не тільки вниз, але і вгору. Так що при першому проході ділянку коду можна пропустити, але, можливо, його доведеться виконати в залежності від умов, які з'являться далі в програмі. Як-небудь так:

Тут при першому проході програми ми пропускаємо ділянку коду 1 і відразу переходимо до мітці Label_2 (тобто до другого дільниці). Але у другій ділянці ми повертаємося до ділянки 1 (до мітки Label_1) і виконуємо його.

Приклад другий. може бути так, що якусь ділянку коду потрібно тільки для налагодження. Тоді можна зробити так:

Коли налагодження програми закінчена, ми прибираємо крапку з комою перед інструкцією JMP і оцінний код виконуватися не буде, так як буде виконуватися безумовний перехід на мітку Label_2.

А чому б просто не прибрати оцінний код?

Можна, звичайно, і прибрати. Але ви впевнені, що він вам більше не знадобиться?

В кінці як завжди розповім, чому ця команда асемблера називається JMP. Це скорочення від англійського слова J UMP. яке можна перевести як "стрибок, перехід".

Схожі статті