Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2010, 15:32   #1
Ra88
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 21
По умолчанию Симметричное отображение битов

Необходимо реализовать симметричное отображение битов с помощью ЛОГИЧЕСКИХ операций. Просел я с этой темой, догнать не могу

(например из ah в al
было: 10100111 00000000
стало: 10100111 11100101)
Ra88 вне форума Ответить с цитированием
Старый 24.09.2010, 15:46   #2
BVOG
Python,C++,ASM,Php
Пользователь
 
Аватар для BVOG
 
Регистрация: 29.08.2010
Сообщений: 58
По умолчанию

Попробуй по битно копировать данные в отражённый адрес.
Хакер - это не ламер с завышенным самомнением, а программист с заниженной зарплатой.
Нелегка и неказиста жизнь простого программиста.
BVOG вне форума Ответить с цитированием
Старый 24.09.2010, 16:50   #3
Vergo
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 38
По умолчанию

Команды сдвига вроде относят к логическим.
Получился такой вариант:

Предполагаем, что начальное значение лежит в AH.

Код:
            mov ah, 10100111b ;заносим начальное значение в Ah


            mov cx, 8        ;счетчик цикла
met:	rol ah, 1      ;7-й бит регистра Ah во флаг переноса и сдвиг Ah влево
	rcr al, 1      ;сдвиг AL вправо через флаг переноса
	loop met
А если команды передачи данных и команды управления потоком тоже не приветствуются, то вот чисто логический вариант:

Код:
          
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1
          rol ah, 1
          rcr al, 1

Последний раз редактировалось Vergo; 24.09.2010 в 19:36.
Vergo вне форума Ответить с цитированием
Старый 25.09.2010, 07:07   #4
Ra88
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 21
По умолчанию

Спасибо за помощь. Действительно, операции сдвига являются логическими
Ra88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
симметричное отображение Akimich Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 06.07.2010 07:39
5. Найти самое длиной симметричное слово заданного предложения. паскаль tipson Помощь студентам 8 08.07.2009 22:05
найти самое длинное симметричное слово Си++ xVeteRx Помощь студентам 3 10.04.2009 21:25
Самое симметричное слово Blad47 Паскаль, Turbo Pascal, PascalABC.NET 8 23.11.2008 17:12
Перестановка битов. RegentM Общие вопросы Delphi 3 05.11.2007 17:23