mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LookUp-Tabellen (Assembler 8051-Befehlssatz)


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi !

also ich möchte gern ne look-up tab. verwenden....
allerdings hab ich bisher noch nix über soetwas gefunden


könnt ihr mir da weiterhelfen ?
(nur assembler und 8051-befehlssatz)
tutorial's oder ähnliches.....

DANKE

Autor: Andre Adrian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal auf www.8052.com im Forum, da wirst du bestimmt fündig.

Gruss

Andre

Autor: Thomas Strauß (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Table-LookUp-Tabelle mit 8051ern:

Tabelle im Programmspeicher: mov DPTR,#tabelle
               next:         clr A
                             movc A,@A+DPTR
                             ... verarbeiten Tabelleninhalt
                             inc DPTR
                              sjmp next

               tabelle:      db 'Hallo Welt'


oder falls die Tabelle kleiner ist:
                             mov B,#1
                nächst:      mov A,B
                             acall _tabelle
                             ... verarbeiten Tabelleninhalt
                             inc B
                             sjmp nächst


                 _tabelle:   movc A,@A+PC
                             reti
                             db 23,24,25,26,27,28,29,30,31,32

und falls B mit 0 initialisiert wird, wird der Operationscode des 
reti-Befehls als Tabellenwert geladen (22d oder 22h) und kann unter 
Umständen eben auch mit in die Tabelle einbezogen werden (Geheimtip?)


Tabellen im Datenspeicher können mit indizierter Adressierung
realisiert werden:
                      tabellenanfang equ 30h
                      tabellenende equ 40h
                      mov R0,#tabellenanfang
nächster-Eintrag:     mov A,@R0
                      ...Tabellenwert verarbeiten
                      cjne R0,#tabellenende,nächster-Eintrag


oder bei größeren Tabellen im ext. Datenspeicher:


                         mov DPTR,#tabellenanfang
             nächst:     movx A,@DPTR
                         ...Tabellenwert verarbeiten
                         inc DPTR
                         mov A,DPH
                         cjne A,#tabellenende-highbyte,nächst
                         mov A,DPL
                         cjne A,#tabellenende-lowbyte,nächst
                         ende

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.