|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: May 2015
Messaggi: 4
|
Aiuto! semplice esercizio in assembler!
Data una sequenza di bit, sapendo che ogni n bit vi è un bit di parità (0 se il numero di bit a 0 fra i precedenti n è pari), verificare se vi sono errori. Sapendo risolvere come calcolare la parità di un vettore di byte quale condizione bisognerebbe aggiungere??
Avendo come input: #include <stdio.h> void main() { // Input unsigned char vet[]={4,4,7,2,2,8,100}; unsigned int lung = 55; // lunghezza (numero di bit) unsigned char n = 4; // numero di bit dati // Ouput unsigned char errori=0; // 1 = errori; 0 = no errori __asm { MOV ECX,lung XOR EDX,EDX XOR EAX,EAX CicloA: MOV AL,Vettore[ECX-1] CicloB: TEST AL,AL JZ Fine MOV EBX,EAX AND EBX,1 ADD EDX,EBX SHR AL,1 JMP CicloB Fine: LOOP CicloA AND EDX,1 MOV Ris,EDX ; Ris è 1 se il numero di bit a uno è dispari, viceversa 0 } printf("La sequenza di bit % scontiene errori\n",(errori?"":"non ")); } Ultima modifica di ettore1992 : 10-05-2015 alle 12:01. Motivo: integrazione |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 1999
Città: Black Mesa
Messaggi: 72404
|
Non si fanno gli esercizi altrui
CLOSED!! >bYeZ<
__________________
REGOLAMENTO & update1/update2 | IO C'ERO | Realme X3 SZ 12/256 - History | GTi is BACK
"Non sorridete.......gli spari sopra.....sono per VOI!" |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:29.