Дата  Запланированые курсы
05.08 Adobe InDesign для профессионалов
19.08 Автоматизация работы в Excel с использованием VBA
26.08 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
02.09 Управление IT- проектами
02.09 Поисковая оптимизация (SEO)
02.09 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
02.09 DEV-PYQT. Разработка оконных приложений Python c использованием Qt
02.09 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
09.09 Основы создания веб-сайтов. Adobe Dreamweaver
16.09 Поисковая оптимизация (SEO) для профессионалов
16.09 Разработка Web-приложений (Основы PHP)
30.09 Введение в тестирование программного обеспечения
30.09 Введение в тестирование программного обеспечения
30.09 Введение в тестирование программного обеспечения
21.10 Профессиональная верстка сайтов. HTML5 и CSS3
28.10 DEV-PYWEB. Разработка WEB приложений на языке Python
25.11 Поисковая оптимизация (SEO)
09.12 Поисковая оптимизация (SEO) для профессионалов
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Задачка на ассемблере
fixtor
#1 Оставлено : 4 декабря 2008 г. 23:21:06(UTC)
Ранг: Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 17.09.2008(UTC)
Сообщений: 18
Баллов: 54
Откуда: Petersburg

Пусть A и B – два 8-разрядных регистра в обыкновенном 16-разрядном процессоре. Следующая процедура выполняет сдвиг регистра A на число разрядов, заданное в регистре B.

Loop:
SHR A ; shift right A
DEC B ; decrement B
JNZ Loop ; loop again
Напишите программу, которая выполняет сдвиг быстрее. Пользоваться многократным сдвигом запрещено.

На мой взгляд любой сдвиг вправо - это деление исходного числа на 2^n, где n количество разрядов, на которые мы хотим сдвинуть. Но вот вопрос - быстрее ли. Буду рад выслушать любое мнение по этой задачке.
Спасибо!
Реклама
randomizer
#2 Оставлено : 10 августа 2011 г. 12:32:31(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 10.08.2011(UTC)
Сообщений: 1
Баллов: 3
Откуда: Moscow

Недавно столкнулся с такой же задачей, задали на собеседовании, но я не смог ответить (думал дофига Cursing). Потом уже дома в интернете наткнулся на интересный ответ цикл на ассемблере: hashcode.ru/questions/1683 на hashcode.ru. Вот так всё просто оказалось LOL
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.