PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DPTR, Tabellen lesen



Import-Script
06.01.2002, 17:19
Hallo! <BR> <BR>Also, ich stehe wie immer mal wieder vor einem Problem. <BR> <BR>Ich m&ouml;chte gern ein paar Werte aus einem Feld auslesen. Leider funzt das nicht so, wie ich es gerne h&auml;tte &#40;warum auch ;-&#41;&#41;. <BR> <BR>Hier mal das Listing: <BR> <BR>MOV DPTR, #buchA_db <BR> <BR>JUMPER: <BR>For R0 = #0 to #15 <BR>MOVC A,@A&#43;DPTR <BR>MOV P3,R0 <BR>MOV P1,A <BR> <BR>CALL pause3 <BR> <BR>MOV P1,#ffh <BR>NEXT R0 <BR> <BR>MOV A,#0 <BR> <BR>JMP JUMPER <BR> <BR>buchA_db: <BR>DB 1,246,246,1,255 <BR>DB 2,23,12,2,255 <BR> <BR>Das Prog soll eigentlich nichts weiter machen, als, so lange wie die Schleife l&auml;uft, die werte in DB hintereinander auslesen und an P1 bringen. <BR> <BR>So Leute, Ich mu&szlig; ja mal zugeben, dass ich dass mit diesen auslesen etc. auch noch nicht wirklich begriffen habe. <BR>Aber nun hoffe ich ja, dass ihr mir weiterhelfen k&ouml;nnt. <BR>Vielleicht k&ouml;nnte auch mal jemand eine wirklich sch&ouml;ne und einwandfreie &Uuml;bersetzung plus Bsp. irgendwo herzaubern. <BR> <BR>Vielen Dank schon mal im Voraus. <BR>reno

Import-Script
06.01.2002, 20:32
Hallo Reno, <BR> <BR>der Befehl lautet doch: MOVC A, @A &#43; DPTR <BR>und nicht MOVC A, @DPTR oder MOVC A, @R0 &#43; DPTR. <BR> <BR> <BR>Peter

Import-Script
06.01.2002, 21:25
@Peter <BR> <BR>Hab ich das nicht so in meinem Programm? Ich glaube schon. Zeile 4. <BR> <BR>reno

Import-Script
07.01.2002, 11:32
Geschrieben hast Du es, aber wohl nicht verstanden. <BR>Ich wollte Dich blo&szlig; darauf hinweisen, da&szlig; es hei&szlig;t &#34;A &#43; DPTR&#34; und &#34;&#43;&#34; hei&szlig;t, da&szlig; beide addiert werden, um die Adresse zu erhalten.

Import-Script
07.01.2002, 20:20
Aber der Akku wird gar nicht inkrementiert, daher werden auch keine verschiedenen Werte nacheinander ausgelesen. <BR>Vor das MOVC A, @A&#43;DPTR m&uuml;sste wohl noch ein <BR>MOV A, R0 <BR>oder? <BR>&#40;Hab mich jetzt mal aufs Glatteis gewagt und einen Tipp zum Thema Software gegeben, obwohl ich wei&szlig;, dass das nicht ohne Risiko ist.

Import-Script
07.01.2002, 20:41
Hi <BR> <BR>Der Akku ver&auml;ndert aber bei jedem Schleifendurchlauf seinen Wert da movc A,@A&#43;DPTR ja den Wert des Akku &auml;ndert. Dein Zeiger zeigt dann ins Nirvana. Ich&#40;tm&#41; w&uuml;rde das so machen: <BR> <BR>start: <BR>mov R7,#15 <BR>mov DPTR,#adresse <BR>loop: <BR>clr A <BR>inc DPTR <BR>movc A,@A&#43;DPTR <BR>mov P3,R7 <BR>mov P1,A <BR>call pause <BR>djnz R7,loop <BR> <BR>adresse: <BR>db .... <BR> <BR>Geht sicher auch mit weniger Befehlen aber so ist das sch&ouml;n &uuml;bersichtlich. Den Akku setzt ich nur dann nicht 0 wenn ich eine Umrechnungstabelle verwenden will. Und sieh mir bitte nach das ich diese for..next Geschichte nicht verwende. <BR> <BR>Matthias

Import-Script
07.01.2002, 20:41
Hi <BR> <BR>Der Akku ver&auml;ndert aber bei jedem Schleifendurchlauf seinen Wert da movc A,@A&#43;DPTR ja den Wert des Akku &auml;ndert. Dein Zeiger zeigt dann ins Nirvana. Ich&#40;tm&#41; w&uuml;rde das so machen: <BR> <BR>start: <BR>mov R7,#15 <BR>mov DPTR,#adresse <BR>loop: <BR>clr A <BR>inc DPTR <BR>movc A,@A&#43;DPTR <BR>mov P3,R7 <BR>mov P1,A <BR>call pause <BR>djnz R7,loop <BR> <BR>adresse: <BR>db .... <BR> <BR>Geht sicher auch mit weniger Befehlen aber so ist das sch&ouml;n &uuml;bersichtlich. Den Akku setzt ich nur dann nicht 0 wenn ich eine Umrechnungstabelle verwenden will. Und sieh mir bitte nach das ich diese for..next Geschichte nicht verwende. <BR> <BR>Matthias