ХАНДЫФАР

Инструкция JNBE/JA


Переход, если не ниже или равно/выше. Числа без знака.


JNBE/JA rel8 - Короткий переход, если не ниже или равно/выше (CF=0 и ZF=0).

JNBE/JA rel16 - Близкий переход, если не ниже или равно/выше (CF=0 и ZF=0).


  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. code segment public
  5. ____assume cs:code
  6. ____main proc
  7. ________mov_____ax, 6
  8. ________cmp_____ax, 5
  9. ________jnbe____Skip_1
  10. ________mov_____bx, 2
  11. ________imul____bx
  12. ____Skip_1:
  13. ________mov_____ax, 5
  14. ________cmp_____ax, 6
  15. ________jnbe____Skip_2
  16. ________mov_____bx, 2
  17. ________imul____bx
  18. ____Skip_2:
  19. ________mov_____ax, 5
  20. ________cmp_____ax, 5
  21. ________jnbe____Skip_3
  22. ________mov_____bx, 2
  23. ________imul____bx
  24. ____Skip_3:
  25. ________mov_____ax, 4C00h
  26. ________int_____21h
  27. ____main endp
  28. code ends
  29. end main

Инструкция JNBE/JA


Переход, если не ниже или равно/выше. Числа без знака.


JNBE/JA rel8 - Короткий переход, если не ниже или равно/выше (CF=0 и ZF=0).

JNBE/JA rel16 - Близкий переход, если не ниже или равно/выше (CF=0 и ZF=0).


  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. code segment public _______; Начало сегмента кода
  5. ____assume cs:code
  6. ____main proc _____________; Начало процедуры main
  7. ________mov_____ax, 6______; Копируем значение 6 в регистр ax
  8. ________cmp_____ax, 5______; Выполняем сравнение значения в ax с числом 5
  9. ________jnbe____Skip_1_____; Если CF=0 и ZF=0, то прыгаем на метку Skip_1
  10. ________mov_____bx, 2
  11. ________imul____bx
  12. ____Skip_1:
  13. ________mov_____ax, 5______; Копируем значение 5 в регистр ax
  14. ________cmp_____ax, 6______; Выполняем сравнение значения в ax с числом 6
  15. ________jnbe____Skip_2_____; Если CF=0 и ZF=0, то прыгаем на метку Skip_2
  16. ________mov_____bx, 2______; Копируем число 2 в регистр bx
  17. ________imul____bx_________; Выполняем знаковое умножение ax на bx
  18. ____Skip_2:
  19. ________mov_____ax, 5______; Копируем значение 5 в регистр ax
  20. ________cmp_____ax, 5______; Выполняем сравнение значения в ax с числом 5
  21. ________jnbe____Skip_3_____; Если CF=0 и ZF=0, то прыгаем на метку Skip_3
  22. ________mov_____bx, 2______; Копируем число 2 в регистр bx
  23. ________imul____bx_________; Выполняем знаковое умножение ax на bx
  24. ____Skip_3:
  25. ________mov_____ax, 4C00h__; Копируем значение функции завершения процесса в ah а значение в al
  26. ________int_____21h _______; Вызываем прерывание DOS
  27. ____main endp _____________; Конец процедуры main
  28. code ends _________________; Конец сегмента кода
  29. end main __________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda