Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Hoe zou je een programma schrijven dat het aantal klinkers telt in string-assembleertaal?
Hier is een stapsgewijze handleiding voor het schrijven van een programma in assembleertaal om het aantal klinkers in een string te tellen:

1. Het gegevenssegment instellen :

- Declareer de string als een array van karakters.

- Definieer een geheugenlocatie om het aantal klinkers op te slaan.

2. Stel het codesegment in :

- Begin met het beginpunt van het programma, meestal aangeduid met 'main' of 'start'.

3. Initialiseer het aantal klinkers :

- Zet het aantal klinkers aanvankelijk op nul.

4. Loop door de string :

- Gebruik een lus om elk teken in de string te doorlopen.

5. Controleer op klinkers :

- Gebruik binnen de lus voorwaardelijke uitspraken om te controleren of het huidige teken een klinker is.

- Veel voorkomende klinkers in het Engelse alfabet zijn 'A', 'E', 'I', 'O' en 'U', en hun equivalenten in kleine letters.

6. Verhoog het aantal klinkers :

- Als het huidige teken een klinker is, verhoogt u het aantal klinkers.

7. Beëindig de lus :

- Ga door met de lus totdat het einde van het touwtje is bereikt.

8. Geef het aantal klinkers weer :

- Gebruik systeemoproepen of bibliotheekfuncties om het aantal klinkers op de console weer te geven.

9. Verlaat het programma :

- Gebruik een systeemoproep om het programma succesvol af te sluiten.

Hier is een voorbeeld van hoe de assemblagecode eruit zou kunnen zien:

```montage

.gegevens

str:.asciiz "Hallo wereld!"

klinker_telling:.int 0

.tekst

.globale belangrijkste

voornaamst:

xor ebx, ebx; Initialiseer klinker_telling op 0

mov edi, str; Tekenreeksaanwijzer

mov al, [edi]; Krijg het eerste teken

lus:

cmp al, '$'; Einde van de reeks?

je weergave; Ja, spring om het aantal klinkers weer te geven

cmp al, 'A'; Controleer of het huidige teken 'A' is

je verhoging; Ja, ga naar het verhogen van het aantal klinkers

cmp al, 'E'; Controleer of het huidige teken 'E' is

je verhoging

cmp al, 'ik'; Controleer of het huidige teken 'I' is

je verhoging

cmp al, 'O'; Controleer of het huidige teken 'O' is

je verhoging

cmp al, 'U'; Controleer of het huidige teken 'U' is

je verhoging

cmp al, 'a'; Controleer of het huidige teken 'a' is

je verhoging

cmp al, 'e'; Controleer of het huidige teken 'e' is

je verhoging

cmp al, 'ik'; Controleer of het huidige teken 'i' is

je verhoging

cmp al, 'o'; Controleer of het huidige teken 'o' is

je verhoging

cmp al, 'u'; Controleer of het huidige teken 'u' is

je verhoging

verhoging:

inclusief ebx; Verhoog het aantal klinkers

incl. bewerking; Ga naar het volgende teken

jmp-lus; Spring opnieuw naar de lus

weergave:

verplaats eax, 4; Systeemoproep om te schrijven

mov ebx, 1; Bestandsbeschrijving (stdout)

mov ecx, str; Bericht om te schrijven

movedx, 13; Berichtlengte + teken voor nieuwe regel

systeemoproep; Systeemoproep plaatsen

verplaats eax, 1; Systeemoproep om af te sluiten

mov ebx, 0; Afsluitstatus (succes)

systeemoproep; Systeemoproep plaatsen

```

Deze code gaat uit van een Linux-omgeving en gebruikt de System V-aanroepconventies. Het initialiseert het aantal klinkers op nul, herhaalt de reeks, controleert elk teken op klinkers en verhoogt het aantal dienovereenkomstig. Ten slotte wordt het aantal klinkers weergegeven en wordt het programma met succes afgesloten.

Previous: Next:
  Computer Programming Languages
·Hoe te berekenen SHA1 voor een…
·Functiebeschrijving voor een M…
·Hoe maak je een spel te maken …
·Hoe de dubbele records in een …
·Hoe te lezen een gebruiker /Sy…
·Hoe maak Pauzes in een Turbo P…
·Hoe maak je een Kernel voor ee…
·Tips over Debuggen 
·Variant Gegevenstype 
  Related Articles
Hoe plaats je de datum in de MySQL-datab…
Waar kun je uitspraak leren op de comput…
Hoe zet ik normale tekst om in gebarenta…
Waarom gebruik je STP? 
Leg uit hoe bytes die toetsenbordtekens …
Hoe roep je een functie aan in GUI matla…
Hoe worden gegevens en instructies binai…
Laat je verschillende soorten lettertype…
Hoe typ je Franse accenten met een HP-la…
  Programmering Articles
·Hoe je Eigenaar Div Creëren 
·Hoe JUnit-testcases voor Threads in Java…
·Hoe te Access converteren naar MySQL 
·De voordelen van de Lente Meer dan Strut…
·Hoe te corrigeren een Syntax Error 
·Hoe E-mail versturen naar VB.Net System …
·Hoe te Minuten In DateTime 
·Java JButton & Functions 
·Hoe te gebruiken Ant Eclipse Met webOS 
Copyright © Computer Kennis https://www.nldit.com