Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Ripetizione delle "a" in una stringa

Scrivere un programma che legga una stringa in input (max 10 caratteri) e conti il numero delle "a" presenti nella stringa.

#MAKE_COM#
org 100h
 
jmp start
;dichiarazione variabili e macro
inserire db "Inserire una stringa di max 10 cifre ->$"
nessuna db "La stringa non contiene alcun carattere uguale ad 'a' $"
msg1 db "La stringa contiene $"
msg2 db " caratteri uguali ad 'a'$"
acapo db 10,13,"$"
stringa db 11, ?, 11 dup ("$")
num db 0
 
stampa macro messaggio
lea dx, messaggio
mov ah, 09h
int 21h
endm
 
stampacarattere macro num
mov ah, 2
mov dl, num
int 21h
 
endm
 
leggi macro caratteri
lea dx,caratteri
mov ah, 0Ah
int 21h
endm
 
start:
 
stampa inserire
leggi stringa
mov ax,0
mov ch,0
mov cl,stringa [1] ;stringa[1]= numero di caratteri effettivamente digitati da tastiera
mov si, 2
 
ciclo:
cmp stringa [si],"a"
je incrementa:
jmp ripeti
incrementa:
inc ah
ripeti:
inc si
loop ciclo
 
mov num, ah
cmp num, 0
je nessuna_a
mov ah,"0"
add num, ah ; converto il valore memorizzato nella variabile numero a in codice ascii per poterlo stampare a video
stampa acapo
stampa msg1
stampacarattere num
stampa msg2
jmp fine
nessuna_a:
stampa acapo
stampa nessuna
fine:
ret