xor bx, bx //azzeriamo bx, contatore delle cifre xor cx, cx //azzeriamo cx che conterrà il simbolo xor dx,dx //contatore dei bit <---Loop 16 volte---> mov ax, [cifra+bx] //leggiamo la bxesima cifra cmp bx, 0 <---Loop 4 volte---> jnz successive //se NON è la prima cifra, salta l'impostazione del primo simbolo mov cx, ax and cx, 1000 //così in cx abbiamo il simbolo inc dx successive: shl ax, 1 //shift a sinistra di 1 bit push ax //salvo ax and ax, cx //faccio l'or se cx = 1000 il bit è uguale se 0000 sono diversi cmp ax, 1000 pop ax jz Simbolo_uguale /*qui metti la funzione per salvare il numero delle volte che il bit si ripete che è contenuto in dx*/ xor dx, dx //azzeriamo il contatore xor cx, 1000 //così cambio il simbolo da 1000 a 0000 e da 0000 a 1000 Simbolo_uguale: inc dx <--- Fine Loop 16 volte ---> <--- Fine Loop 4 volte ---> ops xor bx, bx //azzeriamo bx, contatore delle cifre xor cx, cx //azzeriamo cx che conterrà il simbolo xor dx,dx //contatore dei bit <---Loop 16 volte---> mov ax, [cifra+bx] //leggiamo la bxesima cifra cmp bx, 0 <---Loop 4 volte---> jnz successive //se NON è la prima cifra, salta l'impostazione del primo simbolo mov cx, ax and cx, 1000 //così in cx abbiamo il simbolo inc dx successive: shl ax, 1 //shift a sinistra di 1 bit push ax //salvo ax and ax, cx //faccio l'or se cx = 1000 il bit è uguale se 0000 sono diversi cmp ax, 1000 pop ax jz Simbolo_uguale /*qui metti la funzione per salvare il numero delle volte che il bit si ripete che è contenuto in dx*/ xor dx, dx //azzeriamo il contatore xor cx, 1000 //così cambio il simbolo da 1000 a 0000 e da 0000 a 1000 Simbolo_uguale: inc bx inc dx <--- Fine Loop 16 volte ---> <--- Fine Loop 4 volte --->