Archiv verlassen und diese Seite im Standarddesign anzeigen : Array Bascon - > Assembler und zurück
Wie bekomme Zugriff auf ein Array,das in Bascom definiert ist, in Assembler. Einzelne Bytes sind klar, aber ein Array???
Danke schon mal
Günther
Hallo haus51,
bei einem eindemensionalen Array sollten die Variablen eigentlich nacheinander angeordnet sein. Und im Bascom kann man ja unter "Show Compile Result" nachschauen, wo das Array anfängt.
MfG Mark
Das war auch meine Vermutung.
Nur die Ergebnisse sind leider ncht so wie erwartet.
Entweder mach nich noch was falsch oder es ist doch anders.
Es sollte doch so gehen:
.
For I = 1 To 255
Dcfbit(i) = I
Next
I = 97
L:
Cls
$asm
ldi r24, {i}
sts {meinfeld},r24
Incr I
$end Asm
Lcd "M = " ; Meinfeld
Goto L:
Tuts aber nicht
Günther
(na, soooo einfach geht's auch nicht, das ist ja ein RISC-Dödi)
Empfehlung:
https://www.roboternetz.de/wissen/index.php/Assembler_Einf%C3%BChrung_f%C3%BCr_Bascom-User
Daher hab ichs ja
Vereinfacht: i -> r24, r24 -> meinfeld, i increment, meinfeld anzeigen ->Schleife
Wo hakts??
d.h "I" ist auf der adresse 1 - 255 ?
Die for - next schleife brauch ich vorerst nicht, I = konstant auf irgendeinen Wert.
Günther
Am Besten wärs natürlich, wenn i als Zeiger auf Dcfbit(i) zeigen tät.
Bevor man sich mit solchen Dingen wie "Zugriff auf Bascom Arrays mit Assembler" sinnvoll beschäftigen kann fehlen ein paar nicht ganz unwichtige Daten.
1. Welchen Datentyp hat das einzelne Arrayfeld ?
2. Ist die Startadresse des Arrays bekannt ?
3. Wie sind Daten die breiter als 8 Bit sind im Speicher angeordnet ?
Grüße,
Hanni
1. byte
2. nein
3. im array nur 8 bit daten
Um es zu präzisieren: Die dcf77 Uhr liefert einen string mit 60 Werten (std. min, sek...) die verarbeite ich mit bascom zu realen werten. in ass aber eigentlich eleganter?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.