Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> Computer Programming Languages >> .

Come scriveresti un programma che conta il numero di vocali nel linguaggio assembly delle stringhe?

Ecco una guida passo passo su come scrivere un programma in linguaggio assembly per contare il numero di vocali in una stringa:

1. Imposta il segmento di dati :

- Dichiara la stringa come un array di caratteri.

- Definire una posizione di memoria per memorizzare il conteggio delle vocali.

2. Imposta il segmento di codice :

- Inizia con il punto di ingresso del programma, solitamente etichettato come "principale" o "inizio".

3. Inizializza il conteggio delle vocali :

- Imposta inizialmente il conteggio delle vocali su zero.

4. Esegui il ciclo attraverso la stringa :

- Utilizzare un ciclo per scorrere ogni carattere nella stringa.

5. Controlla le vocali :

- All'interno del ciclo, usa le istruzioni condizionali per verificare se il carattere corrente è una vocale.

- Le vocali comuni nell'alfabeto inglese sono "A", "E", "I", "O" e "U" e i loro equivalenti minuscoli.

6. Incrementa il conteggio delle vocali :

- Se il carattere corrente è una vocale, incrementa il conteggio delle vocali.

7. Termina il ciclo :

- Continuare il ciclo fino a raggiungere la fine della corda.

8. Visualizza il conteggio delle vocali :

- Utilizzare le chiamate di sistema o le funzioni della libreria per visualizzare il conteggio delle vocali sulla console.

9. Uscire dal programma :

- Utilizzare una chiamata di sistema per uscire dal programma con successo.

Ecco un esempio di come potrebbe apparire il codice assembly:

"assemblea".

.dati

str:.asciiz "Ciao mondo!"

conteggio_vocali:.int 0

.testo

.principale globale

principale:

xor ebx, ebx; Inizializza vocal_count su 0

mov edi, str; Puntatore a stringa

mov al, [edi]; Ottieni il primo carattere

ciclo continuo:

cmp al, '$'; Fine della corda?

io display; Sì, passa alla visualizzazione del conteggio delle vocali

cmp al, 'A'; Controlla se il carattere corrente è "A"

je incremento; Sì, salta per incrementare il conteggio delle vocali

cmp al, 'E'; Controlla se il carattere corrente è "E"

sto incrementando

cmp al, 'io'; Controlla se il carattere corrente è "I"

sto incrementando

cmp al, 'O'; Controlla se il carattere corrente è "O"

sto incrementando

cmp al, 'U'; Controlla se il carattere corrente è "U"

sto incrementando

cmp al, 'a'; Controlla se il carattere corrente è "a"

sto incrementando

cmp al, 'e'; Controlla se il carattere corrente è "e"

sto incrementando

cmp al, 'i'; Controlla se il carattere corrente è "i"

sto incrementando

cmp al, 'o'; Controlla se il carattere corrente è "o"

sto incrementando

cmp al, 'u'; Controlla se il carattere corrente è "u"

sto incrementando

incremento:

incluso ebx; Aumenta il conteggio delle vocali

inc edi; Passa al carattere successivo

ciclo jmp; Vai di nuovo al loop

display:

movimento eax, 4; Chiamata di sistema per scrivere

movimento ebx, 1; Descrittore di file (stdout)

mov eccx, str; Messaggio da scrivere

mov edx, 13; Lunghezza del messaggio + carattere di nuova riga

chiamata di sistema; Effettua una chiamata di sistema

movimento eax, 1; Chiamata di sistema per uscire

movimento ebx, 0; Stato di uscita (successo)

chiamata di sistema; Effettua una chiamata di sistema

```

Questo codice presuppone un ambiente Linux e utilizza le convenzioni di chiamata System V. Inizializza il conteggio delle vocali su zero, esegue l'iterazione sulla stringa, controlla la presenza di vocali in ogni carattere e incrementa il conteggio di conseguenza. Infine, visualizza il conteggio delle vocali ed esce con successo dal programma.

 

Programmazione © www.354353.com