Дата  Запланированые курсы
13.12 DEV-C-МP2. Модульная программа «Объектно-ориентированное программирование. Язык С++»
16.12 Работа в MS Excel. Расширенные возможности
16.12 DEV-C200. Объектно-ориентированное программирование на языке С++. Базовый уровень
17.12 CORTEX-M-RTOS. Разработка управляющих программ для МК систем управления с использованием многозадачных ОС реального времени
18.12 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
23.12 Автоматизация работы в Excel с использованием VBA
20.01 DEV-SWT110. Введение в технологии разработки программного обеспечения: разработка требований и проектирование
20.01 DEV-C210. Объектно-ориентированное программирование на языке С++. Углубленное изучение
28.01 DEV-PY200. Объектно-ориентированное программирование на языке Python
30.01 Linux-LF. Расширенное администрирование ОС Linux (ПП+)
17.02 DEV-C220. Прикладное программирование с использованием стандартов С++11, 14, 17, 20. Базовый уровень
25.02 DEV-J200. Java EE. Разработка корпоративных приложений
03.03 DEV-PYWEB. Разработка WEB приложений на языке Python
27.03 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
30.03 DEV-J210. Java EE. Разработка web сервисов
06.04 DEV-PYQT. Разработка оконных приложений Python c использованием Qt
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

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