-> Hier kostenlos registrieren
Hallo, ich möchte gerne ein DB170 (Array [1..100] Int) durchsuchen der 100 Integer enthält. Es sollen alle Int die den Wert 0 haben gezählt werden und in DB171.DBW2 angezeigt werden. Leider zählt mein Programm wie eine unendliche Schleife und hält nicht nach 100 Werten an. Ich hab schon hier im Forum einige Zeit verbracht und mir diese Struktur zusammengestellt, aber irgendwo ein Denkfehler. Ich hoffe es kann mir jemand weiterhelfen
Gruß
Code:
AUF DB 170 //zu durchsuchender DB
LAR1 P#4.0 //Pointer auf Start im DB, hier DBB4
L 100 //Anzahl der Int, die durchsucht werden
next: T #zaehler //Momentaner Wert Schleifendurchgänge
L DBW [AR1,P#0.0] // Lade Datenbyte
L 0 // Lade 0
==I // Vergleiche Wer mit 0
SPBN m1 // Wenn Wert ungleich 0 dann springe zu m1
L DB171.DBW2 //Anzahl der Werte die Null enthalten
L 1 // Lade 1
+I //Rechne Anzahl der Werte die Null enthalten Plus 1
T DB171.DBW2 //Transferiere neuen Wert in Anzahl der Werte die Null enthalten
m1: +AR1 P#2.0 //Erhöhe das Adressregister 1 um 2Byte (für Wort)
L #zaehler
LOOP next // Schleife solange, bis #zaehler auf 0
Gruß