for-Schleife

fai004

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

diese Schleife läuft nicht richtig, nur der ertse dbx wird gelöscht.

moz-screenshot.jpg
moz-screenshot-1.jpg


wo verbergt sich der Fehler?
danke
 

Anhänge

  • For Schleife.jpg
    For Schleife.jpg
    9,8 KB · Aufrufe: 74
als kleinen denkanstoß
l 0
wird nicht gehen

Code:
entweder
l p#0.0
t t_step
 
oder
 
l 0
sld 3
t t_step
und jetzt nachdenken und umsetzen
 
Hallo,

wenns funktionieren soll, dann kannst du nicht einfach deinen Schleifenzähler mit dem Pointer addieren!

Ich würds in etwa so machen:

Code:
un reset
spb _001
auf DB xxx //gewünschten Datenbaustein öffnen
lar1 p#0.0 //Startbyte im DB
l 30
L1: set
r dbx[ar1,p#0.x] //Pointer auf dein Bit - z.B. p#0.1 für Bit 1
+ar1 p#x.0 //Adressregister 1 erhöhen - z.B. p#2.0 für 16-Bit Format (Word/Int)
loop L1
_001: nop 0

Gruß Micha
 
@gerhard
L L#0 geht sehr wohl. byte 0, bit 0 ... mit + 1 kann man so die 8bit eines bytes sogar ansprechen, beim nächsten byte wirds dann dann allerdings schwerer :rolleyes:

@ralle
nu, war auch mein erster gedanke, warum nicht mit loop ...

@fai004
[das folgende ist nicht wahr]
der fehler deiner schleife liegt im <D

im akku1 steht dein schleifenzähler
mit dem laden des durchlaufwertes wird der schleifenzähler in akku2 transferiert und in akku1 steht der durchlaufwert
<D heißt - VKE = 1 wenn akku1 kleiner als akku2 ist ... isser bei dir nie ;)
mit >D siehts schon anders aus.
[die grütze endet hier]

natürlich heißt <D -> VKE = 1 wenn akku2 kleiner ist als akku1
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würds in etwa so machen:

Code:
un reset
spb _001
auf DB xxx //gewünschten Datenbaustein öffnen
lar1 p#0.0 //Startbyte im DB
l 30
L1: set
r dbx[ar1,p#0.x] //Pointer auf dein Bit - z.B. p#0.1 für Bit 1
+ar1 p#x.0 //Adressregister 1 erhöhen - z.B. p#2.0 für 16-Bit Format (Word/Int)
loop L1
_001: nop 0
Gruß Micha

...und dich wundern, dass es nicht funktioniert :rolleyes:

da fehlt der schleifenzähler. loop braucht den.
 
@fai004
der fehler deiner schleife liegt im <D

im akku1 steht dein schleifenzähler
mit dem laden des durchlaufwertes wird der schleifenzähler in akku2 transferiert und in akku1 steht der durchlaufwert
<D heißt - VKE = 1 wenn akku1 kleiner als akku2 ist ... isser bei dir nie ;)
mit >D siehts schon anders aus.

ist das dein Ernst?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zitat:
Zitat von SPSKILLER
Ich würds in etwa so machen:

Code:
un resetspb _001auf DB xxx //gewünschten Datenbaustein öffnenlar1 p#0.0 //Startbyte im DBl 30L1: setr dbx[ar1,p#0.x] //Pointer auf dein Bit - z.B. p#0.1 für Bit 1+ar1 p#x.0 //Adressregister 1 erhöhen - z.B. p#2.0 für 16-Bit Format (Word/Int)loop L1_001: nop 0
Gruß Micha

...und dich wundern, dass es nicht funktioniert :rolleyes:

da fehlt der schleifenzähler. loop braucht den.

der Beitrag ist auch bullshit. aber nix für ungut.
 
Loop

Ich danke euch für die Unterstützung.
ich habe das so gelöst.

Gruß

Faissal
 

Anhänge

  • Loop_ok.jpg
    Loop_ok.jpg
    8,5 KB · Aufrufe: 32
Zurück
Oben