Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
Como você escreveria um programa que contasse o número de vogais em linguagem assembly de strings?
Aqui está um guia passo a passo sobre como escrever um programa em linguagem assembly para contar o número de vogais em uma string:

1. Configurar o segmento de dados :
- Declare a string como uma matriz de caracteres.
- Defina um local de memória para armazenar a contagem de vogais.

2. Configurar o segmento de código :
- Comece com o ponto de entrada do programa, geralmente denominado “principal” ou “início”.

3. Inicializar a contagem de vogais :
- Defina a contagem de vogais para zero inicialmente.

4. Percorrer a string :
- Use um loop para iterar cada caractere da string.

5. Verifique se há vogais :
- Dentro do loop, use instruções condicionais para verificar se o caractere atual é uma vogal.
- As vogais comuns no alfabeto inglês são 'A', 'E', 'I', 'O' e 'U' e seus equivalentes em minúsculas.

6. Incrementar a contagem de vogais :
- Se o caractere atual for uma vogal, aumente a contagem de vogais.

7. Terminar o ciclo :
- Continue o loop até chegar ao final da corda.

8. Exibir a contagem de vogais :
- Use chamadas de sistema ou funções de biblioteca para exibir a contagem de vogais no console.

9. Sair do programa :
- Use uma chamada de sistema para sair do programa com sucesso.

Aqui está um exemplo de como o código assembly pode parecer:

```montagem
.dados
str:.asciiz "Olá, mundo!"
contagem_de vogais:.int 0

.texto
.global principal
principal:
xor ebx, ebx; Inicialize vowel_count para 0
mov edi, str; Ponteiro de string
mov al, [edi]; Obtenha o primeiro personagem

laço:
cmp al, '$'; Fim da corda?
eu mostro; Sim, pule para exibir a contagem de vogais

cmp al, 'A'; Verifique se o caractere atual é 'A'
eu incremento; Sim, pule para aumentar a contagem de vogais
cmp al, 'E'; Verifique se o caractere atual é 'E'
eu incremento
cmp al, 'eu'; Verifique se o personagem atual é 'I'
eu incremento
cmp al, 'O'; Verifique se o caractere atual é 'O'
eu incremento
cmp al, 'U'; Verifique se o caractere atual é 'U'
eu incremento

cmp al, 'a'; Verifique se o caractere atual é 'a'
eu incremento
cmp al, 'e'; Verifique se o caractere atual é 'e'
eu incremento
cmp al, 'eu'; Verifique se o caractere atual é 'i'
eu incremento
cmp al, 'o'; Verifique se o caractere atual é 'o'
eu incremento
cmp al, 'u'; Verifique se o caractere atual é 'u'
eu incremento

incremento:
inc ebx; Aumentar a contagem de vogais
inc edi; Mover para o próximo personagem

loop jmp; Ir para o loop novamente

mostrar:
mov eax, 4; Chamada do sistema para escrever
mov ebx, 1; Descritor de arquivo (stdout)
mov ecx,str; Mensagem para escrever
mov edx, 13; Comprimento da mensagem + caractere de nova linha

chamada de sistema; Faça chamada do sistema

mov eax, 1; Chamada do sistema para sair
mov ebx, 0; Status de saída (sucesso)

chamada de sistema; Faça chamada do sistema
```

Este código assume um ambiente Linux e usa as convenções de chamada do System V. Ele inicializa a contagem de vogais para zero, itera sobre a string, verifica cada caractere em busca de vogais e incrementa a contagem de acordo. Finalmente, ele exibe a contagem de vogais e sai do programa com sucesso.

Anterior :

Próximo :
  Os artigos relacionados
·Como converter um conjunto de resultados para Delimitad…
·Como criar tabelas em HTML 
·Como reiniciar a sua sessão X 
·Como criar o seu próprio estudo Instância UID 
·Definição de tabelas de teste 
·Como é o UML diferente de outros Modelagem 
·Como construir um Script Telnet 
·Como configurar o DMZ no SonicWALL 
·Como plotar vários gráficos em Mathematica 
·Como excluir em QBasic 
  Artigos em destaque
·Como criar um HTML Página de Login 
·PHP para remover Matriz Multi- Duplicatas 
·Como limitar um comprimento variável em Javascript 
·Como compilar Visual Basic 6.0 
·Como construir um driver de dispositivo 
·Como começar a aprender Objective C no Windows 
·Como copiar de entrada para Div em PHP 
·Como imprimir um arquivo em um e-mail PHP 
·Como limpar inválido ID de classe Referências em um C…
·Como actualizar itens em uma lista com Java 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados