.model small data segment msg0 db 'Inserisci la parola da codificare: $' msg1 db 'Chiave: $' A_CAPO db 0ah,0dh,'$' str db 254,0,254 DUP(' ') strk db 254,0,254 DUP(?) chiave db ? ends .stack .code lea ax,data mov ds,ax lea dx,msg0 mov ah,09h int 21h ;scrive msg0 mov ah,0ah lea dx,str int 21h ;legge la stringa mov ah,09h lea dx,A_CAPO int 21h lea dx,msg1 int 21h mov ah,01h int 21h mov chiave,al ;legge la chiave xor bx,bx mov bl,str[1] ;lunghezza stringa mov strk[1],bl xor cx,cx mov cl,bl ciclo: mov al,str[bx+1] xor al,chiave mov strk[bx+1],al dec bx loop ciclo mov bl,strk[1] mov strk[bx+2],'$' mov ah,09h lea dx,A_CAPO int 21h int 21h lea dx,strk+2 int 21h END