Проверка на чет/нечет? - Assembler

Узнай цену своей работы

Формулировка задачи:

Как проверить число 5 на его четность/нечетность? К примеру: в регистр eax засовываю число 5(нечет) т.е xor eax,eax mov eax,5 - как узнать чет это число или нечет? Раньше думал мол можно так: сравниваю его cmp eax,eax и проверяю на нечетность т.е jnp result ;else jmp start но оно работает не так :/ (проверяет на нечетность число ЕДИНИЧНЫХ бит.)

Решение задачи: «Проверка на чет/нечет?»

textual
Листинг программы
  1. mov eax,5
  2.  
  3. test eax,1
  4. jz even
  5.  
  6. odd:
  7. ;действие, если число нечетное
  8.  
  9. jmp exit
  10.  
  11. even:
  12. ;действие, если число четное

Объяснение кода листинга программы

  1. mov eax,5 - в переменную EAX записывается число 5
  2. test eax,1 - в EAX происходит побитовое И с 1, результат сохраняется в CF (флаг результата)
  3. jz even - если CF=1 (то есть результат побитового И с 1 равен 0), то выполняется переход на метку even
  4. odd: - это метка, которая будет выполнена, если число нечетное
  5. jmp exit - происходит переход на метку exit
  6. even: - это метка, которая будет выполнена, если число четное

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы