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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 20:52   #1
Марик73
 
Регистрация: 01.12.2011
Сообщений: 5
По умолчанию Проверка числа на чётность (Assembler)

Помогите пожалуйста разработать программу ввода числовых данных с клавиатуры, которая запрашивает десятичное число и проверяет его на чётность. Хотелось бы увидеть полный код, дабы разобраться пошагово. Заранее спасибо)
Марик73 вне форума Ответить с цитированием
Старый 29.05.2012, 21:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Полный код я тебе не дам, так как он от многих вещей зависит (ОС, битность программы и т.д.) Но вот проверку на четность...
Думаю она может выглядеть так:
Код:
   mov ax,3
   mov bx,2
   div bx
   cmp ah,0
   je go
   ret
  go:
   Действия при четности числа
Или проще:
Код:
mov ax,3
not ax
and ax,1
Если в ах будет 1 - число которое там было четное
I'm learning to live...

Последний раз редактировалось Stilet; 29.05.2012 в 21:29.
Stilet вне форума Ответить с цитированием
Старый 29.05.2012, 21:29   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Если речь об ассемблере X86 - вместо and чуть нагляднее использовать test, думаю.
Son Of Pain вне форума Ответить с цитированием
Старый 29.05.2012, 21:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
использовать test, думаю.
Ыть... Забыл про него
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2012, 21:59   #5
Марик73
 
Регистрация: 01.12.2011
Сообщений: 5
По умолчанию

Спасибо. А как примерно будет выглядеть вывод результата?
Извиняюсь за безграмотность в этом языке программирования...
Марик73 вне форума Ответить с цитированием
Старый 30.05.2012, 07:30   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как примерно
Примерно? Вот так:
Код:
message db 'результ = %d',0
...
cinvoke printf,message,eax
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.05.2012, 12:22   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

а если под DOS, то вот так:

Код:
value  db  ?
mess1 db "Чётное","$"
mess2 db "Нечётное","$"
...
test value, 1
jz go
lea dx, mess2
jmp vivod
go:
lea dx, mess1
vivod:
mov ah,9
int 21h
...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на чётность в C++ -KAZtrel- Помощь студентам 3 16.10.2011 14:23
не работает проверка на чётность Стас_с Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 04.08.2011 21:47
Assembler. Перевод числа. Corpinccom Помощь студентам 3 18.04.2011 18:42
Assembler (массив, разм-ю 9 байт, проверка наличия 3х единиц в коде эл-та) Exelence Помощь студентам 1 05.12.2010 20:05
assembler числа AlexandrHouse Помощь студентам 4 01.02.2010 19:03