Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
dino-4udo
-5 / 6 / 4
Регистрация: 16.12.2010
Сообщений: 68
#1

Дано масив из 6 байт. Рассматривая его, как масив с 48 бит, посчитать число 2х единиц, что расположены между нулями.

15.02.2011, 22:29. Просмотров 1523. Ответов 4
Метки нет (Все метки)

Ребят, помогите пожалуйста! не получается...

Дано массив из 6 байт. Рассматривая его, как массив с 48 бит, посчитать число 2х единиц, что расположены между нулями.

Добавлено через 22 минуты
...и если не сложно, можно с подробным комментарием (вам не сложно, а мне будет полезнее поучится у великих умов)

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 22:29
Ответы с готовыми решениями:

Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число переходов между нулями и единицами.
Ребят, помогите пожалуйста! осталось одну прогу сделать для зачета, не...

Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число нулей в этом массиве
Код для задания -Дан массив из 9 байт. Рассматривая его как массив из 72 бит,...

Дан массив из 6 байт. Посчитать количество байт число единиц, в которых не превышает 3.
Дан массив из 6 байт. Посчитать количество байт число единиц, в ко- торых не...

Дан массив из 9 байт расматривая его как массив 72 бит подсчитать число нулей в этом массиве.
Уважаемые форумчане мне очень нужна ваша помощь я обращаюсь к вам в первые по...

Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три.
помогите с задачкой! Дан массив из 10 байт. Посчитать количество байт с числом...

4
Mikl___
Автор FAQ
11528 / 5967 / 535
Регистрация: 11.11.2010
Сообщений: 10,964
16.02.2011, 05:18 #2
dino-4udo, используй команды сканирования бит bsf или bsr описание команд можно посмотреть в Иллюстрированный самоучитель по Ассемблеру
нашел единичный бит смотришь, что за ним (используй команду test или логические сдвиги shr/shl), если единица и следом за ней ноль -- увеличиваешь счетчик, иначе двигаешься к следующей единице
Программу пиши сам
0
dino-4udo
-5 / 6 / 4
Регистрация: 16.12.2010
Сообщений: 68
16.02.2011, 19:10  [ТС] #4
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mov al,[mas+8] ;массив должен быть чётного размера
sar al,7       ;это связано с особенностями shrd
mov [mas+9],al ;поэтому дополняем его
 
mov dl,[mas]
and dl,1
mov cx,71
xor di,di
l2:mov bx,-8
   l1:mov  ax,word[mas+10+bx]   ;сдвигаем массив на 1 бит вправо
      shrd word[mas+8+bx],ax,1
      add  bx,2
   jne l1
   mov   al,[mas] 
   and   al,1
   cmp   al,dl    ;сравниваем младший бит с предыдущим
   setne al        
   cbw
   add   di,ax    ;если не равны увеличиваем счётчик
   xor   dl,al    ;и инвертируем бит
loop l2
а под DEBUGом это как можно сделать?
0
Mikl___
Автор FAQ
11528 / 5967 / 535
Регистрация: 11.11.2010
Сообщений: 10,964
17.02.2011, 06:23 #5
dino-4udo
набери в GOOGLE в кавычках "Использование стандартного отладчика debug.exe" там отличная статья, но если я дам ссылку ее удалять согласно правилам форума

Добавлено через 22 минуты
для выделения крайнего справа единичного бита (01011000-->0001000) Y=X AND(-X)
TEST (2*Y),X проверяем нет ли слева единички и, если есть, TEST(4*Y),X проверяем нет ли за единицей нуля, а дальше для обнуления крайнего справа единичного бита (01011000-->01010000) используется формула X = X AND(X - 1) и ищем следующий крайний справа единичный бит...
0
17.02.2011, 06:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2011, 06:23

Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число переходов между нулями и единицам
Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число...

Дан массив из 8 байт. Рассматривая его, как массив из 64 бит, посчитать количество единиц
кто может, напишите пожалуйста, с ассемблером беда( 2. Дан массив из 8 байт....

ХЕЛП! Дан массив из 3 байт. Рассматривая его, как массив из 24 бит, посчитать ко
"Дан массив из 3 байт. Рассматривая его, как массив из 24 бит, посчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru