*
SET // VKE AUF LOG. 1
R #UNGLEICH // UND ERGEBNIS VORBESETZEN
L #DB_REFERENZ // AUS VORGABEWERT FÜR REFERNZDATENBAUSTEIN
T #REFERNZ_DB // EIN DOPPELWORT ZUR INDIZIERUNG MACHEN
AUF DB [#REFERNZ_DB] // UND DATENBAUSTEIN FÜR FB ÖFFNEN
L #START_QUELLE_MB // STARTDATENWORT QUELLE LADEN
SLW 3 // UND ALS ADRESSINDEX
T #QUELLINDEX // MERKEN
L #START_ZIEL_DB // ZIELDATENWORT IN DER QUELLE LADEN
SLW 3 // UND ALS ADRESSINDEX
T #ZIELINDEX // MERKEN
L #ANZ_WORTE // VERGLEICHS - KOPIERLÄNGE LADEN (WORTE)
NEXT: T #REFERENZ // UND ALS SCHLEIFENZÄHLER VERWENDEN
L MW [#QUELLINDEX] // QUELLWERT (NEU) LADEN [MWxyz]
L DBW [#ZIELINDEX] // VERGLEICHSWERT (ALT) LADEN [DWXYZ]
XOW // EXCLUSIV-ODER VERKÜPFEN
L DBW [#ZIELINDEX] // REFERENZWERT AKTUELL NOCHMAL LADEN
UW // UND MIT XOR ERGEBNIS "VERUNDEN"
L W#16#0 // REFERNZ 0000h laden
==I // BEIDE WERTE VERGLEICHEN
SPB EQU // WERTE GLEICH, DANN WEITERSUCHEN
S #UNGLEICH // WERTE UNGLEICH, DANN ERGEBNIS SETZEN
SPA COPY // UND AKTUELLE DATEN RETTEN
EQU: L #QUELLINDEX // WERTE GLEICH, DANN INDEX
+ 16 // UM EIN WORT ERHÖHEN UND
T #QUELLINDEX // MERKEN
L #ZIELINDEX // JETZT ZIELINDEX
+ 16 // UM EIN WORT ERHÖHEN UND
T #ZIELINDEX // MERKEN
L #REFERENZ // REFERENZ SCHLEIFENZÄHLER
LOOP NEXT // UND NAECHSTES WORT VERGLEICHEN
COPY: LAR1 P##QUELLE // POINTERADRESSE FÜR QUELLE ZUM KOPIEREN
L B#16#10 // IN LOKALDATENBEREICH KONSTRUIEREN
T LB [AR1,P#0.0]
L B#16#4 // DATENTYP = WORTE
T LB [AR1,P#1.0]
L #ANZ_WORTE // ANZAHL WORTE
T LW [AR1,P#2.0]
L W#16#0 // QUELLE IST KEIN DB (ALSO 0)
T LW [AR1,P#4.0]
L B#16#83 // SPEICHERBEREICH IST M
T LB [AR1,P#6.0]
L B#16#0 // OBERE ADRESSANGABE == 0
T LB [AR1,P#7.0]
L #START_QUELLE_MB // STARTMERKERBYTE SCHIEBEN (3 = BITPOS)
SLW 3
T LW [AR1,P#8.0] // UND ALS QUELLANFANG MERKEN
LAR1 P##ZIEL // POINTERADRESSE FÜR ZIEL ZUM KOPIEREN
L B#16#10 // IM LOKALDATENBEREICH KONSTRUIEREN
T LB [AR1,P#0.0]
L B#16#4 // DATENTYP = WORTE
T LB [AR1,P#1.0]
L #ANZ_WORTE // LAENGE = ANZAHL WORTE
T LW [AR1,P#2.0]
L #REFERNZ_DB // DB NUMMER
T LW [AR1,P#4.0]
L B#16#84 // SPEICHERBEREICH IST DB
T LB [AR1,P#6.0]
L B#16#0 // OBERE ADRESSANGABE == 0
T LB [AR1,P#7.0]
L #START_ZIEL_DB // STARTDATENBAUSTEINWORT SCHIEBEN
SLW 3
T LW [AR1,P#8.0] // UND ALS ZIELANFANG MERKEN
CALL "BLKMOV" // KOPIEREN DER DATENBEREICHE DURCH BLOCKMOVE
SRCBLK :=#QUELLE // VON QUELLE MWxyz nach DBxy,DWxyz FÜR n WORTE
RET_VAL:=#RETURN
DSTBLK :=#ZIEL // NACH ZIEL
BE // UND FERTIG