Воскресенье
17-11-2024
20:56
Главная страница
Каталог статей
Информист Приветствую Вас Гость | RSS
Регистрация
Вход
Меню сайта

Категории каталога
Delphi [3]
C++ [5]
Java [28]
программирование на Java
Assembler [4]
Алгоритмы на ассме
C# [1]
Eclipse [1]

Наш опрос
Что Вы веберете
Всего ответов: 230

Копилка
Если вам понравился наш сайт или вы нашли полезную информацию, то у вас есть возможность отблагодарить администрацию.

Начало » Статьи » Programming » Assembler

Проверка четности
Если у вас есть число и вам необходимо проверить является ли оно четным или все же оно нечетное, но при этом нет возможности воспльзоваться стандартными функциями и даже логическими, но есть всемогущие арифметические ), типа плюс, минус, умножить, разделить, тогда эта статья будет вам полезна.

Сначала опишу алгоритм:

1. Разделить имеющееся число на 2. При этом получим целую часть от деления.
2. Умножим полученный результат на 2.
3. Отнимем от последнего полученного результата исходное число.
4. Если получили отрецательное значение - исходное число - нечетное, если 0, то четное, можно например выполнить переход, если отрицательное.

Вот сокращенно формула, допустим, что в а исходное число:
result=(a/2)*2-a
result={-1;0}

Код на ассемблере:

start:
rd 70      ;допустим, что исходное число находится в ячейке с адресом 70, читаем число в аккумулятор
div #2    ;нацело делим на 2
mul #2   ;умножаем на 2
sub 70    ;отнимаем от результата исходное число (из ячейки 70)
jnz nenv ;переход, если результат не равен нулю, в данном случаен - отрицателен, т.е. исх.число - нечетное

;если четное выполняем действия
jmp ext

nenv:
;если нечетное выполняем действия

ext:


Категория: Assembler | Добавил: Judge (06-04-2008) | Автор: Администратор
Просмотров: 8576 | Рейтинг: 3.7 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск по каталогу
Яндекс


Поиск по Информисту

Наша кнопка


Друзья сайта

Статистика


Copyright MyCorp © 2006Сайт создан в системе uCoz