Дата  Запланированые курсы
20.11 MOC-20762. Разработка баз данных SQL
20.11 Работа в Mac OS X
20.11 Введение в тестирование программного обеспечения
20.11 Работа в MS Excel. Расширенные возможности
25.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
27.11 LINUX-ADM. Системное администрирование Linux
27.11 LINUX-ADM-CP. Модульная программа "Администратор Linux"
27.11 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
27.11 DEV-PYTHON. Прикладное программирование на языке Python
27.11 Maya (базовый курс)
27.11 Трёхмерное моделирование. 3ds Max
27.11 Трёхмерное моделирование. 3ds Max
27.11 Создание презентаций и подготовка выступлений (MS PowerPoint)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа II)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа I)
28.11 EMS-03. Встраиваемые системы искусственного интеллекта: нечеткая логика в задачах управления
29.11 CORTEX-M-RTOS. Разработка управляющих программ для МКСУ с использованием многозадачной ОС реального времени
04.12 Поисковая оптимизация (SEO)
04.12 Управление проектами (MS Project)
04.12 Adobe InDesign для профессионалов
06.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++ (Группа III)
06.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++ (Группа II)
06.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++ (Группа I)
11.12 Компьютерное проектирование в системе AutoCAD (базовый курс)
11.12 Трехмерное моделирование в архитектуре и дизайне интерьеров. 3ds Max
11.12 Профессиональная разработка сложных Web-систем (Объектно-ориентированный PHP)
11.12 Adobe After Effects. Создание анимации и эффектов
11.12 DEV-C23. Параллельное программирование на С++ (Стандарт С++11, С++14, С++17)
13.12 Автоматизация работы в Excel 2010 с использованием макросов (VBA)
18.12 Введение в тестирование программного обеспечения
08.01 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень (Группа I)
09.01 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень (Группа II)
15.01 DEV-PYTHON. Прикладное программирование на языке Python
15.01 LINUX-ADM. Системное администрирование Linux
15.01 UNIX-ARCH. Архитектура UNIX (Linux/FreeBSD/Solaris)
15.01 Adobe InDesign для профессионалов
15.01 DEV-P33. Профессиональная верстка. HTML5 и CSS3
15.01 Разработка пользовательских Web-интерфейсов (JavaScript)
15.01 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
22.01 Компьютерное проектирование в системе AutoCAD (базовый курс)
29.01 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
03.02 ORA-01. Основы Oracle SQL
05.02 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
05.02 DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования
12.02 Компьютерное проектирование в системе AutoCAD (базовый курс)
17.02 ORA-03. Основы PL/SQL
12.03 Введение в тестирование программного обеспечения
12.03 Введение в тестирование программного обеспечения
19.03 Компьютерное проектирование в системе AutoCAD (базовый курс)
16.04 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
14.05 Компьютерное проектирование в системе AutoCAD (базовый курс)
Открыт набор на осенний семестр в Академию информатики для школьников Открыт набор на осенний семестр на программы второго высшего образования
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

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