Occorrenza delle doppie
Scrivere un programma Assembly che acquisisca da tastiera una stringa e verifichi se in essa occorrono lettere doppie(p.e."errare,"alcool).
#make_com#
org 100h
leggi macro var1
lea dx, var1
mov ah, 0Ah
int 21h
endm
mostra macro var2
lea dx, var2
mov ah, 09h
int 21h
endm
jmp start
buffer db 21, ?, 21 dup(?)
msg_iniziale db 'Inserisci una stringa di massimo 20 caratteri: $'
msg_doppie db 'Doppie riscontrate$'
msg_non_doppie db 'Doppie NON riscontrate$'
start:
mostra msg_iniziale
leggi buffer
mov dx, 0300h
mov bh, 0
mov ah, 02h
int 10h
cmp buffer[1], 1
je non_doppie
js non_doppie
mov di, 0
mov cl, buffer[1]
dec cl
mov ax, 0
mov si, 0
scansione:
mov al, buffer[si + 2]
mov ah, buffer[si + 3]
cmp ah, al
je uguali
jmp continua
uguali:
mov di, -1
continua:
inc si
loop scansione
cmp di, -1
je doppie
jmp non_doppie
doppie:
mostra msg_doppie
jmp fine
non_doppie:
mostra msg_non_doppie
fine:
ret
