🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #172

Re: Wyszukiwanie i zmiana lancuchow znakowych w podanym tekscie

#172
From: Bogdan (bogdro)
Date: Wed, 29 Mar 2006 15:11
49 lines
3350 bytes
jamicque napisał(a):
> Witam, jestem poczatkujacy jezeli chodzi o assemblera i trafil mi  sie
> calkiem niefajny projekt na ktory mam 2 tygodnie. Tresc projektu
> brzmi:
> "Wyszukiwanie i zmiana lancuchow znakowych w podanym tekscie. Dane
> wejsciowe:
> tekst roboczy, lancuch do wyszukiwania, lancuch do zmiany, opcje
> wyszukania: "wyszukuj cale slowa" oraz "ignoruj wielkosc liter"."
> Ps. jeszcze ma obslugiwac polskie litery
> 
> Jezeli chodzi o assmeblera to dopiero zaczynam... umiem dopiero proste
> operacje matematyczne,
> ma ktos moze chec mi pomoc?? jakas idea zrobienia tego programu itd

 Zajrzyj do mojego kursu: http://rudy.mif.pg.gda.pl/~bogdro, a
szczególnie tu: http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs16.htm

 Algorytm jest z grubsza taki:
1. ustawiasz DI na początek badanego tekstu.
2. ustawiasz SI na łańcuch znaków do znalezienia, CX na jego długość
3. rep** cmpsb powie ci, czy już znalazłeś tekst
4. Jeśli tak, to ustawiasz SI na tekst zastępujący, cofasz DI, rep
movsb, jmp 2.
5. Jeśli nie, to DI++ && jmp 2 dopóki DI + długość tekstu szukanego <=
długość tekstu badanego.

 Gotowe skrawki kodu masz na mojej stronie.

 Ignoruj wielkość liter: najedź na oba teksty pętlą zamieniającą albo
na małe, albo na wielkie litery i powtórz powyższe. Operacja zamiany
jest tu: http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs13.htm (zmiana
bitu numer 5, jeśli znak jest w danym zakresie).

 Wyszukuj całe słowa: Do wyszukiwanego tekstu dorób z przodu i z tyłu
po spacji. W zasadzie to można zrobić zawsze i w zależności od opcji -
albo ją uwzględniać, albo nie. Kwestia właściwego ustawienia SI i CX.

 Polskie litery - niewiele nam to mówi. Jeśli jest to standard
ISO-8859-2 lub (nie-)standard Windows-1250, to na mojej stronie jest
programik o nazwie 'bez_pol.txt' (raz w sekcji DOS, raz w sekcji
Linux), usuwający polskie znaczki z tekstów. Po co ci to? Aby poznać
kody ASCII polskich znaczków, jeśli będzie potrzeba zmiany wielkości
liter. Tylko po to.

-- 
Pozdrawiam, Bogdan                                  (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Prawdziwy, bezpieczny komunikator:                   www.JabberPL.org
Technical Details
Message-ID: <e0e833$uk$1@atlantis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <1143635883.755257.234300@z34g2000cwc.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@bogdan.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Wyszukiwanie i zmiana lancuchow znakowych w podanym tekscie
Date: Wed, 29 Mar 2006 17:11:08 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 49
Message-ID: <e0e833$uk$1@atlantis.news.tpi.pl>
References: <1143635883.755257.234300@z34g2000cwc.googlegroups.com>
NNTP-Posting-Host: acqz159.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1143645091 980 83.11.1.159 (29 Mar 2006 15:11:31 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Wed, 29 Mar 2006 15:11:31 +0000 (UTC)
User-Agent: Thunderbird 1.5 (X11/20051201)
In-Reply-To: <1143635883.755257.234300@z34g2000cwc.googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit