Witam,
Mam do napisania taki o to program w Assemblerze:
Program do analizy danych w pliku tekstowym (nazwa pliku podawana przez użytkownika).
1.Zwraca liczbę znaków,
2.Zwraca statystę występowania poszczególnych liter w tekście.
Zostało mi do napisania drugi punkt czyli statystykę występowania liter.
Mniej więcej mam pomysł jak to można zrobić, ale moje umiejętności w tym języku są nie wielkie.
Więc tak myślałem zrobić sobie tablicę na 256 DWORD i zwiększać element w tej tablice odpowiadający kolejnemu wczytanemu z pliku znaku. Ale kompletnie nie wiem jak to napisać.
Proszę o pomoc.
Pozdrawiam.
nubmas666
0
1
To akurat jest generalnie dość proste czego ci brakuje :) Załóżmy że masz tablicę zliczanie
. To będzie dla 16 bitów ale dla 32 będzie wyglądać praktycznie tak samo
- Pobierasz znak z pliku, powiedzmy że masz go w
al
- Wyliczamy sobie adres w tablicy zliczeń gdzie mamy coś zliczyć
xor ah, ah
mov si, offset zaliczanie
add si, ax
voila, teraz odwołanie do ds:[si]
zwróci nam aktualny licznik dla znaku z al
.
3. Wczytujemy aktualną wartość, podbijamy i zapisujemy.
mov bx, ds:[si]
inc bx
mov ds:[si], bx
I już.
0
Jeśli możesz mi jeszcze podpowiedzieć jak pobiera się jeden znak z ciągu tekstowego,albo z pliku.txt to już dalej sobie poradzę. (Mam nadzieję :D)
0
I jeszcze frytki do tego? Otwórz manual do int 21h
i poszukaj tam otwierania pliku i czytania z pliku.