Дата  Запланированые курсы
20.01 Компьютерная верстка. Adobe InDesign
20.01 DEV-C210. Объектно-ориентированное программирование на языке С++. Углубленное изучение
20.01 DEV-SWT110. Введение в технологии разработки программного обеспечения: разработка требований и проектирование
27.01 Работа в MS Excel. Расширенные возможности
28.01 DEV-PY200. Объектно-ориентированное программирование на языке Python
29.01 Linux-LF. Расширенное администрирование ОС Linux (ПП+)
03.02 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
10.02 Средства растровой графики. Adobe Photoshop
10.02 Работа в MS Excel. Базовый уровень
17.02 Компьютерное проектирование в системе AutoCAD (базовый курс)
17.02 Трёхмерное моделирование. 3ds Max
17.02 DEV-C220. Прикладное программирование с использованием стандартов С++11, 14, 17, 20. Базовый уровень
24.02 Средства векторной графики. Adobe Illustrator
25.02 DEV-J200. Java EE. Разработка корпоративных приложений
02.03 AutoCAD для интерьеров
03.03 DEV-PYWEB. Разработка WEB приложений на языке Python
16.03 Основы создания веб-сайтов. Adobe Dreamweaver
16.03 Поисковая оптимизация (SEO)
16.03 Adobe After Effects. Создание анимации и эффектов
23.03 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
27.03 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
30.03 Поисковая оптимизация (SEO) для профессионалов
30.03 DEV-J210. Java EE. Разработка web сервисов
06.04 DEV-PYQT. Разработка оконных приложений Python c использованием Qt
13.04 Профессиональная верстка сайтов. HTML5 и CSS3
13.04 Веб-дизайн. Создание макетов сайтов
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

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
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.