Calcolo della distanza di Hamming

Calcolo della distanza di Hamming

Si scriva un programma Assembler che calcola la distanza di Hamming tra 2 dati memorizzati su 16 bit.
Si ricorda che la distanza di Hamming tra 2 parole è pari al numero di bit diversi.

Calcolo della distanza di Hamming
.MODEL SMALL
.STACK
.DATA
a DW 45
b  DW 56
conta db 0
msg db “calcolo della distanza di hamming tra due parole a 16 bit”
.CODE
.STARTUP
MOV BX, a ;COPIO IN BX IL VALORE DI a
XOR BX, b ;EFFETTUO LA XOR TRA BX E b E PONGO IL RISULTATO IN BX *
MOV CX, 16 ;inzializzo il contatore  CX
CICLO:
SHR BX, 1 ;ESEGUO UNO SHIFT LOGICO A DESTRA DI BX
JNC FINE_CICLO ;SE CF=0 SALTO A “FINE_CICLO” ALTRIMENTI PROSEGUO ;CON LA RIGA SUCCESSIVA
INC  conta ;INCREMENTO contatore
FINE_CICLO:
LOOP CICLO ;DECREMENTO CX ED ESEGUO IL LOOP SE ESSO È DIVERSO DA 0
MOV AH,02
MOV DL,conta ; copio io contatore in dl
ADD DL,30H ;TRASFORMO IL NUMERO IN CARATTERE
INT 21h; VISUALIZZO IL CARATTERE
MOV CX, 4C00h ;ritorno al sistema operativo
int 21h
.EXIT
END
 

Please follow and like us:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Commenti recenti

Working Hours

  • Monday9am - 6pm
  • Tuesday9am - 6pm
  • Wednesday9am - 6pm
  • Thursday9am - 6pm
  • Friday9am - 6pm
  • SaturdayClosed
  • SundayClosed
Latest Posts

Teachers

Facebook
Twitter
LinkedIn
Contatti

Commenti recenti

Wordpress Social Share Plugin powered by Ultimatelysocial
error

Enjoy this blog? Please spread the word :)

%d blogger hanno fatto clic su Mi Piace per questo: