Hallo
wie definiere ich im ROM-Bereich des o.g. eine Tabelle mit 256 Einträgen a
16 bit?mit 256 * .dw ist es zu aufendig.
Robert
Hallo
wie definiere ich im ROM-Bereich des o.g. eine Tabelle mit 256 Einträgen a
16 bit?mit 256 * .dw ist es zu aufendig.
Robert
Hi
gen a=20
Irgendwie musst du die Werte doch angeben - also wirst du um das eintippen nicht herumkommen. Du kannst natuerlich mehrere Werte pro Zeile angeben: =2Edw 2,3,5,7,11,13,17,19,23
Wenn du zu faul bist, 256 Nullen einzutippen, kann ich dir ja vielleicht helfen:
table: =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 =2Edw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
SCNR. Bye, Thomas
a
.cseg table: .dw 0x00, 0x01, 0x02, 0x03, ... .dw 0x10, 0x11, 0x12, 0x13, ....
Schon mal in die Doku geschaut?
Georg
R.Freitag schrieb im Beitrag ...
Die Eintraege sollen ja wohl nicht alle 0 sein, also was sonst ausser DW ?
-- Manfred Winterhoff, reply-to invalid, use mawin at despammed.com homepage:
gen a
=2Erept 256 =2Ebyte 0x23,0x45 =2Eendr
w=FCrde ich beim avr-as bzw. gcc verwenden :-) Die Repeats und endr. lassen sich dabei auch beliebig schachteln.
Mir ist allerdings nicht klar welchen Inhalt das ganze dann haben soll :-)
Gru=DF Klaus
Ich habe eine Reihe von Unterprogrammen, die mit ijmp ausgeführt werden sollen. Der Befehl ijmp verzweigt dahin, wo das z-Register hinzeigt.
Der Inhalt des Z-Registers soll jetzt gebildet werden. Das bedeutet, dass ich eine Adresse aus einer Tabelle lesen muss.
Beispiel: ich will Befehl Nr 60 ausführen, dann lade ich 60, shifte das einmal nach links und addiere das Ergebnis des Shiftens (mit Cy) zum Tabellenoffset. Im adressiertem Feld steht dann die 16-bit-Sprungadresse, die in das Z-Register geladen wird.
Am einfachsten hätte ich gerne eine Tabelle mit Labeln der Unterprogramme.
Für Ideen dankbar
Robert
Warum schreibst du dann nicht einfach die Labels in die .dw Zeilen?
label1: ...
.dw label1
mfg Andreas
R.Freitag wrote:
l
en
ss
as
e,
amme.
Ja und warum das alles in manuellen Tabellen???? Das geht auch in C v=F6llig ohne Overhead:
void f1(void) { }
void f2(void) { }
void f3(void) { }
#define FLASH __attribute__ ((progmem)) =
void FLASH (*const ptr[] )() =3D { =
f1, f2, f3 };
int main() { int tt; =
for (tt=3D0; tt
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.