*Esercizio 9 * * Siano dati due byte agli indirizzi di memoria A e B. Si valuti il numero di bit omologhi * uguali di A e B e si ponga tale numero alla locazione di memoria RES. * Usare l'istruzione assembly EOR. *Area Istruzioni ORG $8000 START MOVE.B A,D0 * Sposta il primo valore in D0 MOVE.B B,D1 * Sposta il secondo valore in D1 EOR.B D0,D1 * Realizza un OR esclusivo bit a bit tra D0 e D1 e pone il risultato in D1 MOVE.B #7,D2 * Inizializza il registro contatore D2 a 7 CLR.L D3 * Azzera il registro (accumulatore) D3 destinato a contenere il risultato LOOP BTST D2,D1 * Controlla il D2-esimo bit di D1 BNE DEC * Se è 1 salta a DEC ADDQ #1,D3 * altrimenti incrementa D3: i bit omolighi erano uguali DEC DBRA D2,LOOP * Decrementa D2 e salta se D2 >= 0 MOVE.B D3,RES * Sposta il risultato in memoria STOP #$2000 * Area Dati ORG $8800 A DC.B %10100110 * primo byte B DC.B %01101110 * secondo byte RES DS.B 1 * area di storage del risultato END START