Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сдвиг битов

57K
03 ноября 2010 года
xoks
11 / / 21.09.2010
есть задание : Дано 16 битное слово ..поменять местами 1 и 3 биты..


Как поменять эти биты..
используя команды shl и shr///
или как..помогите с кодом..
252
15 ноября 2010 года
koderAlex
1.4K / / 07.09.2005
зачем сдвигать ? есть команды битовых манипуляций :
bt,bts,btr,btc - флаг CF = значению бита + варианты (ничего , установка , сброс , инверсия) .
7
15 ноября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Видимо,ТС не зря указал,что использовать надо только ShR/ShL.Правда,тогда у меня идей нет:confused:
8.2K
15 ноября 2010 года
bagie2
299 / / 26.10.2008
такое вот у меня получилось

Код:
macro _get_bit_8b src,tmp,bit {
      mov tmp,src
      shr tmp,bit
      lahf
      shl ah,7
      shr ah,7
      shr ax,1
}

macro _xchg_1_3_bits_8b src,tmp {
      _get_bit_8b src,tmp,3
      _get_bit_8b src,tmp,2
      _get_bit_8b src,tmp,1
      _get_bit_8b src,tmp,4
      _get_bit_8b src,tmp,5
      _get_bit_8b src,tmp,6
      _get_bit_8b src,tmp,7
      _get_bit_8b src,tmp,8
}

mov dx,0xabfe ; dx <- input
_xchg_1_3_bits_8b dl,cl
mov ah,dh ; ax -> output


хотя мой способ извращенский)))

про простой я только сейчас прочитал, даже не подумал о нем))
взято с другого форума:
 
Код:
mov dx, ax
shr dx, 2
and dx, 10b
mov cx, ax
shl cx, 2
and cx, 1000b
or dx, cx
and ax, not 1010b
or ax, dx
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог