Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2009, 17:21   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию четность числа

Здравствуйте, как можно проверить четность числа?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 22.11.2009, 17:56   #2
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Да очень просто - проверить первый бит на установленность
test eax,1
ZF=1 - значит нечетное
ZF=0 - четное.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 22.11.2009, 18:01   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Если требуется проверить четность содержащихся в числе единиц, то после test eax,eax установится или сбросится флаг PF
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 22.11.2009, 18:47   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

а если регистры 16 разрядные то также:
test ax,1
jn no
inc count

вот так примерно? вообщем нужно если число четное то увеличить счетчик?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 22.11.2009, 19:45   #5
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

test ax,1
jz no
inc [count]

А перехода JN и не существует

Можно еще так, используя способ предложенный goodwin98. Он предпочтительней:
test ax,ax
jp NO ; насколько понимаю после предыдущего сравнения, нулевой бит(с весом 2 в 0 степени = 1) будет перенесен в PF.
inc [count]
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 22.11.2009 в 19:48.
Ivan_32 вне форума Ответить с цитированием
Старый 22.11.2009, 20:37   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

я использую jne, все работает))
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 22.11.2009, 20:54   #7
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Нет я несколько ошибся. PF устанавливается не когда само число четное, а когда количество содержащихся в числе бинарных единиц четно.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 07.06.2010, 23:25   #8
semanterra_99
Новичок
Джуниор
 
Регистрация: 07.06.2010
Сообщений: 1
По умолчанию

Здравствуйте!
Дали задание: "Проверить число, которое пользователь ввел с клавиатуры на четность. Если число не четное, выводиться сообщение "Число не четное", если четное - "Число четное".
С Ассемблером только начинаю знакомиться, поэтому мне не под силу такое задание. Буду очень благодарна за код. Вы моя последняя надежда...Спасибо!

Последний раз редактировалось semanterra_99; 07.06.2010 в 23:28.
semanterra_99 вне форума Ответить с цитированием
Старый 15.06.2010, 10:51   #9
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

semanterra_99
гарантированно, чтобы ответили нужно привести код, который вы написали сами или описать ошибку, которая не дает вам создать программу а заниматься IT- попрошайничеством некрасиво
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как числа в двоичном виде вывести в столбик по 4 числа? Equalizer Общие вопросы C/C++ 11 27.09.2009 14:15
2 столбец для того, чтобы автоматически создавались числа, которые позволяли уравнивать числа в 3 столбце ppv Microsoft Office Excel 37 05.08.2009 21:19
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22
True или False, в зависимости от того, имеют три данных числа одинаковую четность DjVidan Помощь студентам 4 12.10.2008 22:02
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49