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...

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