Inserimento stringa e conteggio numero pari
Visualizzare una stringa di 9 interi positivi a singola cifra inserita direttamente nel codice, e visualizzare anche il numero di numeri pari contenuti in questa stringa.
org 100h
;MACRO
stampas macro stringa
lea dx, stringa
mov ah, 9
int 21h
endm
stampac macro carattere
mov dl, carattere
mov ah, 2
int 21h
endm
;ISTRUZIONI
mov cl, 9
mov bl, 2
mov si, 0
mov bh, 0
stampas acapo;
stampas acapo;
stampas acapo;
stampas acapo;
stampas msg1;
stampas acapo;
stampas acapo;
ciclo:
mov al, valori[si]
mov ah, 0
div bl
cmp ah, 0
je pari ; se il resto della divisione fra al e bl (2) e' uguale a zero salta a pari per incrementare il contatore pari
jmp fine ;altrimenti salta direttamente a fine senza incrementare il contatore
pari:
inc bh
fine:
mov al, valori[si]; rimetto in AL il valore dell'elemnto del vettore
add al, "0" ; converto in carattere corrispondente
mov valori[si], al ; salvo nel vettore
stampac valori[si] ; stampo il carattere ottenuto volta per volta nel ciclo
stampas acapo
inc si; incrementa il valore dell'indice
loop ciclo
stampas acapo;
stampas acapo;
stampas acapo;
stampas acapo;
stampas msg2;
stampas acapo;
stampas acapo;
add bh, "0"
stampac bh;
ret
;VARIABILI
valori db 1,2,5,2,4,6,3,8,5
msg1 db "I valori della stringa sono: $"
acapo db 10, 13, "$"
msg2 db "Il numero di valori pari corrisponde a: $"
ret
