Adressregister

Django2012

Level-1
Beiträge
157
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hätte eine Grundlegende frage, die mich wohl als totalen Trottel outet, aber hilft nicht.
Wie oft kann ich das Adressregister eigentlich benutzen, bzw. wie verändert es sich.

Folgendes:
In einem Bestehenden Programm bastelt sich einer einen Pointer und arbeitet damit. L p##XXXX LAR1 usw usw.

Wenn ich jetzt in einem anderen Baustein auch etwas ins AR1 lade, weil ich mir auch nen Poiner "basteln" will.... was passiert dann? Der bereits bestehende Pointer wird dann nicht mehr funktionieren oder?
 
Ich hätte eine Grundlegende frage, die mich wohl als totalen Trottel outet, aber hilft nicht.
Wie oft kann ich das Adressregister eigentlich benutzen, bzw. wie verändert es sich.

Folgendes:
In einem Bestehenden Programm bastelt sich einer einen Pointer und arbeitet damit. L p##XXXX LAR1 usw usw.

Wenn ich jetzt in einem anderen Baustein auch etwas ins AR1 lade, weil ich mir auch nen Poiner "basteln" will.... was passiert dann? Der bereits bestehende Pointer wird dann nicht mehr funktionieren oder?

Ja so ist es.
Daher solltest du das Adressregister dort zu erst initialisieren bevor du es verwendest.
In FC kannst du mit beiden Registern arbeiten, in FB musst du dich zuerst um die Retteung des AR2 kümmern und das später wieder herstellen.


bike
 
Wenn du mit Registern arbeitest, beschreibe die dort, bevor du diese benutzt.
Wenn notwendig kannst du zuerst das Register sichern und später wieder zurückschreiben.
Dazu gibt es LARx u8nd TARx

Was hast du denn vor?


bike
 
Wie meinst du das jetzt? Also mit dem initialisieren?
Du musst das Adressregister behandeln wie Temporäre Daten.
Immer erst beschreiben (wie es schon bike schreibt) dann erst abfragen.
Das AR1 kannst du in FC und FB, das AR2 nur in FC problemlos nutzen.
Ein FB benutzt das AR2 selber, willst du es zusätzlich nutzen musst du eventuell den ursprünglichen Zustand nach deiner Benutzung wieder herstellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Tja, was habe ich vor.... Ziemlich schwer zu erklären. In nem bestehenden Programm hat der Programmierer die Typverwaltung mit Pointern, nem Haufen DB Struct´s und Tausenden Lade,Transferiere,rechne,Transferiere usw. gelöst. Uferlos da noch durchzusteigen .
Jezt hat sich an einem Typ was geändert, so dass ein paar Datenwörter 0 sein müssen damit ne Achse richtig fährt. Aus einem nicht erklärbaren Grund steht aber in ein paar von den Wörtern immer wieder mal 27423434 drinn. Den Wert, oder so nen ähnlichen konnte man mal am OP eingeben. Gibt´s jetzt nicht mehr.
Auf jeden Fall ist es ne wichtige Anlage die immer laufen soll. Gelöst wurde jetzt hald mal so "pofisorisch" über L L#O T DBWXXX wenn der bestimmte Typ angewählt wurde. Jetzt ist aber aufgekommen das es insgesamt 5 Typen sind, in denen Die WErte jetzt 0 sein müssen. Ich hätte mir hald jetzt nen Pointer gebastelt und in die Wörter 0 geschrieben, weil ich gerne mal was mit Pointer gemacht hätte. Wie schon geschrieben, nutzt er das AR1 aber schon. Werd nur nen "Adresspointer" machen, also am schluss dann : T DBW[adresse] und adresse wird Typabhängig.
Weis nicht ob das jetzt verständlich war, ich verstehs selbst kaum :))
 
Zurück
Oben