Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Nastavte segment údajov :
- Deklarujte reťazec ako pole znakov.
- Definujte pamäťové miesto na uloženie počtu samohlások.
2. Nastavte segment kódu :
- Začnite so vstupným bodom programu, zvyčajne označeným ako „hlavný“ alebo „štart“.
3. Inicializujte počet samohlások :
- Na začiatku nastavte počet samohlások na nulu.
4. Slučka cez reťazec :
- Použite slučku na iteráciu každého znaku v reťazci.
5. Skontrolujte prítomnosť samohlások :
- Vo vnútri cyklu použite podmienené príkazy na kontrolu, či je aktuálny znak samohláska.
- Bežné samohlásky v anglickej abecede sú „A“, „E“, „I“, „O“ a „U“ a ich ekvivalenty s malými písmenami.
6. Zvýšte počet samohlások :
- Ak je aktuálny znak samohláska, zvýšte počet samohlások.
7. Ukončite slučku :
- Pokračujte v slučke, kým nedosiahnete koniec šnúrky.
8. Zobrazte počet samohlások :
- Použite systémové volania alebo funkcie knižnice na zobrazenie počtu samohlások na konzole.
9. Ukončite program :
- Na úspešné ukončenie programu použite systémové volanie.
Tu je príklad toho, ako môže kód zostavy vyzerať:
```montáž
.údaje
str:.asciiz "Ahoj svet!"
počet_hlások:.int 0
.text
.globálna hlavná
hlavné:
xor ebx, ebx; Inicializujte počet samohlások na 0
mov edi, str; Ukazovateľ reťazca
mov al, [edi]; Získajte prvú postavu
slučka:
cmp al, '$'; Koniec reťazca?
je displej; Áno, prejsť na zobrazenie počtu samohlások
cmp al, 'A'; Skontrolujte, či je aktuálny znak „A“
je prírastok; Áno, prejdite na zvýšenie počtu samohlások
cmp al, 'E'; Skontrolujte, či je aktuálny znak „E“
je prírastok
cmp al, 'I'; Skontrolujte, či je aktuálny znak „I“
je prírastok
cmp al, 'O'; Skontrolujte, či je aktuálny znak „O“
je prírastok
cmp al, 'U'; Skontrolujte, či je aktuálny znak „U“
je prírastok
cmp al, 'a'; Skontrolujte, či je aktuálny znak „a“
je prírastok
cmp al, 'e'; Skontrolujte, či je aktuálny znak „e“
je prírastok
cmp al, 'i'; Skontrolujte, či je aktuálny znak „i“
je prírastok
cmp al, 'o'; Skontrolujte, či je aktuálny znak „o“
je prírastok
cmp al, 'u'; Skontrolujte, či je aktuálny znak „u“
je prírastok
prírastok:
inc ebx; Zvýšte počet samohlások
inc edi; Prejdite na ďalší znak
jmp slučka; Znova prejdite do slučky
zobraziť:
ťah eax, 4; Systémové volanie na písanie
mov ebx, 1; Deskriptor súboru (stdout)
mov ecx, str; Správa na napísanie
mov edx, 13; Dĺžka správy + znak nového riadku
syscall; Uskutočnite systémové volanie
mov eax, 1; Systémové volanie na ukončenie
mov ebx, 0; Stav ukončenia (úspešné)
syscall; Uskutočnite systémové volanie
```
Tento kód predpokladá prostredie Linuxu a používa konvencie volania System V. Inicializuje počet samohlások na nulu, iteruje cez reťazec, kontroluje každý znak na samohlásky a podľa toho zvyšuje počet. Nakoniec zobrazí počet samohlások a úspešne ukončí program.