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.