Дата  Запланированые курсы
27.05 Средства растровой графики. Adobe Photoshop
28.05 Обработка и анализ данных в базах данных (SQL, MS Access)
29.05 Автоматизация работы в Excel с использованием VBA
03.06 MOC-20410C. Инсталляция и конфигурирование Windows Server 2012
03.06 Средства векторной графики. Adobe Illustrator
03.06 NET-DLINKSW. Технологии коммутации современных сетей Ethernet
03.06 Разработка баз данных (MS Access)
03.06 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
03.06 MOC-20744A. Безопасность инфраструктуры средствами Windows Server 2016
03.06 Adobe Photoshop для профессионалов
03.06 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
03.06 Основы алгоритмизации и программирования (Группа I)
17.06 Поисковая оптимизация (SEO)
17.06 DEV-J-CP. Комплексная программа "Разработчик прикладного программного обеспечения (Язык Java)"
17.06 Adobe InDesign для профессионалов
17.06 DEV-J-MP+. Расширенная комплексная программа "Разработчик прикладного программного обеспечения (Язык Java)"
17.06 DEV-J10. Программирование на платформе Java. Введение в язык Java
17.06 DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования
20.06 DEV-PYQT. Разработка оконных приложений Python c использованием Qt
24.06 DEV-J20. Программирование на платформе Java. Стандартные пакеты
24.06 Linux-MP. Модульная программа «Архитектура и администрирование Linux»
24.06 Linux-LE. Основы архитектуры и администрирования Linux
01.07 Поисковая оптимизация (SEO) для профессионалов
01.07 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
08.07 Профессиональная верстка сайтов. HTML5 и CSS3
08.07 Введение в тестирование программного обеспечения
08.07 Linux-LF. Расширенное администрирование ОС Linux
15.07 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
15.07 Adobe Photoshop для профессионалов
02.09 Управление IT- проектами
02.09 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
02.09 DEV-PYWEB. Разработка WEB приложений на языке Python
02.09 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
09.09 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
16.09 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
30.09 Введение в тестирование программного обеспечения
30.09 Введение в тестирование программного обеспечения
30.09 Введение в тестирование программного обеспечения
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

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