або
JE NAME; перейти, якщо результат операції впливає на прапор нуля - нульовий (перехід по "нулю"). p> 7.
JNZ NAME або
JNE NAME; перехід по В«не нулю". (Команди П6 і П7 виконуються за результатами виконання операцій над числами cо
знаком ).
КОМАНДИ УПРАВЛІННЯ циклами
1. LOOP NAME; ця команда неявно зменшує (CX) на 1 і здійснює перехід до ближньої міткою, якщо (CX) не дорівнює 0. <В
....
mov cx, 64h; блок операторів від мітки syc до loop syc
syc: ....; буде виконаний 100 разів.
....
loop syc
2. LOOPZ NAME або LOOPE NAME крім того здійснює перевірку ZF прапора. Тому цикл закінчується за умовою, коли (CX) = 0 чи (ZF) = 0 або і те й інше разом. Т.ч. ця команда служить для виявлення першого ненульового результату. p> 3. LOOPNZ, LOOPNE - Вихід з циклу по "нулю". <В
....
mov cx, 1000d; цикл може бути завершений раніше 1000
next : .... ; Проходу, якщо вміст акумулятора
.... ; Стане рівним 129, тобто рівним ASCII кодом
cmp al, 'Б'; літери Б.
loopnz next
9.3.9 КОМАНДИ ОБРОБКИ РЯДКІВ (ланцюжків байт)
1. LODSB ; команда lodsb завантажує байт адресований регістром SI з сегменту даних, і збільшує SI на 1, якщо перед цим була введена команда CLD (очистити прапор напрямки DF) і зменшує SI на 1, якщо була використана команда STD (Встановити прапор напрямку). <В
....
. DATA
string DB 'abcdefg'
. CODE
....
cld; після виконання цих команд у AL буде
mov si, OFFSET [string +2]; завантажений ASCII код ' з '
lodsb; причому вміст SI буде вказувати на 'd'.
2. MOVSB ​​; ця команда переміщує один байт з комірки пам'яті з адресою в регістрі SI в комірку пам'яті з адресою в регістрі DI і збільшує (SI) і (DI) на 1. Значення SI може перебувати, як у сегменті даних DS, так і в додатковому сегменті ES. Значення DI може знаходитися тільки в додатковому сегменті ES. <В
....
. DATA
msg DB ' Всі OK '
LEN = $ - msg; LEN одно 8