Archiv verlassen und diese Seite im Standarddesign anzeigen : Felder in Assembler
Kann man in Assembler Felder anlegen?
(Benutze AVRMega 8 )
Nicht daß ich wüßte...
Meinst Du soetwas wie Array's?
Was möchtest Du erreichen?
Grundsätzlich ist die Verwaltung des Speichers dein Problem beim Assembler.
Erzähl' mal was Du machen willst.
Gruß, olfi
ich will strings vergleichen. damit ich aber nicht jede variable einzeln vergleichen muss würde ich ein string array erstellen und dann mit einer schleife abfragen. hab leider noch nicht soviel erfahrung mit assembler. hab jetzt hauptsächlich c++ programmiert.
Dazu kannst du die "indirekte Adressierung" verwenden, schaue Dir z.B. einmal die Befehle LD, ST an.
Nehme das Z- und das Y-Register, lasse die beiden auf die jeweils erste Speicherstelle zeigen wo sich deine Zeichenketten befinden.
Nun kommt deine Schleife:
Lade die Werte mit LD R16, Z+ und LD R17, Y+ und vergleiche sie miteinander (CP R16, R17),
sind sie ungleich kannst Du den Vergleich abbrechen, sonst nochmal (Verzweigungsbefehle BREQ oder BRNE)
wenn alle Bytes miteinander verglichen sind war der Vergleich erfolgreich.
Ein sehr kleine Programm :)
Ich hoffe, ich habe mich verständlich ausgedrückt.
Gruß, olfi
Und nicht vergessen, die Zeichenkette mit einer "0" zu beenden, also:
wort:
.dw "Ich bin eine Zeichenkette", 0
Sonst könnte es zu Problemen kommen.
Gruß
Thomas
wie viele Strings mit der länge von durchschnittlich 15 Zeichen kann man überhaupt speichern? Gibt es eine Möglichkeit diesen Speicher zu erweitern?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.