vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Hier der Code 
Autor: unbekannt
Datum: 24.04.03 22:03

Hi Lonely,

na ganz so stimmt der Vergleich mit der großen Reisetasche und dem Rucksack nicht

Ein Denkanstoss ist die CRC32-Assembler - Routine der VBEx32.DLL:

 
6
' VBCRC32 ***********( nicht geändert )**********
FUNCTION VBCRC32 ALIAS "VBCRC32" (sQuelle AS STRING) EXPORT AS LONG
DIM a AS LONG, b AS BYTE,e AS BYTE
DIM d AS STRING
DIM nCRC AS LONG, c AS LONG, n AS LONG

d = sQuelle
n = LEN(sQuelle)

Loop0:
! Mov a,&Hff ;Setze acht Bits in a
! Mov Ecx,8 ;Zähler initialisieren
Loop1:
! Mov b,0 ;Initialisiere b mit 0
! Mov e,0 ;Initialisiere e mit 0
! Mov Eax, nCRC ;nCRC in Register laden
! And Eax,32768 ;32768 And
! Cmp Eax,32768 ;Vergleiche Eax
! Jne Weiter0 ;Überspringe nächste Zeile wenn ungleich
! Mov b,1 ;Setze b auf logisch 1
Weiter0:
! Mov Edx,d ;StringPtr nach Edx
! Mov Ebx,c ;Counter nach Ebx
! Mov Eax,[Edx+Ebx] ;Wert aus Speicher nach Eax
! Mov Ebx,0 ;Initialisiere Ebx
! Shr a,1 ;Division um binär ^2
! Mov Ebx,a ;Wert a auf bl
! Inc Ebx ;Addiere 1
! And Eax,Ebx ;And mit Wert aus Ebx
! Cmp Eax,Ebx ;Vergleiche Eax,Ebx
! Jne Weiter1 ;Überspringe nächste Zeile wenn ungleich
! Mov e,1 ;Setze e auf logisch 1
Weiter1:
! Mov Eax,nCRC ;setze nCRC nach Eax
! AND Eax,32767 ;32767 And
! Shl Eax,1 ;Multipliziere Eax mit 2
! Mov nCRC,Eax ;speichere Ergebnis in nCRC
! Mov Eax,0 ;Initialisiere Eax
! Mov Al,b ;Wert aus b nach Al
! Mov Ah,e ;Wert von e nach Ah
! Cmp al,ah ;Vergleiche b mit e
! Je Weiter2 ;Springe wenn gleich XOR = true
! Mov Eax,nCRC ;setze nCRC nach Eax
! Xor Eax,&H8005 ;&H8005 XOR
! Mov nCRC,Eax ;Speichere Ergebnis in nCRC
Weiter2:
! Dec Ecx ;Vermindere counter um 1
! cmp Ecx,0 ;ist Counter 0?
! Jne Loop1 ;nein, dann Springe zu Loop1
! Inc c ;Addiere in c c=c+1
! Mov Eax,c
! Mov Ebx,n
! Cmp Eax,Ebx
! Jne Loop0

IF nCrC < 0 THEN nCrC = nCrC+&H10000 ' <----------- Korrekturfaktor!
FUNCTION = nCrC
END FUNCTION
' *******************************************************************************

Den Korrekturfaktor eben auf einen 16Bitter umsetzen - geholfen?
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
CRC16 mit VB6 (Letzte rettung)834LonelySuicide66623.04.03 20:23
Re: CRC16 mit VB6 (Letzte rettung)4.384unbekannt23.04.03 20:40
Re: CRC16 mit VB6 (Letzte rettung)505LonelySuicide66624.04.03 20:26
Re: CRC16 mit VB6 (Letzte rettung)4.506Wöllmi23.04.03 21:53
Hier der Code4.582Wöllmi23.04.03 21:56
Re: Hier der Code Teil 24.451Wöllmi23.04.03 21:57
Re: Hier der Code498LonelySuicide66624.04.03 19:47
Re: Hier der Code4.681unbekannt24.04.03 22:03
Re: Hier der Code477LonelySuicide66625.04.03 06:00
Re: Hier der Code4.412unbekannt25.04.03 17:22
Oh Mann natürlich umgekehrt 4.292unbekannt25.04.03 17:30
Re: Oh Mann natürlich umgekehrt 488LonelySuicide66625.04.03 20:15
Re: Oh Mann natürlich umgekehrt 4.274unbekannt25.04.03 20:28
Re: Oh Mann natürlich umgekehrt 476LonelySuicide66626.04.03 12:29
Re: CRC16 mit VB6 (Letzte rettung)484Analyzer26.04.03 12:59
Noch näher an der Beschreibung:488Analyzer26.04.03 13:49
Re: Noch näher an der Beschreibung:475LonelySuicide66626.04.03 15:27
Re: Noch näher an der Beschreibung:470Analyzer26.04.03 17:12
Re: Noch näher an der Beschreibung:464LonelySuicide66626.04.03 20:56
Anregung: CRC16 mit Tabelle5.429Wöllmi26.04.03 23:00
Habe Routine für CRC16 Tabelle5.269Wöllmi27.04.03 22:39
Re: Habe Routine für CRC16 Tabelle472LonelySuicide66628.04.03 10:47
Re: Habe Routine für CRC16 Tabelle4.962Wöllmi28.04.03 22:58
&h270C muß rauskommen4.380Wöllmi28.04.03 23:00
Re: CRC16 mit VB6 (Letzte rettung)4.590Swiss Ueli30.04.03 18:26
Re: CRC16 mit VB6 (Letzte rettung) - Teil 24.487Swiss Ueli30.04.03 18:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel