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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 10:03   #1
Alisssa
Новичок
Джуниор
 
Регистрация: 08.11.2010
Сообщений: 2
По умолчанию дано 16-ти битное слово, найти первый ноль справа

Добрый день!
Прошу помощи в решении задачи. Знаю, что задача очень простая, но к сожалению никак не удается её сделать
Если кто-нибудь откликнется буду очень благодарна.

Задача:

Дано 16-ти битное слово, найти первый ноль справа.
Alisssa вне форума Ответить с цитированием
Старый 08.11.2010, 10:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как-то так:
Код:
 xor cx,cx
 mov ax,52365
loo:
 test ax,1
 je ok;
 shr ax,1
 inc cx;
 jmp loo
ok:
 ret
в сх будет номер первого нуля.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.11.2010, 11:28   #3
Alisssa
Новичок
Джуниор
 
Регистрация: 08.11.2010
Сообщений: 2
По умолчанию

Большое спасибо!
Alisssa вне форума Ответить с цитированием
Старый 08.11.2010, 11:54   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Alisssa
Код:
найдем номер крайнего справа бита в регистре BX, содержащего ноль
MOV BX,1000000000000111b
NOT BX;BX=0111111111111000b
BSF CX,BX;в CX номер крайнего правого единичного бита
NOT BX;восстановили BX, теперь CX=3 это номер крайнего правого нулевого бита

Последний раз редактировалось Mikl___; 08.11.2010 в 12:30.
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. Паскалька^^ Помощь студентам 5 19.10.2010 00:55
PASCAl ! Найти палиндромом(то есть его запись читается одинаково слева направо и справа на лево ) valerka92 Помощь студентам 4 25.04.2010 12:23
Delphi, ошибка деления на ноль, хотя знаменатель не ноль Эренка Помощь студентам 7 22.04.2010 15:56
Дано действительное число А. Найти среди чисел 1, 1+1/2, 1+1/2+1/3, ... svobodys Помощь студентам 0 09.12.2008 20:22
Найти числа,которые читаются слева-направо и справа-налево одинаково(например, 1001). Паскаль NikLik Помощь студентам 8 22.11.2007 23:00