Guitarrero
Level-1
- Beiträge
- 14
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallöchen Ihr,
ich habe eine Aufgabe. Und habe hier auch schon etliches über Pointer und so gelesen. Sicher bin ich mir jedoch nicht, ob das die richtige Lösung ist.
Zur Aufgabe:
Im ProTool kann man Zahlen (DEZ) eingeben, diese landen in DB39, dies ist der Baustein, der die gesamte Kommunikation zwischen CPU und ProTool darstellt und ist 58 Wörter lang. Also zählt ein Zähler von 1 bis 30. Diese Daten, abhängig von dem vorgewählten Programm (1-38) werden in den DB 46 geschrieben. Für Programm 1 sind die Wörter 0 bis 58 vorgesehen, für Programm 2 die Wörter 60 bis 118 und so weiter. Also immer in einem Bereich von diesen 58 Worten oder 30 Schritten. Meiner Meinung brauche ich doch 2 Pointer, einen für den DB39 und einen für DB46, weil es hier sein kann, dass ich auf eine andere Stelle zugreifen muss. Ist das richtig?
Meine Überlegung ist folgende:
Gruß
Chris
ich habe eine Aufgabe. Und habe hier auch schon etliches über Pointer und so gelesen. Sicher bin ich mir jedoch nicht, ob das die richtige Lösung ist.
Zur Aufgabe:
Im ProTool kann man Zahlen (DEZ) eingeben, diese landen in DB39, dies ist der Baustein, der die gesamte Kommunikation zwischen CPU und ProTool darstellt und ist 58 Wörter lang. Also zählt ein Zähler von 1 bis 30. Diese Daten, abhängig von dem vorgewählten Programm (1-38) werden in den DB 46 geschrieben. Für Programm 1 sind die Wörter 0 bis 58 vorgesehen, für Programm 2 die Wörter 60 bis 118 und so weiter. Also immer in einem Bereich von diesen 58 Worten oder 30 Schritten. Meiner Meinung brauche ich doch 2 Pointer, einen für den DB39 und einen für DB46, weil es hier sein kann, dass ich auf eine andere Stelle zugreifen muss. Ist das richtig?
Meine Überlegung ist folgende:
Code:
[FONT=Times New Roman][SIZE=3]L 1[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]T MW486 //Zähler: Wie oft soll er lesen und schreiben[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]P001: NOP 0[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]AUF DB38[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]L MB488 //Eingabe für den Pointer im ZwischenDB/Programmabhängig[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]SLD 3 [/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]LAR1 [/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]L DBW [B][AR1,P#0.0][/B] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Auf DB46[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]L MB490 //Eingabe für den Pointer im ArbeitsDB/Programmabhängig[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]SLD 3[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]LAR1[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]T DBW [B][AR1,P#0.0] [/B][B]//[COLOR=red]?PROBLEM:[/COLOR][COLOR=red]Pointer das 2te Mal benutzt?[/COLOR][/B][/FONT][/SIZE]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MB488 //Jeder Wert von 0 bis 58 in binären Schritten[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L ? //Wert, damit MB488 die Werte 2,4,8,…58 annimmt[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MB488 //Neuer Wert[/FONT][/SIZE][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MB490 //Jeder Wert von 0-1680 in binären Schritten die 58 Schritte groß sind[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L ? //Wert, damit MB490 um den Wert 2,4,8,… 58 erhöht wird[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MB490 //Neuer Wert[/FONT][/SIZE][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MW486[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L 1[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]+I[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MW486[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L30[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]<=I[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]SPB P001[/FONT][/SIZE][/B]
Gruß
Chris