Вопрос № 174390: Задание на тему ОСОБЕННОСТИ РЕАЛЬНОГО РЕЖИМА МИКРОПРОЦЕССОРОВ 80386 и 80286. Написать подпрограмму, просматривающую битовую строку и заменяющую все имеющиеся последовательности "111" на "000". Адрес строки задается парой регист...
Вопрос № 174390:
Задание на тему ОСОБЕННОСТИ РЕАЛЬНОГО РЕЖИМА МИКРОПРОЦЕССОРОВ 80386 и 80286. Написать подпрограмму, просматривающую битовую строку и заменяющую все имеющиеся последовательности "111" на "000". Адрес строки задается парой регистров FS:DI, длина- регистром ECX. Для отладки подпрограммы составляется основная программа, определяющая необходимые структуры данных и вызывающая рабочую процедуру.
Отправлен: 20.11.2009, 17:06
Вопрос задал: ItGirl, Посетитель
Всего ответов: 2 Страница вопроса »
Отвечает amnick, 5-й класс :
Здравствуйте, ItGirl07.
Поскольку информация в вопросе не совсем полная — см. уточняющие вопросы в мини-форуме, моя функция написана в предположении, что - длина строки задается в битах - длина строки может быть не кратна 8 (тогда оставшиеся старшие биты предполагаются нулевыми) - строка может быть любого размера (в пределах сегмента 64К) - биты нумеруются от младшего к старшему в пределах байта, от младшего к старшему байтам при переходе между байтами. Младший байт расположен по меньшему
адресу.
Исходный код — в приложении. Компилировать: tasm bitstr.asm tlink /t bitstr.obj Проверял под Turbo Debugger.
Успехов!
Приложение:
Ответ отправил: amnick, 5-й класс
Ответ отправлен: 20.11.2009, 18:47
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256742
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Колесников Иван Владимирович, 1-й класс :
Здравствуйте, ItGirl07. Предлагаю свой вариант программы. В соём решении я использую специфичную для 386 команду bts. Из-за неполноты информации (см. вопросы в мини-форуме) в своей программе я предпологаю: 1) Длина строки задаётся в битах и может быть не кратна 8 2) Биты нумеруются от младшего к старшему, вся строка - единый массив бит
Идея хорошая! Но была ошибка в реализации. Тщательно проверяйте свои ответы.
-----
∙ Отредактировал: Лысков Игорь Витальевич, Модератор
∙ Дата редактирования: 21.11.2009, 00:53 (время московское)
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.