Paarsuse biti kalkuleerimine - Printerisõbralik versioon +- Elektroonikafoorum.com (https://elektroonikafoorum.com) +-- Foorum: Arutelud (https://elektroonikafoorum.com/forum-3.html) +--- Foorum: Programmeerimine (https://elektroonikafoorum.com/forum-5.html) +--- Teema: Paarsuse biti kalkuleerimine (/thread-402.html) |
Paarsuse biti kalkuleerimine - felch - 18-09-2012 Asi on ju lihtne: loed bitis 1-d kokku ja vastavalt paarsuse nõudele lisad või ei lisa 1-e. Aga...juskui mäletaks, et oli olemas mingi elementaarne "ühe liigutusega" trikk baidile sobiva paarsuse biti leidmiseks. Või ei olnud? Felch@tahab lihtsalt hakkama saada... RE: Paarsuse biti kalkuleerimine - andrei - 19-09-2012 Lookup-table (256 bitti ehk 64 baiti)? Ma paremat ei tea. Mõnedel prosedel on paarsuse arvutamine riistvaras. RE: Paarsuse biti kalkuleerimine - tvtv - 19-09-2012 Vaata siia ja sealt edasi. Aga üldiselt, ega seda asjata rauas teha. RE: Paarsuse biti kalkuleerimine - felch - 21-09-2012 Ülilihtsat võimalust kas ei ole või siis ei tule kuidagi meelde. Tegin pikemalt, asmis muidugi Kood: movwf sendtemp ; seivi saadetav RE: Paarsuse biti kalkuleerimine - ahelet - 24-09-2012 CRC_INIT_CHKFB8 ;"0xFFFF","0x1021",3xA1 = (CRC) H'CDB4' MOVLF H'CD',CRC16H_ANYBANK ;(3xA1) crc High on CD MOVLF H'B4',CRC16L_ANYBANK ;(3xA1) crc Low on B4 CRC_CALC XORWF CRC16H_ANYBANK,W ; (a^x)b^y) MOVWF CRC16TEMP_ANYBANK ; ANDLW H'F0' ; W = (a^x):0 SWAPF CRC16TEMP_ANYBANK,F ; Index = (b^y)a^x) XORWF CRC16TEMP_ANYBANK,F ; Index = (a^b^x^y)a^x) = i2:i1 MOVF CRC16TEMP_ANYBANK,W ANDLW H'F0' XORWF CRC16L_ANYBANK,W MOVWF CRC16H_ANYBANK RLF CRC16TEMP_ANYBANK,W RLF CRC16TEMP_ANYBANK,W XORWF CRC16H_ANYBANK,F ANDLW H'E0' XORWF CRC16H_ANYBANK,F SWAPF CRC16TEMP_ANYBANK,F XORWF CRC16TEMP_ANYBANK,W MOVWF CRC16L_ANYBANK RETURN see 17 käsuline programmijupp ka töötab täiesti, olen kasutanud. http://www.lammertbies.nl/comm/info/crc-calculation.html crc kalkulaatorid on paljud kõverad ehk teoreetilised, aga see siin töötab, vähemasti floppy asjades ta toimib olen kasutanud. aga üldiselt on see crc asi loomaaed, variante on seinast seina ja igale muidugi oma kalkulaator ja oma programmijupp asm-is RE: Paarsuse biti kalkuleerimine - felch - 25-09-2012 (24-09-2012, 11:06 PM)ahelet Kirjutas: CRC_INIT_CHKFB8 ..... Tänks, CRC arvutamiseks on tõesti väga palju valemeid. Mul oli hetkel küll vaja paarsust, mitte CRC-d. RE: Paarsuse biti kalkuleerimine - madis - 25-09-2012 Muuseas, paarsuse biti lookup tabel peaks olema maks 32 baiti, aga nii vist tehaksegi ? RE: Paarsuse biti kalkuleerimine - A.R. - 26-09-2012 Proovisin leida baidi paarsust C keeles. (Puht laiskusest.) Aga katsuge sama teha ASMis. Seal peaks kuluma 7 käsku? Muuses, seda C-d võib transleerida ka PICi jaoks. Kood: #include <stdio.h> Õhtu on vist ikka hommikust targem. Kui nihutada vasakule, siis saab suunata baidi märgi järgi. Jälle üks käsk vähem. RE: Paarsuse biti kalkuleerimine - felch - 01-10-2012 Testsin ja parandasin oma koodi veidike, nüüd töötab nagu vaja. RE: Paarsuse biti kalkuleerimine - A.R. - 02-10-2012 (01-10-2012, 08:54 AM)felch Kirjutas: Testsin ja parandasin oma koodi veidike, nüüd töötab nagu vaja.Kus kaasajal sellist asja veel kasutatakse? Vaata kunagi, 68.-70. oli selline vägev arvuti mis paarsuse abilmälu vigu parandas. Ühe vea sõnas parandas, kaks avastas. Kutsuti Hemmingi koodiks. |