Schleife / Pointer versuch

Zuviel Werbung?
-> Hier kostenlos registrieren




AUF DB 4
L DBW 1000
L 608
==I
FP M 3.5
SPBN end

R M 3.6

L 1180
SLD 3
LAR1

L 11 // Anzahl Wörter zum vergleichen (1080-1100)
next: T #Schleifen_Zaehler

L DBW [AR1,P#0.0]
L DBW 1002 // Vergleichen mit DBW1002
==I
SPB func // wenn ja ENDE

+AR1 P#2.0 // AR1 erhöhen / auf nächsten Datensatz

L #Schleifen_Zaehler
LOOP next
func: S M 3.6 // Wenn Vergleich =1 dieses Bit setzen
end: NOP 0
 
sorry, copy-paste-Fehler

Wenn Du die DB-Wörter 1080-1100 vergleichen willst, mußt Du die Anfangsadresse auf 1080 und nicht auf 1180 (sorry, habs ungelesen übernommen) setzen sonst könnte Dein DB zu Ende sein :wink:.

gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
[code ] und [/code ] (jeweils ohne space) machen code lesbarer

nach deiner schleife solltest du absolut zu end springen und ansonsten kann ich deine beobachtungen zum cpu-stop nicht bestätigen ... was sagt der diagnosepuffer?
 
@4L
...anscheinend schreibst du unleserlich oder zu klein oder falsche Sprache oder man ignoriert dich einfach oder oder oder...*ROFL*

ich bin ja ein zurückhaltender mensch und auch gewillt gern weiter zu helfen, aber wenn man einen hinweis tausend mal übergeht, fällt mir auch nicht anderes mehr ein als ...

zum allgemeinen verständnis nochmal aus meiner standard PN an andere

... also statt den code einfach so dahin zu schreiben benutze doch die [code ]-Tags ... also vorm code ein [code ] (ohne leerzeichen :wink:) und dahinter ein [/code ] (wieder ohne space)

da wird dann automatisch die schriftart in courier new umgewandelt, was ja beim proggen immer sehr schön is ...

sieht dann so aus:

Code:
      U   M 25.3
      U   M 21.6
      =   A 6.7
 
PHP:
       AUF   DB     4
      L     DBW 1000
      L     608
      ==I   
      FP    M      3.5
      SPBN  end
 
      R     M      3.6
 
      L     1180
      SLD   3
      LAR1  
 
      L     11                          // Anzahl Wörter zum vergleichen (1180-1200)
next: T     #Schleifen_Zaehler
 
      L     DBW [AR1,P#0.0]
      L     DBW 1002                    // Vergleichen mit DBW1002
      ==I   
      SPB   func                        // wenn ja ENDE
 
      +AR1  P#2.0                       // AR1 erhöhen / auf nächsten Datensatz
 
      L     #Schleifen_Zaehler
      LOOP  next
func: S     M      3.6                  // Wenn Vergleich =1 dieses Bit setzen
end:  NOP   0
sieht dann wohl so aus, kenne mich hier haltnoch nicht aus,und brauche etwas :sm4: .
 
sieht dann wohl so aus, kenne mich hier haltnoch nicht aus,und brauche etwas :sm4: .

ich dreh durch ... versuche grad mit einem pointer und einer schleife herauszufinden wieviele buchstaben in CODE und PHP übereinstimmen... :evil:

zurück zu deinem pointer:

wenn du es so machst:

Code:
      AUF   DB     4
      L     DBW 1000
      L     608
      ==I   
      FP    M      3.5
      SPBN  end

      R     M      3.6

      L     1080
      SLD   3
      LAR1  

      L     11                          // Anzahl Wörter zum vergleichen (1080-1100)
next: T     #Schleifen_Zaehler
      
      L     DBW [AR1,P#0.0]
      L     DBW 1002                    // Vergleichen mit DBW1002
      ==I   
      SPB   func                        // wenn ja ENDE

      +AR1  P#2.0                       // AR1 erhöhen / auf nächsten Datensatz

      L     #Schleifen_Zaehler
      LOOP  next
      [COLOR=Red]SPA   end[/COLOR]

func: S     M      3.6                  // Wenn Vergleich =1 dieses Bit setzen
end:  NOP   0
und dein datenbaustein ausreichend groß ist, funktioniert es einwandfrei!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, werde versuchen mich zu bessern und die Regeln einhalten, habe aber nunmal das Problem, daß es so funktioniert mit einer Übereinstimmung. Ist aber keine da geht die CPU in Stopp und gibt als Fehlermeldung einen Zugriffsfehler in einem völlig anderen Baustein an.
 
Hallo, werde versuchen mich zu bessern und die Regeln einhalten, habe aber nunmal das Problem, daß es so funktioniert mit einer Übereinstimmung. Ist aber keine da geht die CPU in Stopp und gibt als Fehlermeldung einen Zugriffsfehler in einem völlig anderen Baustein an.

was genau steht im diagnose-puffer?
 
@vierlagig: wieso wird jetzt zweimal das AR1 erhöht?
@online: kann es sein, dass dir ein zeit-ob das db-register verbiegt?

by the way diese ewigen Sprunganweisungen könnte man auch anders umgehen:

Code:
     [COLOR=Black]
      AUF   DB     4
      L     DBW 1000
      L     608
      ==I   
      FP    M      3.5
      SPBN  end
 
      R     M      3.6
 
      L     1180
      SLD   3
      LAR1

      L     11                          // Anzahl Wörter zum vergleichen (1080-1100)
next: T     #Schleifen_Zaehler

      L     DBW [AR1,P#0.0]
      L     DBW 1002                    // Vergleichen mit DBW1002
      ==I 
      S     M      3.6                  // Wenn Vergleich =1 dieses Bit setzen
      SPB   end                       // wenn ja ENDE

      +AR1  P#2.0                       // AR1 erhöhen / auf nächsten Datensatz

      L     #Schleifen_Zaehler
      LOOP  next

 end:  NOP   0[/COLOR]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
möchte mich noch mal bei allen bedanken, die mir hier geholfen haben. Habe mein Problem gelöst, und kann mein Projekt jetzt so erweitern wie ich es mir gewünscht habe.
Gruß online
 
Zurück
Oben