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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 17:22   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Смех Проверка числа на четность

Есть какое-то число в AX, как можно несложно проверить, четное оно или нет ?
Alex1991 вне форума Ответить с цитированием
Старый 05.11.2010, 18:57   #2
Vergo
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 38
По умолчанию

Как вариант, можно поделить AX на 2 и проверить, есть ли остаток.

Код:
	mov ax, 0FFFEh
	xor dx, dx
	mov cx, 2
	div cx
	
	or dl, dl
	jz .. ;переход, если AX было четное
Или это слишком сложно?

Тогда есть вариант проще

Код:
	mov ax, 0FFFEh
	test ax, 1
	jz ......   ;переход, если AX четное

Последний раз редактировалось Vergo; 05.11.2010 в 19:33.
Vergo вне форума Ответить с цитированием
Старый 05.11.2010, 20:28   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

подскажите а если хочу проверить на нечетность почему не так?:
test ax, 1
jne nechetnoe
Alex1991 вне форума Ответить с цитированием
Старый 05.11.2010, 20:35   #4
Vergo
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 38
По умолчанию

Тогда так:
Код:
	mov ax, 03h
	test ax, 1
	jnz ....  ;переход, если AX нечетное
Vergo вне форума Ответить с цитированием
Старый 05.11.2010, 20:41   #5
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Цитата:
Сообщение от Vergo Посмотреть сообщение
Тогда так:
Код:
	mov ax, 03h
	test ax, 1
	jnz ....  ;переход, если AX нечетное
Благодарю еще раз
Alex1991 вне форума Ответить с цитированием
Старый 05.11.2010, 20:42   #6
Vergo
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 38
По умолчанию

Хотя и с jne точно так же должно работать
Vergo вне форума Ответить с цитированием
Старый 06.11.2010, 11:31   #7
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

если значение из ах потом будет уже не нужно, можно короче сделать так
Код:
shr ax,1 ;сдвигаем все биты вправо с выносом крайнего в cf
jc not_chet ;проверяем флаг cf
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 06.11.2010, 12:00   #8
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Цитата:
Сообщение от yuran666666 Посмотреть сообщение
если значение из ах потом будет уже не нужно, можно короче сделать так
Код:
shr ax,1 ;сдвигаем все биты вправо с выносом крайнего в cf
jc not_chet ;проверяем флаг cf
ОК спасибо
Alex1991 вне форума Ответить с цитированием
Старый 06.11.2010, 12:38   #9
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

а если ax будет нужен то:
Код:
bt  ax, 0
jc  куда-то
x128 вне форума Ответить с цитированием
Старый 06.11.2010, 15:46   #10
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Цитата:
Сообщение от x128 Посмотреть сообщение
а если ax будет нужен то:
Код:
bt  ax, 0
jc  куда-то
таки это не короче, чем с test %)
тоже 4 байта
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
четность числа Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 15.06.2010 10:51
Проверка на простые числа Lemo Помощь студентам 1 29.09.2009 21:38
Проверка чётности числа Antoha79 Помощь студентам 3 23.05.2009 12:58
True или False, в зависимости от того, имеют три данных числа одинаковую четность DjVidan Помощь студентам 4 12.10.2008 22:02
проверка числа на дробность _ares_ Общие вопросы C/C++ 2 07.10.2008 10:35