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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 16:00   #1
Intess
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 16
По умолчанию Подсчёт сколько раз встречается комбинация

Дано 16битное слово. Подсчитать сколько раз встречается серия 11.

Натолкните, пожалуйста, на алгоритм решения...
Intess вне форума Ответить с цитированием
Старый 20.11.2012, 16:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

алгоритм решения явно упирается в то, что в цикле нужно делать
and регистр, 03h
cmp регистр, 03h
если равно - увеличиваем счётчик
потом сдвигаем регистр вправо.

вопрос только в одном:
в числе 0000000000011111 (двоичная запись) сколько раз встречается серия 11 ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.11.2012, 20:25   #3
Intess
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
алгоритм решения явно упирается в то, что в цикле нужно делать
and регистр, 03h
cmp регистр, 03h
если равно - увеличиваем счётчик
потом сдвигаем регистр вправо.

вопрос только в одном:
в числе 0000000000011111 (двоичная запись) сколько раз встречается серия 11 ?
Спасибо большое, Вы очень помогли) задачу я вроде бы сделал...
Насчёт вопроса, я, честно скажу, не уточнял сам, но насколько я понимаю там будут отличия только в том на сколько сдвигать вправо?

и ещё один вопрос, я объявляю переменную и потом помещаю её в регистр AX...

Код:
a	dw	0000000000011111b
как бы я не менял запись ( нули и единицы) в АХ у меня помещается 20СD...не совсем понятно почему?
Intess вне форума Ответить с цитированием
Старый 20.11.2012, 22:18   #4
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Покажите, как помещаете
8Observer8 вне форума Ответить с цитированием
Старый 21.11.2012, 09:06   #5
Intess
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Покажите, как помещаете
вот так
Код:
mov ax, a
Intess вне форума Ответить с цитированием
Старый 21.11.2012, 09:52   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

В ax помещается 001Fh

Код:
.386
.model flat, stdcall
option casemap:none

include c:\masm32\include\kernel32.inc
includelib c:\masm32\lib\kernel32.lib

.data
a    dw    0000000000011111b

.code
start:
    MOV AX, a
    invoke ExitProcess, 0
end start
8Observer8 вне форума Ответить с цитированием
Старый 21.11.2012, 11:19   #7
Intess
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 16
По умолчанию

всем спасибо, проблему решил добавлением вот этой строчки

Код:
mov ax,	@data
mov ds,	ax
Intess вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сколько раз строка встречается в тексте. Алерон Помощь студентам 0 22.05.2012 21:42
Сколько раз одно слово встречается в другом daniil123 Паскаль, Turbo Pascal, PascalABC.NET 0 24.11.2011 22:28
Сколько раз слово встречается в строке ksu25 Паскаль, Turbo Pascal, PascalABC.NET 1 25.09.2009 15:53
Сколько раз в тексте встречается каждое слово. 08ekhiv1 Помощь студентам 2 11.03.2009 10:56
Сколько раз встречается данное слово n1k1c4 Помощь студентам 4 13.12.2007 20:33