2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Процедура удаления повторяющихся символов [Упр. asm]
Сообщение24.05.2011, 23:34 
Аватара пользователя
Есть записанный в память ЭВМ текст, нужно преобразовать этот текст по такому правилу:
В каждой группе следующих подряд одинаковых литер оставить только одну из них.
и это преобразование реализовать в виде процедуры

очень надеюсь на ваши подсказки, друзья

 
 
 
 Re: Ассемблер. Помогите с процедуркой, s'il vous plaît
Сообщение26.05.2011, 17:08 
2merci
Цитата:
В каждой группе следующих подряд одинаковых литер оставить только одну из них

Элементарно. Достаточно написать процедуру посимвольного копирования вашего текста из одного буфера в другой. Идея в том, чтобы в отдельной переменной (или регистре) хранить предыдущий просмотренный символ исходного текста, и если текущий символ равен предыдущему, то копирование (добавление символа в выходной буфер) производить не нужно.

Псевдокод:
Используется синтаксис ASM
    mov AL, 0 ; Or "call read_char_to_AL."
    djvu:
        mov BL, AL ; Save previous character.
        call read_char_to_AL
        cmp AL, BL ; RLE-like compression. :)
        je djvu ; If AL==BL goto djvu.
        call write_char_from_AL
        jmp djvu
 

 
 
 
 Re: Ассемблер. Помогите с процедуркой, s'il vous plaît
Сообщение29.05.2011, 13:58 
Аватара пользователя
Circiter
Спасибо Вам, дорогой друг )

 
 
 
 Re: Ассемблер. Помогите с процедуркой, s'il vous plaît
Сообщение16.12.2011, 22:54 
Assembler. Выручайте...
Обеспечить программный ввод информации с датчика оборотов, сигналами которого являются прямоугольные импульсы амплитудой 5 В и периодами от 0,1 мс до 100 мс.

 
 
 
 Re: Ассемблер. Помогите с процедуркой, s'il vous plaît
Сообщение17.12.2011, 09:52 
Аватара пользователя
В виндоусе и линуксе используется вытесняющая многозадачность. Поэтому обеспечить точность порядка 0.010-0.200 c не представляется возможным. Поэтому для ввода используют микроконтроллер.
В цикле читаешь данные с АЦП складываешь в буфер при заполнении буфера передаёшь данные по UART.
На компьютере принимаешь.

При оцифровки ещё надо сделать автоподстройку частоты. Это связано с тем что генераторы имеют разброс и со временем ошибка только накапливается.

 
 
 
 Re: Ассемблер. Помогите с процедуркой, s'il vous plaît
Сообщение17.12.2011, 11:55 
Не поможешь с листингом? Мне АЦП не не нужно, на микропроцессор поступают уже прямоугольные импульсы...

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group